| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Существование файла |
| Автор: Манкуни@нец 17.5.2005, 10:45 |
| Как можно узнать, существует ли файл, при чём мне нужен не только текстовый но и рисунок. Знаю что наверное просто, но ненашёл. |
| Автор: _hunter 17.5.2005, 10:50 |
| FileExists() |
| Автор: Satana 17.5.2005, 10:53 | ||
можешь попробовать открыть его на чтение и если IOResult<>0 то файла нет, а если равен 0 то файл имеется.
|
| Автор: s-mike 17.5.2005, 11:01 | ||
Хм, а смысл? |
| Автор: ~FoX~ 17.5.2005, 12:50 |
| Путь к файлу и его имя известены? Ели да, то FindFirs, FindNext и поехали. |
| Автор: s-mike 17.5.2005, 13:03 | ||
FileExists это и делает. |
| Автор: EKoshelev 17.5.2005, 13:07 |
| ~FoX~ А если нет??? КАК БЫТЬ??? |
| Автор: s-mike 17.5.2005, 13:09 | ||
Тогда FindFirst вернет код ошибки. |
| Автор: SoWa 17.5.2005, 13:36 |
| Попробуй обратиться к нему из tru..excepted |
| Автор: Medved 17.5.2005, 13:49 | ||||
не надо изобретать велосипед, просто воспользуйтесь как Вам уже посоветовали
|
| Автор: Girder 17.5.2005, 15:38 | ||
А вот с помощью ентого кода можно проверить... даже такое: Существовал ли файл?
PS: |
| Автор: Poseidon 17.5.2005, 20:26 |
| Girder http://rulezman.multik.org/3.gif |
| Автор: Satana 17.5.2005, 21:15 | ||||
шо значит а смысл? требовалось определить наличие файла? вот и способ. В этом то и смысл |
| Автор: s-mike 17.5.2005, 23:37 | ||
Я хотел бы узнать преимущества. А то мне кажется, что тот способ все равно, что ехать на Подол через Борщаговку (киевляне поймут). Кроме того, насколько я понимаю, открытие файла будет длится дольше, чем просто проверка его наличия в каталоге. |
| Автор: drinkOut 17.5.2005, 23:43 | ||||||
|
| Автор: s-mike 17.5.2005, 23:49 | ||
drinkOut
|
| Автор: drinkOut 18.5.2005, 00:01 |
| Точняк! |
| Автор: jack128 18.5.2005, 00:20 | ||
Satana
если другое приложение открыло файл эксклюзивно, то IOResult <> 0, а файл существует ;) |
| Автор: Satana 18.5.2005, 07:02 |
| s-mike ну вот этого не знаю, у меня кстати схожий проект есть, поетому пользуюсь тем что предложил _hunter ибо до этого я не знал другого способа кроме того что я предлагал выше. |
| Автор: ~FoX~ 18.5.2005, 08:05 | ||
А если нет, то тогда обсалютно все равно существут он или нет. |
| Автор: Fantasist 20.5.2005, 23:48 | ||
Аааа! Я валялся. Надо в FAQ включить. |
| Автор: bagira 15.6.2005, 21:48 | ||
Происходит что-то странное - файл на диске точно есть (правда пустой); проверяю пошагово - IOResult выдает не 0 а 32 - я уже второй день так бьюсь Мне нужно проверять - если файл есть, то открыть и добавить запись в конце его. Если нет, создать новый, и тоже добавить туда запись. |
| Автор: Alex 15.6.2005, 22:40 |
| bagira, а FileExists не проще воспользоваться? |
| Автор: bagira 15.6.2005, 23:11 | ||
Попробую завтра... Если найду. |
| Автор: bagira 17.6.2005, 20:04 |
| Спасибо! С FileExists - все получилось, как надо! Но все-таки странно, почему же Reset и IOResult не дали нужного эффекта? Ведь в принципе, тоже все правильно? |
| Автор: Yanis 17.6.2005, 20:36 | ||||
Не знаю где тут ошибка, но код 32 это вроде:
|
| Автор: p0s0l 17.6.2005, 22:50 | ||||||
|
| Автор: bagira 17.6.2005, 23:10 | ||
p0s0l Спасибо, возьму на вооружение. |
| Автор: RA 18.6.2005, 00:09 | ||
Ну раз так тогда попробуй на всякий случай после AssignFile написать FileMode:=$0030; |