Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.041 c
15-1158952787
PHPDeveloper
2006-09-22 23:19
2006.10.15
Хостинг MySQL+PHP


15-1158311409
AlexKniga
2006-09-15 13:10
2006.10.15
ECDL - будет ли плюсом в жизни? Или так, красивая бумашка?


10-1124710934
KA_
2005-08-22 15:42
2006.10.15
Не могу выделить страницу в Word е


4-1148978503
sicilla
2006-05-30 12:41
2006.10.15
Не могу запустить файл


5-1141114827
Creative
2006-02-28 11:20
2006.10.15
ссылка на объект в строке StringGrid`а





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский