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

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

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

Ответить
midisa
новенький
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk
Контактная информация:

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

Сообщение midisa »

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

Код: Выделить всё

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;


Как звучит инструкция которая прерывает выполнение процедуры?
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

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

Сообщение SeZuka »

Я так понимаю вот это вам нужно?

Код: Выделить всё

begin
  if MessageDlg('Question', 'Do you wish to Execute?', mtConfirmation,
   [mbYes, mbNo, mbIgnore],0) = mrNo
  then Exit;
end;
midisa
новенький
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk
Контактная информация:

Сообщение midisa »

Уважаемый SeZuka, большое Вам спасибо, тема закрыта.
Ответить