OpenDialog/SaveDialog и переменная окружения $HOME

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
pensioner
новенький
Сообщения: 13
Зарегистрирован: 02.11.2009 20:02:28

OpenDialog/SaveDialog и переменная окружения $HOME

Сообщение pensioner »

Как задать переменную окружения $HOME в OpenDialog/SaveDialog?

Пробовал через ИО и через unit1.lfm, при открытии/сохранении выдаёт ошибки.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

а ~/ непробавали :wink:
pensioner
новенький
Сообщения: 13
Зарегистрирован: 02.11.2009 20:02:28

Сообщение pensioner »

если прописываю просто ~/ или просто $HOME - то без ошибок (но и без путей), а если прописать ~/и_ещё/куда_то, то с ошибкой вылетает.
Не удалось отобразить содержимое папки
Произошла ошибка при получении информации о "/home/sergey/sergey/test/~/test": Нет такого файла или каталога
Последний раз редактировалось pensioner 07.11.2009 00:32:48, всего редактировалось 2 раза.
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Код: Выделить всё

  OpenDialog1.InitialDir := '/home/xxx';


В Object Inspector свойство InitialDir
pensioner
новенький
Сообщения: 13
Зарегистрирован: 02.11.2009 20:02:28

Сообщение pensioner »

Logo писал(а):

Код: Выделить всё

  OpenDialog1.InitialDir := '/home/xxx';

В Object Inspector свойство InitialDir


На другом компьютере.., да даже под другим юзером ошибка вылетит.
Тогда уж лучше ~/.

Странно и жаль что с $HOME не работает ((
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

pensioner писал(а):
Logo писал(а):

Код: Выделить всё

  OpenDialog1.InitialDir := '/home/xxx';

В Object Inspector свойство InitialDir


На другом компьютере.., да даже под другим юзером ошибка вылетит.
Тогда уж лучше ~/.

Странно и жаль что с $HOME не работает ((

Под какой системой делаете?
Вам необходимо, чтобы при запуске под разными пользователями открывался его домашний каталог?
pensioner
новенький
Сообщения: 13
Зарегистрирован: 02.11.2009 20:02:28

Сообщение pensioner »

Желательно, чтобы под разными юзерами программа при открытии/сохранении обращалась в определённую (ранее созданную) папку в домашнем каталоге.
система в подписи ;)
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Ну наверное так:

Код: Выделить всё

unit FileUtil;
......
OpenDialog1.InitialDir := GetEnvironmentVariableUTF8('HOME') + '/Develop';

>система в подписи ;)
Не обратил внимание :oops:

Добавлено спустя 3 минуты 51 секунду:
Хотя я пользуюсь чисто нашими средствами:

Код: Выделить всё

unit BaseUnix;
FpGetEnv('HOME')
pensioner
новенький
Сообщения: 13
Зарегистрирован: 02.11.2009 20:02:28

Сообщение pensioner »

Logo,спасибо большое :)
работает))
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Пожалуйста. Рад, что помог.
pensioner
новенький
Сообщения: 13
Зарегистрирован: 02.11.2009 20:02:28

Сообщение pensioner »

FpGetEnv - это как раз то что мне и нужно было: переменные окружения))

Ещё раз спасибо))
Ответить