我正在从文本文件导入项目列表,并尝试使用用户对单个数据条目插入的例程。但是,使用Import,我需要暂停每个新条目,以便用户在Post之前手动为其分配一些其他详细信息。如何为每次迭代暂停循环?我不能使用MessagDlg,因为它是Modal,并且不允许用户在发布之前更改内容。
伪代码。
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;
答案 0 :(得分:0)
使用循环不是一个好主意。简单地说,单击按钮时,请执行与现在相同的操作,并为下一个输入准备数据(增加aCtr
,显示下一个提示,将ComboBox的ItemIndex
设置为{{ 1}})。如果此时-1
- 禁用/隐藏按钮,或关闭表单。