procedure Tfrm_tmprint.Button1Click(Sender: TObject);
var
i,len:integer;
barcode:String;
x,x1,y,y1,l,h,flag:integer; //x 列,y 行,l长度,h高度
bit:Tbitmap;
begin flag:=1;
len:=pas_gobal.mytm.Count;
printer.Title:='条码打印';
printer.BeginDoc;
for i:=0 to len-1 do
begin
//ary_bmp[i]:=tbitmap.Create;
//barcode:=pdw_makebarcode(pas_gobal.mytm.Strings[i]);
//DrawBarCode(ary_bmp[i],barcode);
//bit:=tbitmap.Create;
{showmessage(pas_gobal.mytm.Strings[i]);
barcode:=pdw_makebarcode(pas_gobal.mytm.Strings[i]);
DrawBarCode(bit,barcode); }
if flag mod 2 =1 then
begin
BltTBitmapAsDib(Printer.Canvas.Handle,x*6,y*6,(x+l)*6,(y+h)*6,ary_bmp[i]);
y:=y+80;
end
else
begin
BltTBitmapAsDib(Printer.Canvas.Handle,x1*6,y1*6,(x1+l)*6,(y1+h)*6,ary_bmp[i]);
y1:=y1+80;
end;
flag:=flag+1;
end;
printer.EndDoc;
end;
=====================================================================
执行该事件用于打印条码,但每次都是什么都没打印出来.
ary_bmp[i] //是一个全局变量,该变量的长度在form的onshow事件中设定长度,并符值的..ary_bmp[] 类型是这样定义的
var
frm_tmprint: Tfrm_tmprint;
ary_bmp:array of Tbitmap;
请大家帮看看这是为什么,,,,
var
i,len:integer;
barcode:String;
x,x1,y,y1,l,h,flag:integer; //x 列,y 行,l长度,h高度
bit:Tbitmap;
begin flag:=1;
len:=pas_gobal.mytm.Count;
printer.Title:='条码打印';
printer.BeginDoc;
for i:=0 to len-1 do
begin
//ary_bmp[i]:=tbitmap.Create;
//barcode:=pdw_makebarcode(pas_gobal.mytm.Strings[i]);
//DrawBarCode(ary_bmp[i],barcode);
//bit:=tbitmap.Create;
{showmessage(pas_gobal.mytm.Strings[i]);
barcode:=pdw_makebarcode(pas_gobal.mytm.Strings[i]);
DrawBarCode(bit,barcode); }
if flag mod 2 =1 then
begin
BltTBitmapAsDib(Printer.Canvas.Handle,x*6,y*6,(x+l)*6,(y+h)*6,ary_bmp[i]);
y:=y+80;
end
else
begin
BltTBitmapAsDib(Printer.Canvas.Handle,x1*6,y1*6,(x1+l)*6,(y1+h)*6,ary_bmp[i]);
y1:=y1+80;
end;
flag:=flag+1;
end;
printer.EndDoc;
end;
=====================================================================
执行该事件用于打印条码,但每次都是什么都没打印出来.
ary_bmp[i] //是一个全局变量,该变量的长度在form的onshow事件中设定长度,并符值的..ary_bmp[] 类型是这样定义的
var
frm_tmprint: Tfrm_tmprint;
ary_bmp:array of Tbitmap;
请大家帮看看这是为什么,,,,
var
i,len:integer;
barcode:String;
x,x1,y,y1,l,h,flag:integer; //x 列,y 行,l长度,h高度
bit:Tbitmap;
begin flag:=1;
len:=pas_gobal.mytm.Count;
printer.Title:='条码打印';
Printer.BeginDoc;
for i:=0 to len-1 do
begin if flag mod 2 =1 then
begin
BltTBitmapAsDib(Printer.Canvas.Handle,x*6,y*6,(x+l)*6,(y+h)*6,ary_bmp[i]);
y:=y+80;
end
else
begin
BltTBitmapAsDib(Printer.Canvas.Handle,x1*6,y1*6,(x1+l)*6,(y1+h)*6,ary_bmp[i]);
y1:=y1+80;
end;
flag:=flag+1;
end;
Printer.EndDoc;
end;============================
代码改成如上,还是不行....