救命的问题!急!急!急!急!急!急!急!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, FR_Class, StdCtrls, FR_DSet, FR_DBSet, FR_BarC,
ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
frReport1: TfrReport;
Button2: TButton;
Button3: TButton;
Edit4: TEdit;
Edit5: TEdit;
Label6: TLabel;
Label5: TLabel;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
DateTimePicker1: TDateTimePicker;
Label2: TLabel;
Edit1: TEdit;
Label1: TLabel;
Timer1: TTimer;
Label7: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
procedure Load_S(Sender: TObject);
public
{ Public declarations }
I_T:Integer;
I_num,I_pri:LongInt;
B_bj:Boolean;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Load_S(Sender: TObject);
var
S_str:string;
begin
S_str:=Edit2.Text+Edit3.Text+Edit4.Text;
{if I_pri<10000 then
begin
frReport1.FindObject('memo1').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo2').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo4').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo5').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo7').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo8').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo10').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo11').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo13').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo14').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo16').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo17').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo19').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo20').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo22').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo23').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo25').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo26').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo28').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo29').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo31').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo32').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end;
if I_pri<10000 then
begin
frReport1.FindObject('memo34').Memo.Text:=Edit1.Text;
frReport1.FindObject('memo35').Memo.Text:=DateToStr(DateTimePicker1.DateTime);
end; }
I_num:=StrToInt(copy(trim(Edit5.Text),6,4));
{
if I_pri<10000 then frReport1.FindObject('memo3').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num]);
if I_pri<10000 then frReport1.FindObject('memo6').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+1]);
if I_pri<10000 then frReport1.FindObject('memo9').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+2]);
if I_pri<10000 then frReport1.FindObject('memo12').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+3]);
if I_pri<10000 then frReport1.FindObject('memo15').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+4]);
if I_pri<10000 then frReport1.FindObject('memo18').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+5]);
if I_pri<10000 then frReport1.FindObject('memo21').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+5]);
if I_pri<10000 then frReport1.FindObject('memo24').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+7]);
if I_pri<10000 then frReport1.FindObject('memo27').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+8]);
if I_pri<10000 then frReport1.FindObject('memo30').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+9]);
if I_pri<10000 then frReport1.FindObject('memo33').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+10]);
if I_pri<10000 then frReport1.FindObject('memo36').Memo.Text:=S_str+copy(trim(Edit5.Text),0,6)+format('%.4d',[I_num+11]);
frReport1.PrepareReport;
frReport1.PrintPreparedReport('', 1, True, frAll); }
//frReport1.PrintPreparedReportDlg;
I_pri:=I_num+12;//此处I_num大于4621就溢出
Edit5.Text:=copy(trim(Edit5.Text),0,5)+format('%.4d',[I_num+12]);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Button1.caption='打印' then
begin
B_bj:=true;
Button1.Caption:='暂停';
Timer1.Enabled:=true;
Load_S(Sender); //开始打印
end
else
begin
B_bj:=false;
Button1.Caption:='打印';
Timer1.Enabled:=false;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
var
Year, Month, Day:Word;
begin
decodedate(DateTimePicker1.DateTime,Year, Month, Day);
if Month <9 then
Edit4.Text:= copy(IntToStr(Year),3,2)+'0'+IntToStr(Month)+IntToStr(Day)
else
Edit4.Text:= copy(IntToStr(Year),3,2)+IntToStr(Month)+IntToStr(Day);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
DateTimePicker1Change(Sender);
B_bj:=true;
I_T:=0;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
B_bj:=false;
//showmessage(copy(trim(Edit5.Text),0,5)+format('%.4d',[12]));
end;
procedure TForm1.Edit5Change(Sender: TObject);
begin
try
if I_pri<10000 then
if B_bj=true then Load_S(Sender);
except
exit;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
I_T:=I_T+1;
Label7.Caption:='打印已经进行了'+IntToStr(I_T)+'秒';
end;
end.
上面是我的小程序,