Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Относительные пути в программе и Directory List Box / 6 сообщений из 6, страница 1 из 1
30.10.2003, 11:57
    #32310079
lek.sys
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Относительные пути в программе и Directory List Box
В моей программе повсеместно используются относительные пути к файлам (т.е, например, вместо C:/Program Files/test.txt в программе просто указано test.txt и программа ищет test.txt в той папке, где лежит exe-файл программы). Появилась необходимость добавить в прогу Directory List Box. И вот какая фишка: при изменении дирректории в Directory List Box относительный путь тоже меняется (т.е теперь программа ищет test.txt не в той папке, где она лежит, а в той, которая указанна в Directory List Box). Кто-нибудь знаком с таким глюком и знает, как его исправить?
...
Рейтинг: 0 / 0
30.10.2003, 12:06
    #32310109
Song
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Относительные пути в программе и Directory List Box
А чем вызвана необходимость использования именно TDirectoryListBox? SelectDirectory() не устраивает?

--
Прежде чем сказать "Невозможно", подумай, прав ли ты?!
...
Рейтинг: 0 / 0
30.10.2003, 12:22
    #32310141
lek.sys
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Относительные пути в программе и Directory List Box
В принципе, конечно, можно, но SelectDrectory-форма подпортит весь дизайн... Да и неудобная она...
...
Рейтинг: 0 / 0
30.10.2003, 12:38
    #32310175
Song
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Относительные пути в программе и Directory List Box
Это нужно VCL править, потому что

Код:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure TDirectoryListBox.SetDir(const NewDirectory: string);
begin
     { go to old directory first, in case of incomplete pathname
       and curdir changed - probably not necessary }
  if DirectoryExists(FDirectory) then
    ChDir(FDirectory);
  ChDir(NewDirectory);     { exception raised if invalid dir }
  GetDir(0, FDirectory);   { store correct directory name }
  BuildList;
  Change;
end;


Ну или запоминай текущую директорию перед вызовом диалога, а потом восстанавливай. Чем не вариант?
...
Рейтинг: 0 / 0
30.10.2003, 13:05
    #32310231
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Относительные пути в программе и Directory List Box
>> В моей программе повсеместно используются относительные пути к файлам
По-моему, неправильный подход.
При запуске записывай в глобальную переменную путь к папке с твоим exe'шником:
Path:=ExtractFilePath(Application.ExeName);
а потом? где нужно используй Path + 'test.txt'
Это избавит от проблем с текущей директорией.
...
Рейтинг: 0 / 0
30.10.2003, 13:09
    #32310238
Song
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Относительные пути в программе и Directory List Box
Нет, я считаю, что неправильный менять относительный путь.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Относительные пути в программе и Directory List Box / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]