Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизВопрос по работе с файлами. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c