我在程序中有一段procedure,是关于打印的,我在form中加了一个progressbar,我想在这个过程中和progressbar关联起来,用进度条来显示打印程序执行的进度,怎么做啊?要在我这段PROCEDURE中加什么啊?或者progressbar怎么设置啊?请教各位!谢谢……
procedure TForm1.Button3Click(Sender: TObject);
var
tmp:TStringList;
i,h,j:integer;
begin
if stringgrid1.Cells[0,1]<>'' then
begin
Printer.Canvas.Font.Name := '宋体';
Printer.Canvas.Font.Size := 9; Printer.BeginDoc;
printer.Canvas.TextOut(0,0,combobox1.Text+'同志考勤资料:'); h := 1;
for j:=0 to stringgrid1.RowCount-1 do
begin
printer.Canvas.TextOut(0,h*(-Printer.Canvas.Font.Height+30),stringgrid1.Cells[0,j]);
printer.Canvas.TextOut(500,h*(-Printer.Canvas.Font.Height+30),stringgrid1.Cells[1,j]);
printer.Canvas.TextOut(1000,h*(-Printer.Canvas.Font.Height+30),stringgrid1.Cells[2,j]); h := (h+1) mod 50;
if h = 0 then Printer.NewPage;
end;
Printer.EndDoc;
end
else showmessage('无打印内容!'); //tmp:=TStringList.Create;
//inifile.ReadSection('stuff',tmp);
//for i:=0 to tmp.Count-1 do
// combobox1.Items.Add(tmp.Strings[i]);
//stringgrid1.Cells[0,2]:='aa';
//stringgrid1.Cells[0,3]:='abb';
//label4.Caption:=DateToStr(DateTimePicker1.Date);
//l:=trunc(6.42);
//i:=trunc(DateTimePicker1.Date - DateTimePicker2.Date);
//label4.Caption:=datetostr(DateTimePicker1.Date);
//label4.Caption:=formatdatetime('yyyymdd',DateTimePicker1.Date+100);
//label4.Caption:=inttostr(i);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
tmp:TStringList;
i,h,j:integer;
begin
if stringgrid1.Cells[0,1]<>'' then
begin
Printer.Canvas.Font.Name := '宋体';
Printer.Canvas.Font.Size := 9; Printer.BeginDoc;
printer.Canvas.TextOut(0,0,combobox1.Text+'同志考勤资料:'); h := 1;
for j:=0 to stringgrid1.RowCount-1 do
begin
printer.Canvas.TextOut(0,h*(-Printer.Canvas.Font.Height+30),stringgrid1.Cells[0,j]);
printer.Canvas.TextOut(500,h*(-Printer.Canvas.Font.Height+30),stringgrid1.Cells[1,j]);
printer.Canvas.TextOut(1000,h*(-Printer.Canvas.Font.Height+30),stringgrid1.Cells[2,j]); h := (h+1) mod 50;
if h = 0 then Printer.NewPage;
end;
Printer.EndDoc;
end
else showmessage('无打印内容!'); //tmp:=TStringList.Create;
//inifile.ReadSection('stuff',tmp);
//for i:=0 to tmp.Count-1 do
// combobox1.Items.Add(tmp.Strings[i]);
//stringgrid1.Cells[0,2]:='aa';
//stringgrid1.Cells[0,3]:='abb';
//label4.Caption:=DateToStr(DateTimePicker1.Date);
//l:=trunc(6.42);
//i:=trunc(DateTimePicker1.Date - DateTimePicker2.Date);
//label4.Caption:=datetostr(DateTimePicker1.Date);
//label4.Caption:=formatdatetime('yyyymdd',DateTimePicker1.Date+100);
//label4.Caption:=inttostr(i);
end;
解决方案 »
- 关于日期查询的问题,请指教
- 谁会成为delphi的新掌门?是google?还是....
- 简单财务系统,数据表的设计问题!资产负债表,损益表,现金流量表.
- 关于资源文件res的菜鸟问题~~~在线等待~~~尚未结贴~~~~~~~~
- 如何能动态把打印字段名赋给FastReport 2.5
- 在BDE中建的连接删除不了
- VCL继承层次图(组件)
- windows服务程序无法显示界面.在线等.
- 取整的函数是哪一个?
- 请问如何动态修改网关(不需重新启动,立即生效!)
- C++Builder 5 或者6 中有没有类似于CodeRush For Delphi7 的插件?如果有好的BCB插件或者Delphi 插件清推荐一下,谢谢。
- 请问高人:vb写的dll可不可以在delphi中调用?
progressbar.max //最小
progressbar.min //最大
progressbar.position //位置,根据进度改变positon, 即产生动态效果
progressbar.smooth //是否平滑可以在form中放入progressbar也可以代码中临时创建form、创建form1.progressbar显示动态效果后释放form