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

Вниз

Вопрос по работе с файлами.   Найти похожие ветки 

 
pathfinder   (2006-09-27 16:10) [0]

Добрый день!
У меня такой вопрос: при работе с файлами (открытие, сохранение) например с xxx.LoadFromFile(filename); если файл находится в одной папке с приложением, то всегда ли будет корректным указание его имени без указания пути? Например при работе в старых операционках или еще в каких-то ситуациях это может привести к ошибке?


 
clickmaker ©   (2006-09-27 16:11) [1]


> всегда ли будет корректным указание его имени без указания
> пути?

нет. Текущий путь может смениться в процессе работы.
Лучше всегда ExtractFilePath(Application.ExeName) + FileName


 
Palladin ©   (2006-09-27 16:13) [2]


> то всегда ли будет корректным указание его имени без указания пути?


нет, если неуказывать путь, файл будет искаться в текущей рабочей директории, и это совсем не обязательно будет директория в которой находится исполняемый файл


 
zdm ©   (2006-09-27 16:14) [3]

LoadFromFile(extractfilepath(Application.ExeName)+"qqq.txt")
стопроцентов рабочий вариант с перестраховкой


 
Весь в делах   (2006-09-27 16:39) [4]


> zdm

LoadFromFile(extractfilepath(ParamSTR(0))+"qqq.txt")
IMHO, вот стопроцентно рабочий вариант


 
pathfinder   (2006-09-27 16:41) [5]


> clickmaker ©


> Palladin ©  


> zdm ©


Спасибо!
Попутно возник еще вопрос) Я встречал в некоторых программах еще и проверку на наличие слэша в конце пути. Это имеет смысл?


 
clickmaker ©   (2006-09-27 16:42) [6]


> Это имеет смысл?

сравни в хелпе
ExtractFilePath и ExtractFileDir


 
pathfinder   (2006-09-27 16:42) [7]


> Весь в делах


А в чем разница? между ParamSTR(0) и Application.ExeName?


 
zdm ©   (2006-09-27 16:42) [8]


> Весь в делах  

Ты имеешь ввиду, ято я процетировал [1]-это не правда, у меня кстати почему-то реально с запазданием работет форум.


 
pathfinder   (2006-09-27 16:47) [9]


> clickmaker ©   (27.09.06 16:42) [6]


Ну это да.. Там именно после ExtractFilePath еще была проверка.


 
Ketmar ©   (2006-09-27 16:52) [10]

>[7] pathfinder 27-Sep-2006, 16:42
>А в чем разница? между ParamSTR(0) и
>Application.ExeName?
а в том, что объекта Application может и не быть. а ParamStr(0) всегда с нами.


 
Игорь Шевченко ©   (2006-09-27 16:55) [11]

pathfinder   (27.09.06 16:41) [5]


> Я встречал в некоторых программах еще и проверку на наличие
> слэша в конце пути. Это имеет смысл?


IncludeTrailingPathDelimiter или IncludeTrailingBackslash делают эту проверку лишней.


 
pathfinder   (2006-09-27 16:59) [12]


> Игорь Шевченко ©   (27.09.06 16:55) [11]


Т.е. такая проверка или использование этих функций необходимы? А в каких случаях может не оказаться слэша при ExtractFilePath?


 
clickmaker ©   (2006-09-27 17:01) [13]


> в каких случаях может не оказаться слэша при ExtractFilePath?

"C:text.txt"


 
Игорь Шевченко ©   (2006-09-27 17:04) [14]

pathfinder   (27.09.06 16:59) [12]


> Т.е. такая проверка или использование этих функций необходимы?


Необходимого в этой жизни вообще крайне мало. Использование желательно, не повредит уж точно.


 
pathfinder   (2006-09-27 17:04) [15]


> clickmaker ©   (27.09.06 17:01) [13]


Вы имеете в виду, что когда файл в корневом каталоге? Я попробовал - слэш есть..


 
clickmaker ©   (2006-09-27 17:06) [16]


> [15] pathfinder   (27.09.06 17:04)

нет. Если только путь будет без слэшей.
Ты исходники функции-то глянь, сразу все поймешь



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

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

Наверх




Память: 0.5 MB
Время: 0.051 c
3-1155563743
Patrick
2006-08-14 17:55
2006.10.15
Database Links в Oracle


6-1148055633
Дмитрий Чаплинский
2006-05-19 20:20
2006.10.15
Можно ли отправлять потоковые данные используя метод POST


15-1158741443
Max Zyuzin
2006-09-20 12:37
2006.10.15
Формирование отчетов. Выбор средства формирования


2-1159176559
mfender
2006-09-25 13:29
2006.10.15
AccesViolation в XML


2-1159178234
Footballer
2006-09-25 13:57
2006.10.15
Как програмно записать файлы на диск?