?? urinvoice.pas
字號:
PROCEDURE INVOICE_IV_CTRL(EXPRESSION:STRING);
BEGIN
INVOICE_IV_TITLE;
//IF ED_PRINTER.ItemIndex =0 THEN //測試LPT1
//IF (INTTOSTR(INP32(STRTOINTDEF(C_LPTADDR,889))) <> C_LPTVALUE) AND (OUT_PORT = 'LPT1') THEN EXIT;
COMPORT_OUTLN(INVOICE_OUT_PORT,EXPRESSION);
IF FormExists('FRINVOICE' )=TRUE THEN FRINVOICE.MEMO.Lines.Add( EXPRESSION );
END;
PROCEDURE INVOICE_IV_CTRLX(EXPRESSION:STRING);
BEGIN
INVOICE_IV_TITLE;
//IF ED_PRINTER.ItemIndex =0 THEN //測試LPT1
//IF (INTTOSTR(INP32(STRTOINTDEF(C_LPTADDR,889))) <> C_LPTVALUE) AND (OUT_PORT = 'LPT1') THEN EXIT;
COMPORT_OUT(INVOICE_OUT_PORT,EXPRESSION);
IF FormExists('FRINVOICE' )=TRUE THEN FRINVOICE.MEMO.Lines.Add( EXPRESSION );
END;
PROCEDURE INVOICE_IV_INV_TEXT(EXPRESSION:STRING);
BEGIN
INC(INVOICE_COUNTER);
INVOICE_IV_TEXT(EXPRESSION);
IF FormExists('FRINVOICE' )=TRUE THEN FRINVOICE.MEMO.Lines.Add( EXPRESSION );
IF INVOICE_COUNTER >= STRTOINTDEF(INVOICE_MAXROW,0) THEN // EPSON
BEGIN
IF INVOICE_PRINTER = 4 THEN // EPSON 蓋印章
BEGIN
INVOICE_IV_TEXT(''); INVOICE_IV_TEXT('');
INVOICE_IV_TEXT(''); INVOICE_IV_TEXT('');
INVOICE_IV_TEXT(''); INVOICE_IV_TEXT('');
INVOICE_IV_TEXT(''); INVOICE_IV_TEXT('');
INVOICE_IV_TEXT(''); INVOICE_IV_TEXT('');
INVOICE_IV_TEXT(''); INVOICE_IV_TEXT('');
INVOICE_STAMPING; //蓋印章
END;
INVOICE_COUNTER := 0;
INVOICE_IV_PAGEFEED;
END;
END;
PROCEDURE INVOICE_IV_INV_LINEFEED;
BEGIN
INVOICE_IV_INV_TEXT('');
END;
PROCEDURE INVOICE_IV_PAGEFEED; //下一頁
BEGIN
IF INVOICE_PRINTER =0 THEN INVOICE_IV_CTRL('XC');
IF INVOICE_PRINTER =1 THEN INVOICE_IV_CTRLX(CHR(12));
IF INVOICE_PRINTER =2 THEN INVOICE_IV_CTRLX(CHR(12));
IF INVOICE_PRINTER =3 THEN INVOICE_IV_CTRL(CHR(27)+CHR(27)+'VB');
IF INVOICE_PRINTER =4 THEN INVOICE_IV_CTRL(CHR(12));
END;
PROCEDURE INVOICE_IV_LEFTLINE_TEXT(EXPRESSION:STRING);
VAR STR:STRING;
BEGIN
INVOICE_IV_TITLE;
IF INVOICE_PRINTER =0 THEN STR := 'XR1'+ EXPRESSION;
IF INVOICE_PRINTER =1 THEN STR := CHR(27)+CHR(82)+CHR(0)+ EXPRESSION;
IF INVOICE_PRINTER =2 THEN STR := EXPRESSION;
IF INVOICE_PRINTER =3 THEN STR := CHR(27)+CHR(27)+'PR1'+EXPRESSION;
IF INVOICE_PRINTER =4 THEN STR := CHR(27)+'c0'+CHR(2)+EXPRESSION;
COMPORT_OUTLN(INVOICE_OUT_PORT,STR);
IF FormExists('FRINVOICE' )=TRUE THEN FRINVOICE.MEMO.Lines.Add( STR );
END;
PROCEDURE INVOICE_STAMPING; //蓋印章
BEGIN
IF INVOICE_PRINTER =0 THEN INVOICE_IV_CTRL('XG');
IF INVOICE_PRINTER =1 THEN INVOICE_IV_CTRL('XG');
IF INVOICE_PRINTER =2 THEN INVOICE_IV_CTRL('XG');
IF INVOICE_PRINTER =3 THEN INVOICE_IV_CTRL(CHR(27)+CHR(27)+'S');
IF INVOICE_PRINTER =4 THEN INVOICE_IV_CTRL(CHR(27)+CHR(111));
END;
PROCEDURE INVOICE_OPEN_CASHBOX; //打開錢箱
VAR C : TCOMM;
BEGIN
IF CASHDRAWER_CASH = 1 THEN
BEGIN
IF INVOICE_PRINTER =0 THEN INVOICE_IV_CTRL('XMB');
IF INVOICE_PRINTER =1 THEN INVOICE_IV_CTRLX(CHR(28));
IF INVOICE_PRINTER =2 THEN INVOICE_IV_CTRLX(CHR(7));
IF INVOICE_PRINTER =3 THEN INVOICE_IV_CTRL(CHR(27)+CHR(27)+'G');
IF INVOICE_PRINTER =4 THEN INVOICE_IV_CTRLX(CHR(27)+'p0'+CHR(50)+CHR(250));
END;
IF CASHDRAWER_CASH = 2 THEN
BEGIN
C := TCOMM.Create(FRINVOICE);
IF CASHDRAWER_PORT = 0 THEN C.CommName := 'COM1';
IF CASHDRAWER_PORT = 1 THEN C.CommName := 'COM2';
IF CASHDRAWER_PORT = 2 THEN C.CommName := 'COM3';
IF CASHDRAWER_PORT = 3 THEN C.CommName := 'COM4';
C.StartComm;
C.WriteCommData(PCHAR(REPLICATE('0011',CASHDRAWER_INTTIME)),CASHDRAWER_INTTIME);
C.WriteCommData(PCHAR(REPLICATE('1100',CASHDRAWER_INTTIME)),CASHDRAWER_INTTIME);
C.StopComm;
END;
END;
PROCEDURE INVOICE_CUT_PAPER; //切紙
BEGIN
IF INVOICE_PRINTER =0 THEN INVOICE_IV_CTRL('XF');
IF INVOICE_PRINTER =3 THEN INVOICE_IV_CTRL(CHR(27)+CHR(27)+'C');
IF INVOICE_PRINTER =4 THEN INVOICE_IV_CTRL(CHR(29)+CHR(86)+chr(66));
END;
procedure TFRINVOICE.FormCreate(Sender: TObject);
begin
INVOICE_COUNTER := 0;
ED_MAXROW.Value := 20; //最大值
INVOICE_OUT_PORT := 'LPT1';
IF FileExists(FILEPATH_INVOICE) = FALSE THEN
BEGIN
FILE_CREATE(FILEPATH_INVOICE);
INVOICE_WRITE_INI;
END ELSE BEGIN
INVOICE_READ_INI;
END;
INVOICE_FIRST_PRINT := FALSE;
end;
procedure TFRINVOICE.FormShow(Sender: TObject);
begin
CD_PORT.Visible := FALSE;
IF CD_CASH.ItemIndex = 2 THEN CD_PORT.Visible := TRUE;
PAGE_A.SHOW;
end;
procedure TFRINVOICE.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FRINVOICE.Release;
end;
procedure TFRINVOICE.BTNQUTClick(Sender: TObject);
begin
INVOICE_WRITE_INI;
CLOSE;
end;
procedure TFRINVOICE.BTNESCClick(Sender: TObject);
begin
CLOSE;
end;
procedure TFRINVOICE.P_TEST_TEXTClick(Sender: TObject);
begin
INVOICE_IV_TEXT(P_TEXT.Text);
end;
procedure TFRINVOICE.BitBtn6Click(Sender: TObject);
begin
INVOICE_IV_CTRL(P_CTRL.Text);
end;
procedure TFRINVOICE.BTN_XFClick(Sender: TObject);
begin
INVOICE_CUT_PAPER; //切紙
end;
procedure TFRINVOICE.BTN_XGClick(Sender: TObject);
begin
INVOICE_STAMPING; //蓋印章
end;
procedure TFRINVOICE.BitBtn4Click(Sender: TObject);
begin
INVOICE_IV_CTRL('XER');
end;
procedure TFRINVOICE.BTN_XBClick(Sender: TObject);
begin
INVOICE_IV_CTRL('XB');
end;
procedure TFRINVOICE.BitBtn3Click(Sender: TObject);
begin
INVOICE_IV_CTRL('XC');
INVOICE_COUNTER := 0;
end;
procedure TFRINVOICE.BTN_CASHBOXClick(Sender: TObject);
begin
INVOICE_OPEN_CASHBOX;
end;
procedure TFRINVOICE.BTNCASHBOXTESTClick(Sender: TObject);
begin
IF CASHDRAWER_PORT = 0 THEN COMM2.CommName := 'COM1';
IF CASHDRAWER_PORT = 1 THEN COMM2.CommName := 'COM2';
IF CASHDRAWER_PORT = 2 THEN COMM2.CommName := 'COM3';
IF CASHDRAWER_PORT = 3 THEN COMM2.CommName := 'COM4';
Comm2.StartComm;
Comm2.WriteCommData(PCHAR(REPLICATE('0011',CD_INTTIME.Value)),CD_INTTIME.Value);
DELAY(100);
Comm2.WriteCommData(PCHAR(REPLICATE('1100',CD_INTTIME.Value)),CD_INTTIME.Value);
Comm2.StopComm;
INVOICE_CHANGE_VARIABLE;
end;
procedure TFRINVOICE.CD_CASHClick(Sender: TObject);
begin
CD_PORT.Visible := FALSE;
IF CD_CASH.ItemIndex = 2 THEN CD_PORT.Visible := TRUE;
INVOICE_CHANGE_VARIABLE;
end;
procedure TFRINVOICE.ED_PRINTERClick(Sender: TObject);
begin
INVOICE_FIRST_PRINT := FALSE;
end;
procedure TFRINVOICE.ED_DELAYChange(Sender: TObject);
begin
INVOICE_CHANGE_VARIABLE;
end;
procedure TFRINVOICE.ED_PORTClick(Sender: TObject);
begin
INVOICE_CHANGE_VARIABLE;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -