在进行数据处理的时候,显示一个FORM,FORM中有LABEL和PROGRESSBAR,程序如下:
procedure TfrConsumerSeach.btnSeachClick(Sender: TObject);
var
frmProgress: TfrmProgress;
begin
...
if not CenterDatabase.EndOfQuery then
begin
iRecordCount:=CenterDatabase.ReordCount;
SetLength(CusRecord,iRecordCount);
Screen.Cursor :=crHourGlass;
frmProgress:=TfrmProgress.Create(self);
frmProgress.ProBar.Percent:=0;
frmProgress.Show;
frmProgress.Update;
for i:=0 to CenterDatabase.ReordCount-1 do
begin
...
frmProgress.ProBar.Percent:=(i div iRecordCount) * 100;
frmProgress.Update;
frmProgress.Repaint;
Application.ProcessMessages; CenterDatabase.NextRecord;
if CenterDatabase.EndOfQuery then Break;
end;
frmProgress.Close ;
Screen.Cursor :=crDefault;
end;
end;
目前存在的问题是进度条的进度显示始终为0%,而且有进度条的FORM闪烁太严重。请各位高手帮忙啊!
procedure TfrConsumerSeach.btnSeachClick(Sender: TObject);
var
frmProgress: TfrmProgress;
begin
...
if not CenterDatabase.EndOfQuery then
begin
iRecordCount:=CenterDatabase.ReordCount;
SetLength(CusRecord,iRecordCount);
Screen.Cursor :=crHourGlass;
frmProgress:=TfrmProgress.Create(self);
frmProgress.ProBar.Percent:=0;
frmProgress.Show;
frmProgress.Update;
for i:=0 to CenterDatabase.ReordCount-1 do
begin
...
frmProgress.ProBar.Percent:=(i div iRecordCount) * 100;
frmProgress.Update;
frmProgress.Repaint;
Application.ProcessMessages; CenterDatabase.NextRecord;
if CenterDatabase.EndOfQuery then Break;
end;
frmProgress.Close ;
Screen.Cursor :=crDefault;
end;
end;
目前存在的问题是进度条的进度显示始终为0%,而且有进度条的FORM闪烁太严重。请各位高手帮忙啊!
解决方案 »
- Undeclared identifier: 'OpenDialog1',帮我看看,哪儿问题
- 如何调用系统的CTRL+C加CTRL+V,就是点击那个按钮能调用系统的这两个按钮
- 求助:vc++中的(i++)和(++i)在delphi中分别如何表示啊?
- 分分~~~~~~~~~~~~~~(2)
- CommandText does not return a result set. 怎么处理?(不是英语问题)
- Realaudio 控件常见属性和方法 希望能抛砖引玉
- 为什么用 DBGridEH 自带函数导出数据后不能打开或内容为空白,
- 这个语句到底哪儿错了?
- 流式文件读写
- click一个dbgrid的某一cell时,如何得到鼠标点在这个cell上的相对位置。
- 如何得到处于焦点的控件名称?
- 如何获得未知控件的属性的属性的值
frmProgress.ProBar.Max=100
begin
...
frmProgress.ProBar.Percent:=(i div iRecordCount) * 100;
frmProgress.Update;
frmProgress.Repaint;
改为:
frmProgress.ProBar.Max := CenterDatabase.ReordCount;
for i:=0 to CenterDatabase.ReordCount-1 do
begin
...
frmProgress.ProBar.Position := i + 1;
TGauge = class(TGraphicControl)
ProgressBar控件是
TProgressBar = class(TWinControl)
而且窗体闪烁的问题还请各位多多指教
或者直接用Percent处理都可以
Form.DoubleBuffered := True;