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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2008, 23:38   #1
Ermiss
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 62
По умолчанию Как использовать команду Try?

Вобщем как ею пользоваться?
Смысл такой

try условие if выполняеться then действие1 else действие2.

Я вот только не знаю как его правильно записывать. Т.е. надо попробовать одно условие, если выполняеться то действие 1 иначе действие 2!
Ermiss вне форума Ответить с цитированием
Старый 31.01.2008, 23:41   #2
Ermiss
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 62
По умолчанию

Для конкретики, возьмем этот пример:

Try table1.Filter:='Model='+''''+DBedit 1.Text+'''' if выполняеться then table1.post else table1.last;

Вот этот пример как правильно можно записать?
Ermiss вне форума Ответить с цитированием
Старый 31.01.2008, 23:57   #3
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Вообще-то try - это оператор перехвата исключений.... Я не знаю, может в дельфи что-то поменялось в последнее время, но никакого отношения к if он не имеет....
B_N вне форума Ответить с цитированием
Старый 31.01.2008, 23:58   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Блоки Try... finaly(except) предназначены для обработки вероятной ошибки в неком участке кода (во втором случае) и для выполнения неких окончательных действий (кпримеру освобождения памяти) в втором.
Примеры:
try
im:=timage.create(self);
...
finaly
im.free;
end;

в этом случае по окончанию выполнения блока комманд выполнится комманда (блок комманд) идущая после ключевого слова Finaly. ОДнако если в блоке комманд между try и finaly произойдет исключение, то финальный блок не выполниться.
Для обработки подобных случаев применяется блок try...except :
try
...
...
excpet
on E.<тип исключения>: <что сделать>
on E.<другой тип исключения>: <что сделать>
end;
разумеется не обязательно обрабатывать все возможные типы исключений, достаточно написать просто
try
....
except
showmessage('ПРоизошла ошибка');
end;

В купе же эти два блока горадо удобней:
try
try
....
....
....
finaly
....
end;
except
...
...
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 01.02.2008, 00:01   #5
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

вообщето синтаксис такой:
try
// предполагаемое действие
except
//действие при ошибке
end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 01.02.2008, 00:27   #6
MagicAlex
 
Регистрация: 01.02.2008
Сообщений: 5
По умолчанию

Про try уже всё рассказали
Что касается твоей проблемы:
Цитата:
Т.е. надо попробовать одно условие, если выполняеться то действие 1 иначе действие 2!
Как насчёт такого
if условие if выполняется then условие1 else условие2
MagicAlex вне форума Ответить с цитированием
Старый 01.02.2008, 08:18   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
if выполняется
Приведи пример, эффективнее try?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2008, 09:21   #8
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

if (Условие1) and (Условие2) then ... else...
Почему бы так не сделать????
aesoem вне форума Ответить с цитированием
Старый 01.02.2008, 09:26   #9
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
Лампочка

Цитата:
Сообщение от MagicAlex Посмотреть сообщение
Про try уже всё рассказали
Что касается твоей проблемы:

Как насчёт такого
if условие if выполняется then условие1 else условие2
TRY - НЕ РАБОТАЕТ ПРИ ЗАПУСКЕ С DELPHI!

Пример: В MEMO1 загружаем txt файл. Если его нет произойдёт ошибка!

Try
memo1.Lines.LoadFromFile('C:\xxxx.t xt'); \\ Тут если файла нет то программа вылетит!

except
Form2.show; \\ выводим сообщение об ошибке или что нибуть другое

end;




ВСЁ !! А с finally тебе подробно рассказали на примере с очисткой переменной!
aesoem вне форума Ответить с цитированием
Старый 01.02.2008, 09:33   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
TRY - НЕ РАБОТАЕТ ПРИ ЗАПУСКЕ С DELPHI!
поясните.


Цитата:
Пример: В MEMO1 загружаем txt файл. Если его нет произойдёт ошибка!
Try
memo1.Lines.LoadFromFile('C:\xxxx.t xt'); \\ Тут если файла нет то программа вылетит!

except
Form2.show; \\ выводим сообщение об ошибке или что нибуть другое

end;
цель повтора объяснения ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Собираю команду mig-site Gamedev - cоздание игр: Unity, OpenGL, DirectX 20 01.02.2010 17:01
Как послать команду AngelOfDeath Работа с сетью в Delphi 2 10.04.2008 08:23
Набираю команду chopa Gamedev - cоздание игр: Unity, OpenGL, DirectX 17 03.10.2007 13:05
Подскажите команду kayman БД в Delphi 0 14.09.2007 13:11