Страница 1 из 1

Как прервать цикл repeat

Добавлено: 03 апр 2007, 09:12
demon_1607

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

begin
repeat
fam:=InputBox('Авторизация', 'Введите свои ФИО', '');
if fam='' then MessageDlg('Вы не представились', mtWorning, [mbOk,mbCancel],0);
until fam<>''
end;
Нужно чтобы на клик кнопки Cancel форма закрывалась. Как?

Re: Как прервать цикл repeat

Добавлено: 03 апр 2007, 09:14
SergeyS
break;
прерывает все циклы

Re: Как прервать цикл repeat

Добавлено: 03 апр 2007, 09:50
Хыиуду

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

begin
repeat
fam:=InputBox('Авторизация', 'Введите свои ФИО', '');
if fam='' then answer:=MessageDlg('Вы не представились', mtWarning, [mbOk,mbCancel],0);
until (fam<>'') or (answer=mbCancel);
end;

Re: Как прервать цикл repeat

Добавлено: 03 апр 2007, 14:59
SergeyS
Способ предложенный Хыиуду, является более грамотным, с точки зрения культуры программирования

Re: Как прервать цикл repeat

Добавлено: 04 апр 2007, 13:22
Blood_Magic
SergeyS писал(а):Способ предложенный Хыиуду, является более грамотным, с точки зрения культуры программирования

грамотный, но я так подозреваю, не отвечает потребностям, т.к. скорее всего по кнопки Cancel нужно завершить программу или еще чего, но ни как не пойди дальше

Re: Как прервать цикл repeat

Добавлено: 04 апр 2007, 14:03
Хыиуду
Ну, это все можно сделать по выходу из цикла, потому что значение переменной answer сохраняется.