當前位置:編程學習大全網 - 源碼下載 - delphi中的語句SendToPrinter([$1B,$7A,$31]);

delphi中的語句SendToPrinter([$1B,$7A,$31]);

給妳壹個源碼看看吧:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls,Printers,winspool, ExtCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

ComboBox1: TComboBox;

Button6: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

// chs0=$1C,$26,$1C,$57,0;//中文(普通)

// chs1=$1C,$26,$1C,$57,1;//中文(四倍)

// eng=$1C,$2E,$1C,$57,0;//英文(普通)

// eng=$1C,$2E,$1C,$57,1;//英文(四倍)

// cut=$1B,$69;//切紙

// hl=$0A;//換行

// cr=$0D];//回車

// sp=$1B,$20,2;//字間間隔

// lsp=$1B,$32;//行間間隔

// hom=$1B,$3C;//行首

implementation

var

PrnHwnd:THandle;

{$R *.DFM}

procedure OpenLptPrn(hp:string);

begin

PRNHwnd:=CreateFile(Pchar(hp), GENERIC_READ or GENERIC_WRITE,0,nil, OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);

if PRNHwnd=INVALID_HANDLE_VALUE then

Exception.Create('無效並行口');

end;

procedure delay(n:integer);//延時

var t:Tdatetime;

begin

t:=time;

repeat

//

until time>=t+n/24/60/60/1000;

end;

procedure

SendToPrinter(SendBuf:array of byte);overload

var

tem:cardinal;

begin

WriteFile(PRNHwnd,SendBuf,High(SendBuf)+1,tem,nil);

end;

procedure SendToPrinter0(SendBuf:string);overload

var

i,a:integer;

begin

a:=0;

for i:=1 to Length(SendBuf) do

begin

if a=0 then

begin

if (ord(SendBuf[i])>0)and(ord(SendBuf[i])<128) then

begin

SendToPrinter([$1C,$2E,ord(SendBuf[i])]);

end

else

begin

SendToPrinter([$1C,$26,$1C,$57,0,ord(SendBuf[i]),ord(SendBuf[i+1])]);

a:=1;

end;

end

else

begin

a:=0;

end;

end;

SendToPrinter([$1C,$2E,ord(' '),$0A]);

end;

procedure SendToPrinter1(SendBuf:string);overload

var

i,a:integer;

begin

a:=0;

for i:=1 to Length(SendBuf) do

begin

if a=0 then

begin

if (ord(SendBuf[i])>0)and(ord(SendBuf[i])<128) then

begin

SendToPrinter([$1C,$2E,ord(SendBuf[i])]);

end

else

begin

SendToPrinter([$1C,$26,$1C,$57,1,ord(SendBuf[i]),ord(SendBuf[i+1])]);

a:=1;

end;

end

else

begin

a:=0;

end;

end;

SendToPrinter([$0A]);

end;

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;s:string;

begin

if COMBOBOX1.Text='' then

s:='COM1'

else

s:=COMBOBOX1.Text;

OpenLptPrn(s);

SendToPrinter1(' 歡 迎 光 臨');

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 項目: '+'押金(現金)');

SendToPrinter0(' 機號: '+'xx');

SendToPrinter0(' 金額: '+'xx.xx'+'元');

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 時間:'+datetostr(date)+' '+timetostr(time));

SendToPrinter0(' 收款員:張三 ');

delay(3000);

for i:=0 to 9 do

begin

sendtoprinter([$0A]);

end;

SendToPrinter([$0D,$1B,$69]);

fileclose(PRNHwnd);

end;

procedure TForm1.Button2Click(Sender: TObject);

var i:integer;s:string;

begin

if COMBOBOX1.Text='' then

s:='COM1'

else

s:=COMBOBOX1.Text;

OpenLptPrn(s);

SendToPrinter1(' 歡 迎 光 臨');

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 項目:結賬 票據流水號:'+'xxx');

SendToPrinter0(' 機號:'+'xx');

SendToPrinter0(' 開始時間:'+datetostr(date)+' '+timetostr(time));

SendToPrinter0(' 結束時間:'+datetostr(date)+' '+timetostr(time));

SendToPrinter0(' 上機:'+'xx.xx'+'元 消費:'+'xx.xx'+'元');

delay(3000);

SendToPrinter0(' 附加:'+'xx.xx'+'元 電話:'+'xx.xx'+'元');

SendToPrinter0(' 其他:'+'xx.xx'+'元');

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 合計:'+'xx.xx'+'元 押金:'+'xx.xx'+'元');

SendToPrinter0(' 現金:'+'xx.xx'+'元 刷卡:'+'xx.xx'+'元');

SendToPrinter0(' 退款:'+'xx.xx'+'元');

delay(3000);

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 時間:'+datetostr(date)+' '+timetostr(time));

SendToPrinter0(' 收款員:'+'xxx');

delay(2000);

for i:=0 to 10 do

begin

sendtoprinter([$0A]);

end;

SendToPrinter([$0D,$1B,$69]);

fileclose(PRNHwnd);

end;

procedure TForm1.Button4Click(Sender: TObject);

var i:integer;s:string;

begin

if COMBOBOX1.Text='' then

s:='COM1'

else

s:=COMBOBOX1.Text;

OpenLptPrn(s);

SendToPrinter1(' 繳 款 憑 證');

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 時 間:'+datetostr(date)+' '+timetostr(time));

SendToPrinter0(' 經手人:'+'xxx');

SendToPrinter0(' 上 機:'+'xx.xx'+'(元)');

SendToPrinter0(' 商 品:'+'xx.xx'+'(元)');

delay(2000);

SendToPrinter0(' 電 話:'+'xx.xx'+'(元)');

SendToPrinter0(' 合 計:'+'xx.xx'+'(元)');

SendToPrinter0(' 卡收入驗證:'+'xx.xx'+'(元)');

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 票據流水號:'+'xxx');

delay(2000);

for i:=0 to 10 do

begin

sendtoprinter([$0A]);

end;

SendToPrinter([$0D,$1B,$69]);

fileclose(PRNHwnd);

end;

procedure TForm1.Button3Click(Sender: TObject);

var i:integer;s:string;

begin

if COMBOBOX1.Text='' then

s:='COM1'

else

s:=COMBOBOX1.Text;

OpenLptPrn(s);

SendToPrinter1(' 交 接 班 報 表');

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 應收現金:'+'xx.xx'+'(元)');

SendToPrinter0(' 預付押金:'+'xx.xx'+'(元)');

SendToPrinter0(' 商品收入:'+'xx.xx'+'(元)');

SendToPrinter0(' 電話收入:'+'xx.xx'+'(元)');

SendToPrinter0(' 合 計:'+'xx.xx'+'(元)');

SendToPrinter0(' -----------------------------');

SendToPrinter0(' 時間:'+datetostr(date)+' '+timetostr(time));

SendToPrinter0(' 收款員:張三 ');

delay(4000);

for i:=0 to 9 do

begin

sendtoprinter([$0A]);

end;

SendToPrinter([$0D,$1B,$69]);

fileclose(PRNHwnd);

end;

end.

  • 上一篇:網頁制作的進來幫幫忙
  • 下一篇:在家怎樣做油炸綠豆糕?
  • copyright 2024編程學習大全網