首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi编程 语言逻辑有关问题

2012-03-17 
delphi编程 语言逻辑问题。我做了一个选择日期和地名的form2,在form1中调用,当没有选择地名的时候,会提示重

delphi编程 语言逻辑问题。
我做了一个选择日期和地名的form2,在form1中调用,当没有选择地名的时候,会提示重新选择地名,然后重新读入地名选中项。 但是我的程序在出现提示后,重新进行选择后,没有读入地名选中项,我该如何优化我的程序?

Delphi(Pascal) code
begintry form2:=Tform2.Create(self); form2.ShowModal ;   if form2.FlatEdit1.Text <>'@@!@@' then    begin     iii:='';     n1:=0;     SList := TStringList.Create;       for i:=0 to form2.RxCheckListBox1.Items.Count-1 do         if form2.RxCheckListBox1.Checked[i] then           begin           iii:=form2.RxCheckListBox1.Items[i];           delete(iii,1,pos(',',iii));           SList.Add(iii);           inc(n1);           end;         if iii='' then           begin           showmessage('请选择站点!');           form2.ShowModal ;           end;


[解决办法]
你应该在form2的关闭事件中判断是否有选择,如果没有选择则提示,而不要再次form2.ShowModal ;
[解决办法]
窗体的OnCloseQuery事件,用CanClose控制是否允许关闭窗口,在这里判断吧
[解决办法]
像楼上所说你呀,如果想实现对话窗口输入判断最好在OnCloseQuery事件就判断。
如果非要用楼主的方法,那应该放在循环中,退出条件为输入了符合要求的数据。你的程序显然不是循环,当然不行了。

热点排行