如何让程序退出循环
procedure sfbitian(t:Tform;sfbitian:Tadoquery);
var i:integer;
begin
sfbitian.Close;
sfbitian.SQL.Clear;
sfbitian.sql.Add('select * from kysys_biaotou where sfbitian=''是''');
sfbitian.Open;
while not sfbitian.Eof do
begin
for i:=0 to t.ComponentCount-1 do
begin
if t.components[i] is Trzedit then
begin
if Trzedit(t.Components[i]).name=sfbitian.FieldValues['kjname'] then
begin
if Trzedit(t.Components[i]).Text='' then
begin
showmessage(sfbitian.FieldValues['kjcaption'] + '不能为空');
exit;
end;
end;
end;
end;
sfbitian.Next;
end;
请问各位大侠,我如何能在showmessage后退出,并不执行下面的代码?我这段代码后还有一个函数。
procedure Tfsxht.bcClick(Sender: TObject);
begin
sfbitian(fsxht,bitianxiang);
save(fsxht);
end;
[解决办法]
把procedure改成function,设置一个返回值,比如boolean类型,然后:
if sfbitian(fsxht,bitianxiang) save(fsxht);
[解决办法]
把procedure sfbitian 改成function sfbitian ;根据返回值决定后面是否继续执行
要不就把exit改成abort;