我正在从一个文本文件中导入一个项目列表,并尝试使用用户为各个数据条目提供的手动插入例程。但是,对于Import,我需要暂停每个新条目,以便用户在发布帖子之前手动分配一些其他详细信息。如何为每次迭代暂停循环?我不能使用MessagDlg,因为它是模态的,并且不允许用户在发布之前更改内容。
伪代码。
btnInsertClick;
begin
DB.Insert;
DB.FieldByName('Item').AsString:=StrList[aCtr];
end;
btnPostClick;
begin
DB.Post;
Inc(aCtr);
end;
btnCancelClick;
begin
DB.Cancel;
aCtr:=StrList.Count;
end;
ImportList;
begin
StrList.LoadFromFile('TextFile.txt');
aCtr:=0;
repeat
btnInsertClick;
// The User needs to be able to select data from
// two drop-down-combos before Posting.
// I need to wait here for Post or Cancel to be clicked
until aCtr = StrList.Count;
end;发布于 2014-07-17 03:44:40
使用循环并不是一个好主意。简单地说,当单击该按钮时,执行与现在相同的操作,并为下一次输入准备数据(增加aCtr,显示下一条提示,将ComboBox的ItemIndex设置为-1)。If aCtr >= StrList.Count at this point -禁用/隐藏按钮,或关闭窗体。
https://stackoverflow.com/questions/24742000
复制相似问题