![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по работе с файлами. [D5, 2000]
pathfinder © (2006-09-27 16:10:00)Добрый день!
У меня такой вопрос: при работе с файлами (открытие, сохранение) например с xxx.LoadFromFile(filename); если файл находится в одной папке с приложением, то всегда ли будет корректным указание его имени без указания пути? Например при работе в старых операционках или еще в каких-то ситуациях это может привести к ошибке?
clickmaker (2006-09-27 17:06:00) [1]
> [15] pathfinder (27.09.06 17:04)
нет. Если только путь будет без слэшей.
Ты исходники функции-то глянь, сразу все поймешь
Игорь Шевченко (2006-09-27 17:04:00) [2]pathfinder (27.09.06 16:59) [12]
> Т.е. такая проверка или использование этих функций необходимы?
Необходимого в этой жизни вообще крайне мало. Использование желательно, не повредит уж точно.
pathfinder (2006-09-27 17:04:00) [3]
> clickmaker © (27.09.06 17:01) [13]
Вы имеете в виду, что когда файл в корневом каталоге? Я попробовал - слэш есть..
clickmaker (2006-09-27 17:01:00) [4]
> в каких случаях может не оказаться слэша при ExtractFilePath?
'C:text.txt'
pathfinder (2006-09-27 16:59:00) [5]
> Игорь Шевченко © (27.09.06 16:55) [11]
Т.е. такая проверка или использование этих функций необходимы? А в каких случаях может не оказаться слэша при ExtractFilePath?
Игорь Шевченко (2006-09-27 16:55:00) [6]pathfinder (27.09.06 16:41) [5]
> Я встречал в некоторых программах еще и проверку на наличие
> слэша в конце пути. Это имеет смысл?
IncludeTrailingPathDelimiter или IncludeTrailingBackslash делают эту проверку лишней.
Ketmar (2006-09-27 16:52:00) [7]>[7] pathfinder 27-Sep-2006, 16:42
>А в чем разница? между ParamSTR(0) и
>Application.ExeName?
а в том, что объекта Application может и не быть. а ParamStr(0) всегда с нами.
pathfinder (2006-09-27 16:47:00) [8]
> clickmaker © (27.09.06 16:42) [6]
Ну это да.. Там именно после ExtractFilePath еще была проверка.
clickmaker (2006-09-27 16:42:00) [9]
> Это имеет смысл?
сравни в хелпе
ExtractFilePath и ExtractFileDir
pathfinder (2006-09-27 16:42:00) [10]
> Весь в делах
А в чем разница? между ParamSTR(0) и Application.ExeName?
zdm (2006-09-27 16:42:00) [11]
> Весь в делах
Ты имеешь ввиду, ято я процетировал [1]-это не правда, у меня кстати почему-то реально с запазданием работет форум.
pathfinder (2006-09-27 16:41:00) [12]
> clickmaker ©
> Palladin ©
> zdm ©
Спасибо!
Попутно возник еще вопрос) Я встречал в некоторых программах еще и проверку на наличие слэша в конце пути. Это имеет смысл?
Весь в делах (2006-09-27 16:39:00) [13]
> zdm
LoadFromFile(extractfilepath(ParamSTR(0))+'qqq.txt')
IMHO, вот стопроцентно рабочий вариант
zdm (2006-09-27 16:14:00) [14]LoadFromFile(extractfilepath(Application.ExeName)+'qqq.txt')
стопроцентов рабочий вариант с перестраховкой
Palladin (2006-09-27 16:13:00) [15]
> то всегда ли будет корректным указание его имени без указания пути?
нет, если неуказывать путь, файл будет искаться в текущей рабочей директории, и это совсем не обязательно будет директория в которой находится исполняемый файл
clickmaker (2006-09-27 16:11:00) [16]
> всегда ли будет корректным указание его имени без указания
> пути?
нет. Текущий путь может смениться в процессе работы.
Лучше всегда ExtractFilePath(Application.ExeName) + FileName