![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Когда программа ищет файл в своём каталоге?
AssignFile © (2005-12-06 01:38:00)Когда программа ищет файл в своём каталоге?
например, имеем
Assign(F,'file.txt');
Всегда ли файл file.txt будет искаться в текущем каталоге или надо полный путь прописывать (что неудобно) или использовать Application.ExeName, что бы получить путь?
DD (2005-12-06 12:05:00) [1]GetCurrentDir - то, что надо
DD (2005-12-06 12:04:00) [2]Спасибо!
Anatoly Podgoretsky (2005-12-06 11:53:00) [3]DD (06.12.05 11:41) [6]
Рабочая папка программы - это текущая папка и она имеет право меняться по ходу работы программы.
Хинт (2005-12-06 11:51:00) [4]Первым делом при написании почти любой программы объявляю глобальную переменную filedir (такое уж прижилось название =) и инициализирую её в OnCreate:
filedir:=ExtractFilePath(paramstr(0));
Плохиш (2005-12-06 11:43:00) [5]
> DD (06.12.05 11:41) [6]
> А если программа, например, запускается с сервера, а в ярлыке
> для этой проге в качестве раб. папки прописан некий другой
> путь? как получить эту рабочую папку программы?
getcurrentdir сразу после запуска.
> AssignFile (06.12.05 01:38)
> Когда программа ищет файл в своём каталоге?
А что-такое "свой каталог"?
DD (2005-12-06 11:41:00) [6]А если программа, например, запускается с сервера, а в ярлыке для этой проге в качестве раб. папки прописан некий другой путь? как получить эту рабочую папку программы?
Anatoly Podgoretsky (2005-12-06 09:17:00) [7]AssignFile (06.12.05 01:38)
Файл один, а каталогов много, если сумеешь обеспечить перемещение файла на ходу при смене текущего каталога, то будет всегда.
Германн (2005-12-06 03:31:00) [8]2 AssignFile (06.12.05 03:20) [3]
Естественно, OpenDialog меняет "текущий каталог". А если нужно искать файл в каталоге, где содержится файл с программой, то тут только ExtractFilePath(Application.ExeName).
AssignFile (2005-12-06 03:20:00) [9]Спасибо всем, просто как-то давно я использовал OpenDialog, и после его использования программа искала файл с настройками в другом каталоге (из которого OpenDialog открывал файл), поэтому приходилось испльзовать Application.ExeName.
Германн (2005-12-06 02:24:00) [10]При использовании AssignFile(F,'file.txt')файл всегдабудет искаться сначала в "текущем каталоге", а затем в тех каталогах, которые данная ОС использует для таких поисков. Имхо. А уж "что надо делать" зависит от задачи. Имхо.
Fay (2005-12-06 02:19:00) [11]2 AssignFile (06.12.05 1:38)
> Всегда ли файл file.txt будет искаться в текущем каталоге
Всегда в текущем. Узнать его можно у GetCurrentDirectory.
> или надо полный путь прописывать (что неудобно)
ЧТО именно "неудобно" ?