Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

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

 
AssignFile   (2005-12-06 01:38) [0]

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

Assign(F,"file.txt");

Всегда ли файл file.txt будет искаться в текущем каталоге или надо полный путь прописывать (что неудобно) или использовать Application.ExeName, что бы получить путь?


 
Fay ©   (2005-12-06 02:19) [1]

2 AssignFile   (06.12.05 1:38)
> Всегда ли файл file.txt будет искаться в текущем каталоге
Всегда в текущем. Узнать его можно у GetCurrentDirectory.

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


 
Германн ©   (2005-12-06 02:24) [2]

При использовании AssignFile(F,"file.txt") файл всегда будет искаться сначала в "текущем каталоге", а затем в тех каталогах, которые данная ОС использует для таких поисков. Имхо. А уж "что надо делать" зависит от задачи. Имхо.


 
AssignFile   (2005-12-06 03:20) [3]

Спасибо всем, просто как-то давно я использовал OpenDialog, и после его использования программа искала файл с настройками в другом каталоге (из которого OpenDialog открывал файл), поэтому приходилось испльзовать Application.ExeName.


 
Германн ©   (2005-12-06 03:31) [4]

2 AssignFile   (06.12.05 03:20) [3]
Естественно, OpenDialog меняет "текущий каталог". А если нужно искать файл в каталоге, где содержится файл с программой, то тут только ExtractFilePath(Application.ExeName).


 
Anatoly Podgoretsky ©   (2005-12-06 09:17) [5]

AssignFile   (06.12.05 01:38)  
Файл один, а каталогов много, если сумеешь обеспечить перемещение файла на ходу при смене текущего каталога, то будет всегда.


 
DD   (2005-12-06 11:41) [6]

А если программа, например, запускается с сервера, а в ярлыке для этой проге в качестве раб. папки прописан некий другой путь? как получить эту рабочую папку программы?


 
Плохиш ©   (2005-12-06 11:43) [7]


> DD   (06.12.05 11:41) [6]
> А если программа, например, запускается с сервера, а в ярлыке
> для этой проге в качестве раб. папки прописан некий другой
> путь? как получить эту рабочую папку программы?

getcurrentdir сразу после запуска.

> AssignFile   (06.12.05 01:38)  
> Когда программа ищет файл в своём каталоге?

А что-такое "свой каталог"?


 
Хинт ©   (2005-12-06 11:51) [8]

Первым делом при написании почти любой программы объявляю глобальную переменную filedir (такое уж прижилось название =) и инициализирую её в OnCreate:
filedir:=ExtractFilePath(paramstr(0));


 
Anatoly Podgoretsky ©   (2005-12-06 11:53) [9]

DD   (06.12.05 11:41) [6]
Рабочая папка программы - это текущая папка и она имеет право меняться по ходу работы программы.


 
DD   (2005-12-06 12:04) [10]

Спасибо!


 
DD   (2005-12-06 12:05) [11]

GetCurrentDir - то, что надо



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
2-1134136713
fast2
2005-12-09 16:58
2005.12.25
Как вынуть из таблицы наименования полей?


14-1133729174
matt
2005-12-04 23:46
2005.12.25
Симплекс метод


4-1130413470
V-A-V
2005-10-27 15:44
2005.12.25
Вызов справки из chm файла


5-1118752459
tyo
2005-06-14 16:34
2005.12.25
CheckListBox c 3 состояниями


14-1133624702
GudzonXXX
2005-12-03 18:45
2005.12.25
Интернет