暂停数据输入循环

时间:2014-07-14 17:10:42

标签: delphi loops repeat delphi-5

我正在从文本文件导入项目列表,并尝试使用用户对单个数据条目插入的例程。但是,使用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;

1 个答案:

答案 0 :(得分:0)

使用循环不是一个好主意。简单地说,单击按钮时,请执行与现在相同的操作,并为下一个输入准备数据(增加aCtr,显示下一个提示,将ComboBox的ItemIndex设置为{{ 1}})。如果此时-1 - 禁用/隐藏按钮,或关闭表单。