我最新画了一个界面,界面上有一个button执行导入多条数据操作,用一个laibel实时记录记录导入了多少条procedure TfrmBatStockTransfer.hbtImportClick(Sender: TObject);
var
iRowCount,iRow,count : Integer;
begin
iRowCount :=1000;
lbStat.Caption := '(0/' + IntToStr(iRowCount) + ')';
for count:=0 to iRowCount-1 do
begin
....
end;
lbStat.Caption := '(1000/' + IntToStr(iRowCount) + ')';
end;为啥我发现label的caption直接变成了‘1000/1000’,而未有'0/1000'这个状态
var
iRowCount,iRow,count : Integer;
begin
iRowCount :=1000;
lbStat.Caption := '(0/' + IntToStr(iRowCount) + ')';
for count:=0 to iRowCount-1 do
begin
....
end;
lbStat.Caption := '(1000/' + IntToStr(iRowCount) + ')';
end;为啥我发现label的caption直接变成了‘1000/1000’,而未有'0/1000'这个状态
后面加一句
application.ProcessMessages;
application.ProcessMessages;
Sleep(10);
你放在最后一句,应该就是执行完成后才获取到的值。
lbStat.Refresh;如果不行,则加上
Application.ProcessMessages;
他的程序,lbstat.caption只有两个值‘0/1000’和‘1000/1000’,人家是说为什么看不到‘0/1000’
肯定有机会看到‘0/1000’和‘1000/1000’
iRowCount,iRow,count : Integer;
begin
iRowCount :=1000;
button1.Caption := '(0/' + IntToStr(iRowCount) + ')';
Sleep(1000); //循环时间太短 加个延时函数
for count:=0 to iRowCount-1 do
begin end;
button1.Caption := '(1000/' + IntToStr(iRowCount) + ')';
end;