⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 urinvoice.pas

📁 主要介绍超市管理系统的后台系统,后台程序是系统初始化和系统维护最常使用的一部分程序,主要任务是建产基本数据,进出货盘点和打印报表.后台程序主要负责的都是管理上的功能,当后台建立完整的数据后,前台才能顺
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -