| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Чтение файла |
| Автор: CynicRus 14.6.2012, 15:53 | ||
Приветствую, господа. Задача тривиальна, прочитать файл. Читаю:
И файл не находится, хотя лежит в каталоге рядом с программой! Что я не так делаю? |
| Автор: Qu1nt 14.6.2012, 15:58 |
| Задавай абсолютный путь. |
| Автор: CynicRus 14.6.2012, 16:05 | ||
Спасибо, понял. Обошелся помощью
|
| Автор: CynicRus 14.6.2012, 16:23 |
| Ан нет, не обошелся. Показывает мне полный путь к файлу, и говорит мол - файл не найден. Хотя он на месте там лежит. |
| Автор: XperT 14.6.2012, 17:45 |
| А если в showmessage закинуть, что пишет, правильный путь? Просто обычно так не бывает, что проводник файл видит, а программа нет. А вообще, кинули бы вы исходник проекта. |
| Автор: CynicRus 14.6.2012, 18:40 |
| http://rghost.ru/38663251 Да, путь правильный пишет. Я понимаю, что обычно не бывает-))) Честно говоря - у самого подобное впервые-) |
| Автор: XperT 14.6.2012, 19:38 | ||||
Вот эта функция:
Как минимум правильно делать так:
Но лучше так не делать Вам абсолютно не нужно делать глобальные переменные, тем более такие как Params. Это классическая локальная переменная: создаете когда нужно загрузить содержимое файла и проанализировать его, а в конце работы функции освобождаете память. В вашем же случае утечки неизбежны, никакого контроля за освобождение памяти нету. Да и таким подходом вы банально усложняете себе жизнь, эта тема тому пример. |
| Автор: Данкинг 14.6.2012, 19:45 |
| А разве слеш перед rsc.prm не надо? |
| Автор: CynicRus 14.6.2012, 19:46 | ||
| На то он и учебный код-) Но тем не менее - файл то он почему не находит?-)) В первоначальном варианте - и было все с локальной переменной. Просто, как в любом тестовом проекте - пробуются разные варианты, потому вот такая хрень и получается-))) Спасибо, поправлю-) Но вопрос то остаётся, почему файл то не грузится, хотя путь верный?-) Добавлено через 4 минуты и 8 секунд
Без слеша показывает правильный путь, со слешем...тоже правильный показывает. Но тем не менее - очень ругается что файл найти ему не под силу. |
| Автор: Keeper89 14.6.2012, 19:59 |
| Данкинг, ExtractFilePath со слешем возвращает. Добавлено через 1 минуту и 12 секунд CynicRus, окно отладчика с значениями переменных и наличием файла в проводнике приведи плиз. |
| Автор: CynicRus 14.6.2012, 20:13 |
![]() |
| Автор: Qu1nt 14.6.2012, 20:23 |
| Вероятно, в имени файла используется русская буква «c». |
| Автор: CynicRus 14.6.2012, 20:27 | ||
Ё-моё. А действительно. Ума не приложу - каким образом,так получилось, но Вы правы. Спасибо |
| Автор: Данкинг 14.6.2012, 20:42 |
Разве? А я всегда слеш ставлю. |
| Автор: Qu1nt 14.6.2012, 21:05 | ||
Данкинг, гораздо удобнее использовать класс TPath.
|
| Автор: northener 14.6.2012, 21:10 |
Значим вам больше нравится функция ExtractFileDir |