MessageDlg mtConfirmation Вопрос по этой теме.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

MessageDlg mtConfirmation Вопрос по этой теме.

Сообщение midisa » 18.06.2013 03:09:33

Везде встречаю один и тот же пример:

Код: Выделить всё
begin
  if MessageDlg('Question', 'Do you wish to Execute?', mtConfirmation,
   [mbYes, mbNo, mbIgnore],0) = mrYes
  then { Execute rest of Program };
end;


а как прервать выполнение функции и вернуться в исходную точку?
Аналог в Сях:
Код: Выделить всё
if(3 < 5)
{
return; // Прервать выполнение и вернуться туда откуда зашли.
}

В паскале есть такое?
Для тех кто не понял перефразирую.

Код: Выделить всё
begin
  if MessageDlg('Question', 'Do you wish to Execute?', mtConfirmation,
   [mbYes, mbNo, mbIgnore],0) = mrYes
  then
// Здесь код программы может быть большой. Чтобы не громоздить лишнего, проще поменять mrYes на mrNo и вывалиться из процедуры.
end;


Как звучит инструкция которая прерывает выполнение процедуры?
midisa
новенький
 
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk

Re: MessageDlg mtConfirmation Вопрос по этой теме.

Сообщение Vadim » 18.06.2013 03:23:04

midisa
Отдельно описанная процедура\функция всегда возвращается на следующую (после вызова) строку программы, если только в процедуре\функции не случилось чего-то экстраординарного. Даже в Сях. ;)
Видимо Вам стоит посидеть, подумать над формулировкой вопроса, чтобы он был понятен ещё кому-нибудь, кроме Вас. :) Поверьте, я не издеваюсь. Как только Вы научитесь фрмулировать вопросы чётким и однозначным для понимания способом, Вам даже не придётся их кому-то задавать - ответы придут сами собой. ;)
return в Сях не прерывает выполнение функции. Служебное слово return означет, что функция выполнила всё, что от неё требовалось и возвратила тот результат, который от неё ожидался.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: MessageDlg mtConfirmation Вопрос по этой теме.

Сообщение SeZuka » 18.06.2013 07:21:20

Я так понимаю вот это вам нужно?
Код: Выделить всё
begin
  if MessageDlg('Question', 'Do you wish to Execute?', mtConfirmation,
   [mbYes, mbNo, mbIgnore],0) = mrNo
  then Exit;
end;
SeZuka
постоялец
 
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Re: MessageDlg mtConfirmation Вопрос по этой теме.

Сообщение midisa » 18.06.2013 08:52:55

Уважаемый SeZuka, большое Вам спасибо, тема закрыта.
midisa
новенький
 
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 242

Рейтинг@Mail.ru