我用fr3.25做的条形码,D7下编译的程序。
打印机试过:zebra Z4Mplus ,zebra 140Xi2,zebra 140Xi3,zebra 110Xi3
label纸:宽76mm*高152mm
设计fr3报表是横着设计的,如下:
152***********************=**********************152
76(前)******************=********************** 76
76(前)******************=********************** 76
76 (前)******************=********************** 76
76(前)******************=********************** 76
76(前)******************=********************** 76
152***********************=**********************152
普通打印机打印时应该把打印机paper选择一下为横着(L)就可以打印出来了
条码打印机应该也是这样吧?
但现在出现了一个问题,用条码打印机打印的label,先出来的后半页所有条码
都变成了黑黑的一块,文字则正常。而后出的前半页所有条码文字都正常?
请问大家这个是fr3的bug还是我的程序有问题??
还是打印机有问题?不能这样横着打印?打印机驱动程序有问题?我换了上面四
台打印机都还是这个样子啊
打印机试过:zebra Z4Mplus ,zebra 140Xi2,zebra 140Xi3,zebra 110Xi3
label纸:宽76mm*高152mm
设计fr3报表是横着设计的,如下:
152***********************=**********************152
76(前)******************=********************** 76
76(前)******************=********************** 76
76 (前)******************=********************** 76
76(前)******************=********************** 76
76(前)******************=********************** 76
152***********************=**********************152
普通打印机打印时应该把打印机paper选择一下为横着(L)就可以打印出来了
条码打印机应该也是这样吧?
但现在出现了一个问题,用条码打印机打印的label,先出来的后半页所有条码
都变成了黑黑的一块,文字则正常。而后出的前半页所有条码文字都正常?
请问大家这个是fr3的bug还是我的程序有问题??
还是打印机有问题?不能这样横着打印?打印机驱动程序有问题?我换了上面四
台打印机都还是这个样子啊
rave报表或BarCode2用Canvas输出
---------------------
rave做报表简直是恶梦,D7自带的Rave很难用!!!做出来还不能指定页码打印(BUG???)
BarCode2是什么?控件吗?
协议或DLL来开发!
newfang(传说中的MIC) :是要求可以用任何的打印机打印,速度不会慢多少的。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button2: TButton;
procedure PrintLuggage(LuggageTag,PassportID,GuestName,BirthDate,Nationality,ShipFerryNo,AirFerryDate,AirFerryNo,Dest,BagCount, shipTicketNo,Operator :string);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
PrintCortrol :TStringList;implementation{$R *.dfm}procedure TForm1.PrintLuggage(LuggageTag,PassportID,GuestName,BirthDate,Nationality,ShipFerryNo,AirFerryDate,AirFerryNo,Dest,BagCount, shipTicketNo,Operator :string);
begin
PrintCortrol :=TStringList.Create;
PrintCortrol.Clear;
PrintCortrol.Add('{D4480,0510,4450|}');
PrintCortrol.Add('{C|}');
PrintCortrol.Add('{U2;0130|}');
PrintCortrol.Add('{D4480,0510,4450|}');
PrintCortrol.Add('{AX;+000,+000,+00|}');
PrintCortrol.Add('{AY;+00,0|}');
PrintCortrol.Add('{XB00;0477,0045,3,1,03,03,06,06,03,2,0035|}');
PrintCortrol.Add('{RB00;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{PC000;0134,0015,05,05,E,22,B|}');
PrintCortrol.Add('{RC00;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{XB01;0035,1023,3,1,03,03,09,09,03,3,0439|}');
PrintCortrol.Add('{RB01;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{XB02;0055,1099,3,1,03,03,09,09,03,0,0320|}');
PrintCortrol.Add('{RB02;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{XB03;0035,2877,3,1,03,03,09,09,03,3,0439|}');
PrintCortrol.Add('{RB03;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{XB04;0055,2936,3,1,03,03,09,09,03,0,0320|}');
PrintCortrol.Add('{RB04;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{XB05;0055,3771,3,1,03,03,09,09,03,0,0043|}');
PrintCortrol.Add('{RB05;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{XB06;0055,4193,3,1,03,03,09,09,03,0,0045|}');
PrintCortrol.Add('{RB06;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{PC001;0474,0096,05,05,E,22,B|}');
PrintCortrol.Add('{RC01;'+trim(GuestName)+'|}');
PrintCortrol.Add('{PC002;0474,0073,05,05,E,22,B|}');
PrintCortrol.Add('{RC02;3A081/20060627 HKA >> '+trim(Dest)+'|}');
PrintCortrol.Add('{PC003;0474,0050,05,05,E,22,B|}');
PrintCortrol.Add('{RC03;3434/20060627 ZH >> HKA|}');
PrintCortrol.Add('{PC004;0358,1468,10,10,E,22,B|}');
PrintCortrol.Add('{RC04;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{PC005;0454,1607,05,05,E,22,B|}');
PrintCortrol.Add('{RC05;SeriaLNo:'+trim(shipTicketNo)+'|}');
PrintCortrol.Add('{PC006;0454,1638,05,05,E,22,B|}');
PrintCortrol.Add('{RC06;BAG:'+trim(BagCount)+'|}');
PrintCortrol.Add('{PC007;0454,1696,05,05,E,22,B|}');
PrintCortrol.Add('{RC07;'+trim(AirFerryNo)+'/'+trim(AirFerryDate)+' HKA >>'+trim(Dest)+'|}');
PrintCortrol.Add('{PC008;0454,1760,05,05,E,22,B|}');
PrintCortrol.Add('{RC08;Nationality:'+trim(Nationality)+'|}');
PrintCortrol.Add('{PC009;0454,1790,05,05,E,22,B|}');
PrintCortrol.Add('{RC09;BirthDate:'+trim(BirthDate)+'|}');
PrintCortrol.Add('{PC010;0454,1823,05,05,E,22,B|}');
PrintCortrol.Add('{RC10;NAME:'+trim(GuestName)+'|}');
PrintCortrol.Add('{PC011;0454,1859,05,05,E,22,B|}');
PrintCortrol.Add('{RC11;PassID:'+trim(PassportID)+'|}');
PrintCortrol.Add('{PC012;0129,2034,05,05,E,00,B|}');
PrintCortrol.Add('{RC12;FINAL DESTINATION|}');
PrintCortrol.Add('{PC013;0096,2308,10,10,C,00,B|}');
PrintCortrol.Add('{RC13;'+trim(AirFerryNo)+' / '+trim(AirFerryDate)+'|}');
PrintCortrol.Add('{PC014;0160,2199,20,20,E,00,B|}');
PrintCortrol.Add('{RC14;'+trim(Dest)+'|}');
PrintCortrol.Add('{PC015;0454,1729,05,05,E,22,B|}');
PrintCortrol.Add('{RC15;'+trim(ShipFerryNo)+'/'+AirFerryDate+' ZH >>HKA|}');
PrintCortrol.Add('{PC016;0038,3680,05,05,E,00,B|}');
PrintCortrol.Add('{RC16;'+trim(AirFerryNo)+'/'+trim(AirFerryDate)+' HKA >>'+trim(Dest)+'|}');
PrintCortrol.Add('{PC017;0038,3655,05,05,E,00,B|}');
PrintCortrol.Add('{RC17;'+trim(ShipFerryNo)+'/'+AirFerryDate+' ZH >>HKA|}');
PrintCortrol.Add('{PC018;0101,3604,05,05,E,00,B|}');
PrintCortrol.Add('{RC18;BAG IDENTIFICATION TAG|}');
PrintCortrol.Add('{PC019;0038,3703,05,05,E,00,B|}');
PrintCortrol.Add('{RC19;DEST-|}');
PrintCortrol.Add('{PC020;0114,4038,05,05,E,00,B|}');
PrintCortrol.Add('{RC20;BAG IDENTIFICATION TAG|}');
PrintCortrol.Add('{PC021;0038,4069,05,05,D,00,B|}');
PrintCortrol.Add('{RC21;'+trim(GuestName)+'|}');
PrintCortrol.Add('{PC022;0038,4089,05,05,E,00,B|}');
PrintCortrol.Add('{RC22;'+trim(AirFerryNo)+'/'+trim(AirFerryDate)+' HKA >>'+trim(Dest)+'|}');
PrintCortrol.Add('{PC023;0038,4112,05,05,E,00,B|}');
PrintCortrol.Add('{RC23;'+trim(ShipFerryNo)+'/'+AirFerryDate+' ZH >>HKA|}');
PrintCortrol.Add('{PC024;0038,4137,05,05,E,00,B|}');
PrintCortrol.Add('{RC24;DEST-|}');
PrintCortrol.Add('{PC025;0454,0157,10,10,C,11,B|}');
PrintCortrol.Add('{RC25;'+trim(Dest)+'|}');
PrintCortrol.Add('{XB07;0426,0228,3,1,03,03,09,09,03,2,0063|}');
PrintCortrol.Add('{RB07;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{XB08;0426,0350,3,1,03,03,09,09,03,2,0063|}');
PrintCortrol.Add('{RB08;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{PC026;0454,0279,10,10,C,11,B|}');
PrintCortrol.Add('{RC26;'+trim(Dest)+'|}');
PrintCortrol.Add('{PC027;0038,3634,05,05,D,00,B|}');
PrintCortrol.Add('{RC27;'+trim(GuestName)+'|}');
PrintCortrol.Add('{PC028;0304,0142,05,05,E,22,B|}');
PrintCortrol.Add('{RC28;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{PC029;0304,0264,05,05,E,22,B|}');
PrintCortrol.Add('{RC29;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{PC030;0170,3860,10,10,C,00,B|}');
PrintCortrol.Add('{RC30;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{PC031;0170,4290,10,10,C,00,B|}');
PrintCortrol.Add('{RC31;'+trim(LuggageTag)+'|}');
PrintCortrol.Add('{PC032;0449,1549,05,05,F,22,B|}');
PrintCortrol.Add('{RC32;Operter:'+trim(Operator)+'|}');
PrintCortrol.Add('{XR;0096,2098,0411,2217,B|}');
PrintCortrol.Add('{XS;I,0001,0002C2200|}');
PrintCortrol.Add('{U1;0130|}');
//PrintCortrol.SaveToFile('C:\123.prn');
//PrintCortrol.Free;
end;procedure TForm1.Button2Click(Sender: TObject);
var
prtstr: string;
filehandle: integer;
begin
prtstr := PrintCortrol.Text;
filehandle := fileopen('LPT1', fmOpenWrite);
if filehandle > 0 then
filewrite(filehandle, prtstr[1], length(prtstr))
else
showmessage('打开并口错误');
fileclose(filehandle);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
PrintLuggage('3A801104','T3432','LIUXIN XIN','19650525','CHN','3434','20060627','3A081','TPE','2','I232432679004','KING')
end;end.
Button2Click//打印,这个直接写在PrintLuggage就行了~~
但是我这个label的数据主要是从数据库调出来的,我希望可以直接打印