我做了一个选择日期和地名的form2,在form1中调用,当没有选择地名的时候,会提示重新选择地名,然后重新读入地名选中项。 但是我的程序在出现提示后,重新进行选择后,没有读入地名选中项,我该如何优化我的程序?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:=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;
如果非要用楼主的方法,那应该放在循环中,退出条件为输入了符合要求的数据。你的程序显然不是循环,当然不行了。