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

📄 unposagift.pas

📁 包含控件及安装说明、含数据库
💻 PAS
字号:
unit UNPOSAGIFT;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, DBCtrls, Grids, DBGrids, JLOOKUP, SELOOKUP, JEdit,
  Menus;

type
  TFMPOSAGIFT = class(TForm)
    Label1: TLabel;
    BTNQUT: TBitBtn;
    Label3: TLabel;
    ED_PGCNO: TJEdit;
    ED_PGCDT: TJEdit;
    ED_PGCKD: TJEdit;
    ED_PGCNA: TJEdit;
    Label2: TLabel;
    Label4: TLabel;
    MainMenu1: TMainMenu;
    ESC: TMenuItem;
    GIFT_GRID: TStringGrid;
    F12: TMenuItem;
    Label5: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BTNQUTClick(Sender: TObject);
    procedure ED_PGCNOKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure GIFT_GRIDKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure F12Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FMPOSAGIFT: TFMPOSAGIFT;

implementation

USES SYSINI, UN_UTL, FM_UTL, DB_UTL, UNPOSA, UNPOSAD, MAIN, URDSP;

{$R *.DFM}

procedure TFMPOSAGIFT.FormCreate(Sender: TObject);
begin
//
end;

procedure TFMPOSAGIFT.FormShow(Sender: TObject);
begin
  GIFT_GRID.Cells[0,0] := ' 编  号';
  GIFT_GRID.Cells[1,0] := ' 到 期 日';
  GIFT_GRID.Cells[2,0] := ' 类  别';
  GIFT_GRID.Cells[3,0] := ' 金     额';
  
  //礼券资料======================================
  ED_PGCNO.TEXT  := _TB_GIFT_PGCNO;  //礼券号
  ED_PGCDT.TEXT  := _TB_GIFT_PGCDT;  //礼券到期日
  ED_PGCNA.TEXT  := FLOATTOSTR(_TB_GIFT_PGCNA);  //礼券金额
  ED_PGCKD.TEXT  := _TB_GIFT_PGCKD;  //礼券类别
  
  //带入 INPUT 的值
  ED_PGCNA.TEXT := INTTOSTR(STRTOINTDEF(FMPOSA.ED_INPUT.TEXT,0));
  
  ED_PGCNO.SetFocus;
end;

procedure TFMPOSAGIFT.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //礼券资料======================================
  _TB_GIFT_PGCNO  := ED_PGCNO.TEXT;  //礼券号
  _TB_GIFT_PGCDT  := ED_PGCDT.TEXT;  //礼券到期日
  _TB_GIFT_PGCNA  := STRTOFLOATDEF(ED_PGCNA.TEXT,0);  //礼券金额
  _TB_GIFT_PGCKD  := ED_PGCKD.TEXT;  //礼券类别
end;

procedure TFMPOSAGIFT.FormCloseQuery(Sender: TObject;  var CanClose: Boolean);
begin
  IF (STRTOFLOATDEF(ED_PGCNA.TEXT,-999) < 0) THEN  //礼券金额
     BEGIN
     CANCLOSE := FALSE;
     ED_PGCNA.SetFocus;
     ED_PGCNA.SelectAll;
     END;
end;

procedure TFMPOSAGIFT.ED_PGCNOKeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
VAR I , J:INTEGER;
begin
  IF (KEY = 27) THEN BEGIN BTNQUT.Click; EXIT;  END;
  IF (KEY = 13) AND (SENDER = ED_PGCNO) THEN ED_PGCDT.SetFocus;
  IF (KEY = 13) AND (SENDER = ED_PGCDT) THEN ED_PGCKD.SetFocus;
  IF (KEY = 13) AND (SENDER = ED_PGCKD) THEN ED_PGCNA.SetFocus;
  IF (KEY = 13) AND (SENDER = ED_PGCNA) THEN
     BEGIN
  
     IF STRTOFLOATDEF(ED_PGCNA.TEXT,0) <= 0 THEN EXIT;
  
     //算笔数
     FOR I := 1 TO 200 DO
       BEGIN
       J := I;
       IF TRIM(GIFT_GRID.Cells[3,I]) =  '' THEN BREAK;
       END;
  
     FOR I := (J+1) DOWNTO 1 DO GIFT_GRID.Rows[I].Text := GIFT_GRID.Rows[I-1].Text;
  
     GIFT_GRID.Cells[0,1] := ED_PGCNO.TEXT;
     GIFT_GRID.Cells[1,1] := ED_PGCDT.TEXT;
     GIFT_GRID.Cells[2,1] := ED_PGCKD.TEXT;
     GIFT_GRID.Cells[3,1] := ED_PGCNA.TEXT;
     ED_PGCNO.SetFocus;
     END;
end;

procedure TFMPOSAGIFT.GIFT_GRIDKeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
begin
  IF (KEY = 27) THEN BEGIN BTNQUT.Click; EXIT;  END;
  IF (KEY = 13) THEN BEGIN ED_PGCNO.SetFocus;   END;
  IF (KEY = 38) THEN //向上移
     BEGIN
     IF (GIFT_GRID.Row<=1)OR(GIFT_GRID.Row>199)THEN ED_PGCNO.SetFocus;
     IF (GIFT_GRID.Row>1)THEN
     GIFT_GRID.Row := GIFT_GRID.Row -1;
     EXIT;
     END;
end;

procedure TFMPOSAGIFT.BTNQUTClick(Sender: TObject);
VAR TOTAL, CNT, I : INTEGER;
begin
  TOTAL := 0;   //礼券总金额
  CNT   := 0;   //礼券总金额
  FOR I := 1 TO 19 DO
     BEGIN
     IF STRTOINTDEF(FMPOSAGIFT.GIFT_GRID.Cells[3,I], -1) >= 0 THEN
        BEGIN
        INC(CNT);
        TOTAL := TOTAL + STRTOINTDEF(FMPOSAGIFT.GIFT_GRID.Cells[3,I],0);
        END;
     END;

  // 客显==================================================================
  DSP_TITLE;
  DSP_TEXT1('Gift Record is ' +REPLICATE(' ',5 -LENGTH( INTTOSTR(CNT  )) ) + INTTOSTR(CNT  ) ,'R');
  DSP_TEXT2('Total Cost is  ' +REPLICATE(' ',5 -LENGTH( INTTOSTR(TOTAL)) ) + INTTOSTR(TOTAL) ,'R');
  // 客显==================================================================

  CLOSE;
end;

procedure TFMPOSAGIFT.F12Click(Sender: TObject);
VAR I, TARGET, DEL_REC :INTEGER;
BEGIN
  TARGET  := GIFT_GRID.Row;

  //条件不符 跳出
  IF (TARGET <= 0) OR (TRIM(GIFT_GRID.Cells[3,1])= '') THEN
     BEGIN
     EXIT;
     END;
  
  FOR I := TARGET TO 200 DO
      BEGIN
      GIFT_GRID.Rows[I].Text := GIFT_GRID.Rows[I+1].Text;
      IF TRIM(GIFT_GRID.Cells[3,I+1]) =  '' THEN BREAK;
      END;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -