注册 登录
编程论坛 Delphi论坛

[求助][讨论]MessageDlg为何总关不了?

zhangzujin 发布于 2006-12-22 18:56, 965 次点击

我要作Shannon编码,想判断StringGrid中元素都不空,可惜
MessageDlg总是关不了,大家给个建议啊,谢谢!
我的代码是:

flag:=0;

while (flag=0) do
begin
flag:=1;
for j:=1 to cnt+1 do
begin
flag:=1;
for i:=1 to 2 do
if shannonfrm.StringGrid1.cells[i,j]='' then
begin
flag:=0;
break;
end;
end;
if (flag=1) then
break
else
messagedlg('请输入完全!',mtinformation,[mbOK],0);
end;

只有本站会员才能查看附件,请 登录

[此贴子已经被作者于2006-12-22 19:01:50编辑过]

5 回复
#2
zhangzujin2006-12-22 18:58

就是那个Information总是关不了,大家帮我看看代码。

#3
xu20002006-12-22 22:38

flag:=0;

while (flag=0) do
begin
for j:=1 to cnt+1 do
begin
for i:=1 to 2 do
if shannonfrm.StringGrid1.cells[i,j]='' then
begin
flag:=1;
break;
end;
end;
if (flag=1) then
break
else
messagedlg('请输入完全!',mtinformation,[mbOK],0);
end;
试一下,我没做试验不知对不对。

#4
zhangzujin2006-12-22 23:31
只有本站会员才能查看附件,请 登录

谢谢,帮我看看。
真的不知道怎么搞。以前搞的时候也碰到这种问题。
#5
nongen2006-12-23 08:48
while (flag=0) do
begin
flag:=1;
for j:=1 to cnt+1 do
begin
for i:=1 to 2 do
if shannonfrm.StringGrid1.cells[i,j]='' then
begin
flag:=0;
break;
end;
end;
if (flag=1) then
break
else
begin
if messagedlg('请输入完全!',mtInformation,[mbOK],0)=mrOK then
begin
shannonfrm.StringGrid1.SetFocus;
break;//加这个是为了退出循环的。因为你在 (flag=1) 的时候才会退出,而弹出对话框时是flag=0,而
//在flag=0时循环是不退出的,这样的时候,就会一直弹出对话框。

end;
end;
end;
#6
zhangzujin2006-12-23 14:25
谢谢!
1