Главная страница
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.055 c
2-1159532700
zac
2006-09-29 16:25
2006.10.15
Зарисовка сегмента круга


2-1159351659
John69
2006-09-27 14:07
2006.10.15
непонятки при интенсивной работе со строками


2-1159491560
Maveric AM10m
2006-09-29 04:59
2006.10.15
IRC клиент


15-1158669715
VitV
2006-09-19 16:41
2006.10.15
Удалил Дэлфи через Шифт+Дел.


15-1159280206
Stexen
2006-09-26 18:16
2006.10.15
C++ LIB