Delphi 2006 правильное использование END
Посмотрите на этот код:
if Poruka(BM_UWARN, GetMsg('Da li zaista želite da odbijete nalog?')) = mrOk then
begin
tmps := TRN.ss;
TrnPom.ss := TRN.ss;
RadnikOdbio.l := AdresniSlog.Rabotnik;
if Zakljucaj(1011, tmps, 3) then
begin
FRazlogOdbNal.ShowModal;
case FRazlogOdbNal.ModalResult of
mrOk:
BeBankComment.ss := FRazlogOdbNal.beRazlogOdbijanja.ss;
else
Otkljucaj(1011, tmps, 3);
exit;
end;
end;
end;
Не важно, что делает этот код, мне нужна помощь, достаточно ли я использовал ENDs
в этой части кода. Итак, первый END
имеет CASE
заявление. второй END
закрывается BEGIN
из if Zakljucaj(1011,tmps,3)
и последнее END
закрывается BEGIN
о начале IF
, Является ли это правильным способом их закрытия, теперь компилятор, какой конец ссылается на какую часть кода? А также, знает ли компилятор, что else
часть относится к case
заявление? Если нет, есть ли способ явно сделать это?
1 ответ
Ваш код синтаксически правильный. Отступы, однако, немного отклонены, вы не должны делать отступ begin
блока. Поведение автоформатора Rad Studio по умолчанию заключается в их выравнивании следующим образом:
if Poruka(BM_UWARN, GetMsg('Da li zaista želite da odbijete nalog?')) = mrOk then
begin
tmps := TRN.ss;
TrnPom.ss := TRN.ss;
RadnikOdbio.l := AdresniSlog.Rabotnik;
if Zakljucaj(1011, tmps, 3) then
begin
FRazlogOdbNal.ShowModal;
case FRazlogOdbNal.ModalResult of
mrOk:
BeBankComment.ss := FRazlogOdbNal.beRazlogOdbijanja.ss;
else
Otkljucaj(1011, tmps, 3);
exit;
end;
end;
end;
Все остальное, что вы указали в своем вопросе, верно.