rppos2f.pas

来自「DELPHI编写的商场收银POS机源代码」· PAS 代码 · 共 228 行

PAS
228
字号
unit RPPOS2F;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, Buttons, ExtCtrls, StdCtrls, JLOOKUP, JEdit;

type
  TRMPOS2F = class(TForm)
    QPOSA: TQuery;
    QPOSB: TQuery;
    GroupBox2: TGroupBox;
    LB_A: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    LB11: TJEdit;
    LB12: TJEdit;
    LB31: JLOOKUPBOX;
    LB41: TJEdit;
    Panel1: TPanel;
    ED_INVOICE: TRadioGroup;
    ED_ORDER: TRadioGroup;
    Panel2: TPanel;
    BTNPRN: TSpeedButton;
    BTNPRE: TSpeedButton;
    BTNQUT: TSpeedButton;
    QPOSAPAENO: TStringField;
    QPOSAPAIDE: TStringField;
    QPOSABMENO: TStringField;
    QPOSABNENO: TStringField;
    QPOSAPAIPN: TBooleanField;
    QPOSAPAIVO: TStringField;
    QPOSAPACIV: TStringField;
    QPOSAPADAT: TDateTimeField;
    QPOSAPATME: TStringField;
    QPOSAPACNT: TFloatField;
    QPOSAPACOT: TFloatField;
    QPOSAPACOG: TFloatField;
    QPOSAPACNO: TStringField;
    QPOSAPACDT: TDateTimeField;
    QPOSAPACNA: TFloatField;
    QPOSAPACKD: TStringField;
    QPOSAPGCOS: TFloatField;
    QPOSAPABCK: TBooleanField;
    QPOSAPABCN: TBooleanField;
    QPOSAPACPD: TBooleanField;
    QPOSAPAWEK: TStringField;
    QPOSBPAENO: TStringField;
    QPOSBPBENO: TStringField;
    QPOSBBGQTN: TFloatField;
    QPOSBBGENO: TStringField;
    QPOSBBGCNT: TFloatField;
    QPOSBBGCOS: TFloatField;
    QPOSBBGCOT: TFloatField;
    QPOSBBGENO_1: TStringField;
    QPOSBBGNAM: TStringField;
    QPOSBBGKIN: TStringField;
    QPOSBBGPST: TFloatField;
    QPOSBBGPVP: TFloatField;
    QPOSBBGPMM: TFloatField;
    QPOSBBGCST: TFloatField;
    QPOSBBGOTH: TFloatField;
    QPOSBBGQTS: TFloatField;
    QPOSBBGQTN_1: TFloatField;
    QPOSBBGCOS_1: TFloatField;
    QPOSBBSENO: TStringField;
    QPOSBBGCNA: TStringField;
    QPOSBBGSUM: TStringField;
    QPOSBBGSIN: TStringField;
    QPOSBBGRUL: TStringField;
    QPOSBBGGAU: TStringField;
    QPOSBBGUNS: TStringField;
    QPOSBBGUNP: TStringField;
    QPOSBBGCLR: TStringField;
    QPOSBBGCLH: TStringField;
    QPOSBBGCLW: TFloatField;
    QPOSBBGUNW: TStringField;
    QPOSBBGUSE: TStringField;
    QPOSBBGCSS: TFloatField;
    QPOSBBGQTE: TFloatField;
    QPOSBBGDTC: TDateTimeField;
    QPOSBBGDAT: TDateTimeField;
    QPOSBBGMRK: TMemoField;
    QPOSBBGBSA: TStringField;
    QPOSBBGBSB: TStringField;
    QPOSBBGBSC: TStringField;
    QPOSBBGBIA: TFloatField;
    QPOSBBGBIB: TFloatField;
    QPOSBBGBIC: TFloatField;
    procedure BTNQUTClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BTNPREClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  RMPOS2F: TRMPOS2F;

implementation

uses sysini, fm_utl, un_utl, RPPOS2P, MAINU;

{$R *.DFM}

procedure TRMPOS2F.FormCreate(Sender: TObject);
begin
IF FormExists('RMPOS2P')=FALSE THEN Application.CreateForm(TRMPOS2P, RMPOS2P );

//按钮图形加载
BTNPRN.Glyph := PRN_TB;
BTNPRE.Glyph := PRE_TB;
BTNQUT.Glyph := QUT_TB;


//预设日期
LB11.Text := REGISTER_LOAD_OBJECT_STR('\MICROPOS\RPPOS2F\LB11',LB11.TEXT);
LB12.Text := REGISTER_LOAD_OBJECT_STR('\MICROPOS\RPPOS2F\LB12',LB12.TEXT);
IF (TRIM(LB11.Text) = '') AND (TRIM(LB12.Text) = '') THEN LB11.Text := EDATE_TO_CDATE(DATETOSTR(DATE));

//LB31.TEXT := _USER_ID;
end;

procedure TRMPOS2F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//日期存盘
REGISTER_SAVE_OBJECT_STR('\MICROPOS\RPPOS2F\LB11',LB11.Text);
REGISTER_SAVE_OBJECT_STR('\MICROPOS\RPPOS2F\LB12',LB12.Text);

RMPOS2F.Release;
RMPOS2P.Release;
end;

procedure TRMPOS2F.FormShow(Sender: TObject);
begin
LB11.SETFOCUS;
end;


procedure TRMPOS2F.BTNQUTClick(Sender: TObject);
begin
CLOSE;
end;

procedure TRMPOS2F.BTNPREClick(Sender: TObject);
begin
//检查日期
IF CHECK_CDATE(LB11.Text,TRUE) = FALSE THEN LB11.SetFocus;
//IF CHECK_CDATE(LB12.Text,TRUE) = FALSE THEN LB12.SetFocus;
IF CHECK_CDATE(LB11.Text,FALSE) = FALSE THEN EXIT;
//IF CHECK_CDATE(LB12.Text,FALSE) = FALSE THEN EXIT;



  WITH QPOSA DO
  BEGIN
    CLOSE;
    SQL.CLEAR;
    SQL.ADD('SELECT * FROM POSA');
    SQL.ADD('WHERE PAENO IS NOT NULL');

    //ACCESS " DATE " WHERE KEY  ======================
    SQL.ADD(FINDFORM_WHEREKEY_DATE('PADAT',LB11.Text,LB12.Text));

    //字符串查询
    SQL.ADD(FINDFORM_WHEREKEY_STRING('BNENO',LB31.Text,''));
    SQL.ADD(FINDFORM_WHEREKEY_STRING('PAIVO',LB41.Text,''));
    IF ED_INVOICE.ItemIndex = 1 THEN SQL.ADD(' AND PAIPN = 1 ');
    IF ED_INVOICE.ItemIndex = 2 THEN SQL.ADD(' AND PAIPN = 0 ');
//    IF ED_INVOICE.Checked = TRUE  THEN SQL.ADD(' AND PAIPN = 1 ');
//    IF ED_INVOICE.Checked = FALSE THEN SQL.ADD(' AND PAIPN = 0 ');

    //查询 排序    //ORDER BYE=======================================
//    SQL.ADD(FINDFORM_ORDERBY3(F_NAME[1],F_NAME[2],F_NAME[3],WHEREKEY1.ItemIndex,WHEREKEY2.ItemIndex,WHEREKEY3.ItemIndex));
    CASE ED_ORDER.ItemIndex OF
          0: SQL.ADD('ORDER BY PAIVO, PAENO, PADAT,PATME');
          1: SQL.ADD('ORDER BY BNENO, PAENO, PADAT,PATME');
          2: SQL.ADD('ORDER BY PAIDE, PAENO, PADAT,PATME');
          3: SQL.ADD('ORDER BY PAENO, PADAT,PATME');
    ELSE     SQL.ADD('ORDER BY PAENO, PADAT,PATME');
    END;

//    SHOWMESSAGE(SQL.TEXT);
    OPEN;
  END;



  WITH RMPOS2P DO
  BEGIN
  LBTITLE.Caption     := RMPOS2F.Caption;
  LB_USER_CORP_RBPST.Caption := _USER_CORP_RBPST ;
  LB_USER_CORP_NAME .Caption := _USER_CORP_NAME  ;
  LB_USER_CORP_NO   .Caption := _USER_CORP_NO    ;
  LB_USER_CORP_TEL  .Caption := _USER_CORP_TEL   ;
  LB_USER_CORP_FAX  .Caption := _USER_CORP_FAX   ;
  LB_USER_CORP_ADDR .Caption := _USER_CORP_ADDR  ;

  ED_DAT1.Caption := LB11.TEXT;
  ED_DAT2.Caption := LB12.TEXT;


  IF QPOSA.EOF = TRUE THEN
    BEGIN
    SHOWMESSAGE('没有此资料');
    LB11.SETFOCUS;
    END ELSE BEGIN
    IF SENDER = BTNPRE THEN RMPOS2P.QuickRep.Preview;
    IF SENDER = BTNPRN THEN RMPOS2P.QuickRep.Print;
    END;

  END;


end;





end.

⌨️ 快捷键说明

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