Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2010, 15:47   #1
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию использования TRY...EXCEPT. on efilererror do

всем привет.моя прога обращается к файлу,например E:\Мои документы\Документы...итд но так как файл может отсутствовать я использую блоки TRY...EXCEPT
Код:
try
        s:=('E:\Мои документы\Документы...');
        except
         on efilererror do;
        end;
но ошибка все равно вылазиет.не удалось открыть,путь не найден итд.но почему так?что я не так делаю?как сделать чтоб при отсутствии файла или даже если путь не правильный то ошибка все равно не вылезала?
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 05.04.2010, 15:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
try
 Memo1.Lines.LoadFromFile('E:\Мои документы\Документы...');//попытка обращения к файлу.
except

end;
вне Делфи ошибку не покажет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.04.2010, 16:06   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Код:
Try
 Memo1.Lines.LoadFromFile('E:\Мои документы\Документы...'); //
Except
  On E:Exception do
  Messagedlg('Найдено иключение класса: '+E.ClassName+' С сообщением: '+E.Message,mtError,[mbOK],0);
Лучше использовать
Код:
try
...
except
On E:Exception do
...
end;
не всегда вылазит то о чем успел подумать.
Человек_Борща вне форума Ответить с цитированием
Старый 05.04.2010, 16:11   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если вам безразницы какая ошибка то не нужно никаких on ... do
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.04.2010, 23:45   #5
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

я и так и сяк попробовал но ошибка по любому вылазиет,кэнт опен файл,системе не удается найти указанный путь,что же это такое.у меня rad studio 2007-code gear усли это важно...
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 05.04.2010, 23:50   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

if FileExists уже перестал работать ?
BOBAH13 вне форума Ответить с цитированием
Старый 06.04.2010, 00:03   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

betirsolt, по вашему коду вы в блоке try присваиваете текстовой переменке значение, а не открываете файл
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.04.2010, 00:22   #8
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

это так и не прокатило у меня но я решил проблему с помощью FileExists вроде работает....а какая разница что я файл открываю что просто присваиваю путь??ошибки то все равно не должно быть.всем спасибо
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны

Последний раз редактировалось betirsolt; 06.04.2010 в 00:23. Причина: забыл поплагодарить
betirsolt вне форума Ответить с цитированием
Старый 06.04.2010, 01:43   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

большая разница.
Код:
 s:=('E:\Мои документы\Документы...');
это не файловая операция, а операция со строками
Код:
Memo1.LoadFromFile('E:\Мои документы\Документы...');
этот метод при своей работе работает с файлами, так что его можно назвать файловой операцией
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.04.2010, 10:31   #10
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
ошибки то все равно не должно быть.
ошибки не будет если запускать программу ВНЕ среды Delphi
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимальное использования оперативной памяти Bagirli Общие вопросы Delphi 8 24.01.2010 09:15
Создание проекта без использования БД swiks PHP 7 17.06.2009 13:24
Cтатистика использования браузеров Air Свободное общение 17 08.02.2009 23:33
Огранок использования ПО SKS Общие вопросы Delphi 4 05.01.2009 14:28
Право использования AlphaControls! Xenofibrius Компоненты Delphi 2 20.04.2008 16:08