Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Когда программа ищет файл в своём каталоге?


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.

> или надо полный путь прописывать (что неудобно)
ЧТО именно "неудобно" ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо