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

📄 unbsup.pas

📁 DELPHI编写的商场收银POS机源代码
💻 PAS
字号:
unit UNBSUP;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, JLOOKUPD, SELOOKUPD, Menus, Grids, DBGrids, Mask,
  DBCtrls, JEdit, ExtCtrls, ComCtrls;

type

  TFMBSUP = class(TForm)
    StatusBar: TStatusBar;
    Panel2: TPanel;
    MainMenu: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    Panel1: TPanel;
    BTNQUT: TBitBtn;
    BTNCAL: TBitBtn;
    BTNYES: TBitBtn;
    BTNDEL: TBitBtn;
    BTNINS: TBitBtn;
    BTNPRN: TBitBtn;
    BTNSET: TBitBtn;
    GroupBox1: TGroupBox;
    LB1: TLabel;
    LB2: TLabel;
    LB3: TLabel;
    Label7: TLabel;
    Label9: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label8: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    LB11: TJEdit;
    LB31: TJEdit;
    LB12: TJEdit;
    LB32: TJEdit;
    LB21: TJEdit;
    LB22: TJEdit;
    LB41: TJEdit;
    LB42: TJEdit;
    LB51: TJEdit;
    LB52: TJEdit;
    LB61: TJEdit;
    LB62: TJEdit;
    LB71: TJEdit;
    LB72: TJEdit;
    BTNSER: TBitBtn;
    BTNCLR: TBitBtn;
    BTNPRE: TBitBtn;
    N6: TMenuItem;
    MENPRE: TMenuItem;
    MENPRN: TMenuItem;
    LBBSENO: TLabel;
    LBBSNAM: TLabel;
    LBBSSCN: TLabel;
    LBBSMN1: TLabel;
    LBBSMN2: TLabel;
    LBBSMN3: TLabel;
    LBBSCNA: TLabel;
    LBBSTL1: TLabel;
    LBBSTL2: TLabel;
    LBBSFX1: TLabel;
    LBBSFX2: TLabel;
    LBBSAD1: TLabel;
    LBBSAD2: TLabel;
    LBBSTL9: TLabel;
    LBBSAD9: TLabel;
    LBBSZP1: TLabel;
    LBBSZP2: TLabel;
    LBBSZP9: TLabel;
    LBBSTPN: TLabel;
    LBBSTDT: TLabel;
    LBBSDAT: TLabel;
    LBBSID1: TLabel;
    LBBSTEG: TLabel;
    LBBSMRK: TLabel;
    LBBSTBK: TLabel;
    LBBSDIS: TLabel;
    LBBSTP1: TLabel;
    LBBSTP2: TLabel;
    LBBSTP5: TLabel;
    LBBSTP6: TLabel;
    LBBSALT: TLabel;
    LBBSTTP: TLabel;
    LBBSTTD: TLabel;
    BSENO: TJDBEdit;
    BSNAM: TJDBEdit;
    BSMN1: TJDBEdit;
    BSMN2: TJDBEdit;
    BSMN3: TJDBEdit;
    BSCNA: TJDBEdit;
    BSTL1: TJDBEdit;
    BSTL2: TJDBEdit;
    BSFX1: TJDBEdit;
    BSFX2: TJDBEdit;
    BSAD1: TJDBEdit;
    BSAD2: TJDBEdit;
    BSTL9: TJDBEdit;
    BSAD9: TJDBEdit;
    BSZP1: TJDBEdit;
    BSZP2: TJDBEdit;
    BSZP9: TJDBEdit;
    BSTPN: TJDBEdit;
    BSTDT: TJDBEdit;
    BSDAT: TJDBEdit;
    BSID1: TJDBEdit;
    BSDIS: TJDBEdit;
    BSTP1: TJDBEdit;
    BSTP2: TJDBEdit;
    BSTP5: TJDBEdit;
    BSTP6: TJDBEdit;
    BSALT: TJDBEdit;
    BSTTD: TJDBEdit;
    DBGrid: TDBGrid;
    Label6: TLabel;
    BSTEG: SEDBLOOKUPBOX;
    BSMRK: TDBMemo;
    BSTTP: SEDBLOOKUPBOX;
    BSTBK: SEDBLOOKUPBOX;
    BSSCN: SEDBLOOKUPBOX;
    LB_MAX: TLabel;
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure BTNQUTClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BTNINSClick(Sender: TObject);
    procedure BTNDELClick(Sender: TObject);
    procedure BTNYESClick(Sender: TObject);
    procedure BTNCALClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BTNPRNClick(Sender: TObject);
    procedure BTNSERClick(Sender: TObject);
    procedure BTNCLRClick(Sender: TObject);
    procedure BTNSETClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    FORMMODE : STRING;
    procedure BTNMODE;
    procedure INSERTMODE;
    procedure UPDATEMODE;
    procedure NORMALMODE;
  end;


var
  FMBSUP: TFMBSUP;

implementation

uses SYSINI, FM_UTL, DB_UTL, MAIND, MAINU,
     UNBSUPD, UNREP1;
{$R *.DFM}



procedure TFMBSUP.BTNMODE;
begin

  //一般模式
  DBGrid.Enabled := FALSE;
  BTNINS.Enabled := FALSE;
  BTNDEL.Enabled := FALSE;
  BTNYES.Enabled := FALSE;
  BTNCAL.Enabled := FALSE;
  BTNSER.Enabled := FALSE;
  BTNCLR.Enabled := FALSE;
  BTNPRE.Enabled := FALSE;
  BTNPRN.Enabled := FALSE;
  BTNSET.Enabled := FALSE;
  BTNQUT.Enabled := FALSE;
  //新增修改模式
  if (FORMMODE = 'INS' ) or (FORMMODE = 'UPD' ) then
     BEGIN
     DBGrid.Enabled := FALSE;
     BTNINS.Enabled := FALSE;
     BTNDEL.Enabled := FALSE;
     BTNYES.Enabled := TRUE;
     BTNCAL.Enabled := TRUE;
     BTNSER.Enabled := FALSE;
     BTNCLR.Enabled := FALSE;
     BTNPRE.Enabled := FALSE;
     BTNPRN.Enabled := FALSE;
     BTNSET.Enabled := FALSE;
     BTNQUT.Enabled := FALSE;
     END;
  //一般模式
  if (FORMMODE = 'CAN' ) then
     BEGIN
     DBGrid.Enabled := TRUE;
     BTNINS.Enabled := TRUE;
     BTNDEL.Enabled := TRUE;
     BTNYES.Enabled := FALSE;
     BTNCAL.Enabled := FALSE;
     BTNSER.Enabled := TRUE;
     BTNCLR.Enabled := TRUE;
     BTNPRE.Enabled := TRUE;
     BTNPRN.Enabled := TRUE;
     BTNSET.Enabled := TRUE;
     BTNQUT.Enabled := TRUE;
     END;

  {新增才可改编号}         BSENO.Enabled := FALSE;
  IF FORMMODE = 'INS' THEN BSENO.Enabled := TRUE;
end;

procedure TFMBSUP.INSERTMODE;
begin
  FORMMODE := 'INS';
  BTNMODE;
  BSENO.SetFocus;
end;

procedure TFMBSUP.UPDATEMODE;
begin
  FORMMODE := 'UPD';
  BTNMODE;
end;

procedure TFMBSUP.NORMALMODE;
begin
  FORMMODE := 'CAN';
  BTNMODE;
  DBGRID.SetFocus;
end;
procedure TFMBSUP.FormCreate(Sender: TObject);
begin
  IF FormExists('FMBSUPD')=FALSE THEN Application.CreateForm(TFMBSUPD, FMBSUPD );
  
  //按钮图形加载
  BTNINS.Glyph := INS_TB;
  BTNDEL.Glyph := DEL_TB;
  BTNYES.Glyph := YES_TB;
  BTNCAL.Glyph := CAL_TB;
  BTNSER.Glyph := SER_TB;
  BTNCLR.Glyph := CLR_TB;
  BTNPRE.Glyph := PRE_TB;
  BTNPRN.Glyph := PRN_TB;
  BTNSET.Glyph := SET_TB;
  BTNQUT.Glyph := QUT_TB;

  FMBSUPD.UBSUP.InsertSQL.CLEAR;
  FMBSUPD.UBSUP.InsertSQL.Add('INSERT INTO BSUP ');
  FMBSUPD.UBSUP.InsertSQL.Add(' ( BSENO, BSNAM, BSCNA, BSSCN, BSMN1, BSMN2, BSMN3, BSTL1, BSTL2, BSFX1, BSFX2, BSAD1, BSAD2, BSTL9, BSAD9, BSID1, BSDIS, BSTP1, BSTP2, BSTP5, BSTP6, BSTPN, BSTEG, ');
  FMBSUPD.UBSUP.InsertSQL.Add('   BSALT, BSTDT, BSDAT, BSMRK, BSTBK, BSTTP, BSTTD, BSZP1, BSZP2, BSZP9 ) ');
  FMBSUPD.UBSUP.InsertSQL.Add('VALUES ');
  FMBSUPD.UBSUP.InsertSQL.Add(' (:BSENO,:BSNAM,:BSCNA,:BSSCN,:BSMN1,:BSMN2,:BSMN3,:BSTL1,:BSTL2,:BSFX1,:BSFX2,:BSAD1,:BSAD2,:BSTL9,:BSAD9,:BSID1,:BSDIS,:BSTP1,:BSTP2,:BSTP5,:BSTP6,:BSTPN,:BSTEG, ');
  FMBSUPD.UBSUP.InsertSQL.Add('  :BSALT,:BSTDT,:BSDAT,:BSMRK,:BSTBK,:BSTTP,:BSTTD,:BSZP1,:BSZP2,:BSZP9 ) ');

  FMBSUPD.UBSUP.ModifySQL.CLEAR;
  FMBSUPD.UBSUP.ModifySQL.Add('UPDATE BSUP ');
  FMBSUPD.UBSUP.ModifySQL.Add('SET ');
  FMBSUPD.UBSUP.ModifySQL.Add('BSENO = :BSENO ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSNAM = :BSNAM ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSCNA = :BSCNA ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSSCN = :BSSCN ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSMN1 = :BSMN1 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSMN2 = :BSMN2 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSMN3 = :BSMN3 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTL1 = :BSTL1 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTL2 = :BSTL2 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTL9 = :BSTL9 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSFX1 = :BSFX1 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSFX2 = :BSFX2 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSAD1 = :BSAD1 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSAD2 = :BSAD2 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSZP1 = :BSZP1 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSZP2 = :BSZP2 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSZP9 = :BSZP9 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSAD9 = :BSAD9 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSID1 = :BSID1 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSDIS = :BSDIS ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTP1 = :BSTP1 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTP2 = :BSTP2 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTP5 = :BSTP5 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTP6 = :BSTP6 ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTPN = :BSTPN ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTEG = :BSTEG ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSALT = :BSALT ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTDT = :BSTDT ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSDAT = :BSDAT ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTBK = :BSTBK ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTTP = :BSTTP ,');
  FMBSUPD.UBSUP.ModifySQL.Add('BSTTD = :BSTTD  ');
  FMBSUPD.UBSUP.ModifySQL.Add('WHERE BSENO = :OLD_BSENO');

  FMBSUPD.UBSUP.DeleteSQL.CLEAR;
  FMBSUPD.UBSUP.DeleteSQL.Add('DELETE FROM BSUP ');
  FMBSUPD.UBSUP.DeleteSQL.Add('WHERE BSENO = :OLD_BSENO');

  FMBSUPD.QBSUP.SQL.CLEAR;
  FMBSUPD.QBSUP.SQL.ADD('SELECT * FROM BSUP ');
  FMBSUPD.QBSUP.SQL.ADD('ORDER BY BSENO, BSNAM ');
  FMBSUPD.QBSUP.CLOSE;
  FMBSUPD.QBSUP.OPEN;

  LB_MAX.CAPTION := '最大编号'+CHECK_BASE_TABLE_NO('BSUP','BSENO');
end;

procedure TFMBSUP.FormShow(Sender: TObject);
begin
  NORMALMODE;
end;

procedure TFMBSUP.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  //Form 要结束前的询问(系统事件)
  CanClose := True;
  IF (FORMMODE = 'INS' ) or (FORMMODE = 'UPD' ) THEN
    BEGIN
    MessageDlg('请先结束输入模式后再退出!',mtConfirmation,[mbOk],0);
    CanClose := False;
    END;
end;

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

procedure TFMBSUP.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  DataModuleRelease(FMBSUPD);
  FormRelease(FMBSUP);
  FormFREE('FMBSUPP');
end;

procedure TFMBSUP.BTNINSClick(Sender: TObject);
begin
  //检查权限============================================
  IF PERMISSION_CHECK(_USER_ID,'BSUP_INS') = FALSE THEN EXIT;
  
  INSERTMODE;
  WITH FMBSUPD DO
    BEGIN
    QBSUP.APPEND;
    QBSUPBSENO.VALUE := ''  ;
    QBSUPBSNAM.VALUE := ''  ;
    QBSUPBSCNA.VALUE := ''  ;
    QBSUPBSSCN.VALUE := ''  ;
    QBSUPBSMN1.VALUE := ''  ;
    QBSUPBSMN2.VALUE := ''  ;
    QBSUPBSMN3.VALUE := ''  ;
    QBSUPBSTL1.VALUE := ''  ;
    QBSUPBSTL2.VALUE := ''  ;
    QBSUPBSTL9.VALUE := ''  ;
    QBSUPBSFX1.VALUE := ''  ;
    QBSUPBSFX2.VALUE := ''  ;
    QBSUPBSAD1.VALUE := ''  ;
    QBSUPBSAD2.VALUE := ''  ;
    QBSUPBSAD9.VALUE := ''  ;
    QBSUPBSID1.VALUE := ''  ;
    QBSUPBSDIS.VALUE := 1   ;
    QBSUPBSTP1.VALUE := 0   ;
    QBSUPBSTP2.VALUE := 0   ;
    QBSUPBSTP5.VALUE := 0   ;
    QBSUPBSTP6.VALUE := 0   ;
    QBSUPBSTPN.VALUE := ''  ;
    QBSUPBSTEG.VALUE := 'TW'  ;
    QBSUPBSALT.VALUE := 0   ;
  //  QBSUPBSTDT.VALUE := DATE;
    QBSUPBSDAT.VALUE := DATE;
    QBSUPBSMRK.VALUE := ''  ;
    QBSUPBSTBK.VALUE := ''  ;
    QBSUPBSTTP.VALUE := ''  ;
    QBSUPBSTTD.VALUE := 0   ;
    QBSUPBSZP1.VALUE := ''  ;
    QBSUPBSZP2.VALUE := ''  ;
    QBSUPBSZP9.VALUE := ''  ;
    END;
end;

procedure TFMBSUP.BTNDELClick(Sender: TObject);
begin
  //检查权限============================================
  IF PERMISSION_CHECK(_USER_ID,'BSUP_DEL') = FALSE THEN EXIT;
  
  IF MessageDlg('是否确定要删除此条记录吗?',mtWarning, [mbYes, mbNo], 0) = mrYes then
     IF MessageDlg('如果您按下确定按钮此条记录将会被删除',mtWarning, [mbYes, mbNo], 0) = mrYes then
        BEGIN
        FMBSUPD.QBSUP.Delete;
        FM_DB_QUERY_UPDATE(FMMAIND.DATABASE,FMBSUPD.QBSUP);
        NORMALMODE;
        END;

  LB_MAX.CAPTION := '最大编号'+CHECK_BASE_TABLE_NO('BSUP','BSENO');
end;

procedure TFMBSUP.BTNYESClick(Sender: TObject);
begin
  //检查权限============================================
  IF PERMISSION_CHECK(_USER_ID,'BSUP_UPD') = FALSE THEN EXIT;
  
  //检查重复
  IF (FORMMODE = 'INS' ) THEN
  IF TABLECHECK_RE1('BSUP','BSENO',BSENO.Text) > 0 THEN
     BEGIN
     SHOWMESSAGE('此编号已经重复使用!');  EXIT;
     END;
  
  
  Case MessageDlg('是否确定存储此条记录?',mtConfirmation,[mbYes,mbNo,mbCancel],0) of
   mrYES :begin
          NORMALMODE;
          FM_DB_QUERY_POST(FMMAIND.DATABASE,FMBSUPD.QBSUP);
  
          // 更新 MEMO 的资料
          FMMAIND.QUPD.SQL.CLEAR;
          FMMAIND.QUPD.SQL.ADD('UPDATE BSUP SET');
          FMMAIND.QUPD.SQL.ADD('BSMRK = '''+StringReplace(BSMRK.TEXT,'''','"',[rfReplaceAll])+''' ');
          FMMAIND.QUPD.SQL.ADD('WHERE BSENO = '''+BSENO.TEXT+''' ');
          FMMAIND.QUPD.ExecSQL;
  
          end;
   mrNO  :begin
          NORMALMODE;
          FMBSUPD.QBSUP.Cancel;
          end;
  END;

  LB_MAX.CAPTION := '最大编号'+CHECK_BASE_TABLE_NO('BSUP','BSENO');
end;

procedure TFMBSUP.BTNCALClick(Sender: TObject);
begin
  NORMALMODE;
  FMBSUPD.QBSUP.Cancel;
end;

procedure TFMBSUP.BTNSERClick(Sender: TObject);
begin
  //检查权限============================================
  IF PERMISSION_CHECK(_USER_ID,'BSUP_SEA') = FALSE THEN EXIT;
  
  WITH FMBSUPD.QBSUP DO
    BEGIN
    CLOSE;
    SQL.CLEAR;
    SQL.ADD('SELECT * FROM BSUP');
    SQL.ADD('WHERE BSENO IS NOT NULL');

    //字符串查询
    SQL.ADD(FINDFORM_WHEREKEY_STRING('BSENO',LB11.Text,LB12.Text));
    SQL.ADD(FINDFORM_WHEREKEY_STRING('BSNAM',LB21.Text,LB22.Text));
    SQL.ADD(FINDFORM_WHEREKEY_STRING('BSMN1',LB31.Text,LB32.Text));
    SQL.ADD(FINDFORM_WHEREKEY_STRING('BSTL1',LB41.Text,LB42.Text));
    SQL.ADD(FINDFORM_WHEREKEY_STRING('BSTL2',LB51.Text,LB52.Text));
    SQL.ADD(FINDFORM_WHEREKEY_STRING('BSAD1',LB61.Text,LB62.Text));
    SQL.ADD(FINDFORM_WHEREKEY_STRING('BSAD2',LB71.Text,LB72.Text));
    SQL.ADD('ORDER BY BSENO, BSNAM');
    OPEN;
    END;
end;

procedure TFMBSUP.BTNCLRClick(Sender: TObject);
begin
  LB11.Clear;
  LB12.Clear;
  LB21.Clear;
  LB22.Clear;
  LB31.Clear;
  LB32.Clear;
  LB41.Clear;
  LB42.Clear;
  LB51.Clear;
  LB52.Clear;
  LB61.Clear;
  LB62.Clear;
  LB71.Clear;
  LB72.Clear;
end;

procedure TFMBSUP.BTNPRNClick(Sender: TObject);
begin
  //检查权限============================================
  IF PERMISSION_CHECK(_USER_ID,'BSUP_PRN') = FALSE THEN EXIT;

  IF FormExists('FMREP1')=FALSE THEN Application.CreateForm(TFMREP1, FMREP1 );
  FMREP1.QR_NAME := ExtractFilePath(Application.EXEName)+'/ini/QREP_BSUP.ini';
  FMREP1.ED_PAGE_TABLE.TEXT := 'BSUP';

  FMREP1.QUERY.SQL.CLEAR;
  FMREP1.QUERY.SQL.TEXT := FMBSUPD.QBSUP.SQL.TEXT;
  FMREP1.QUERY.CLOSE;
  FMREP1.QUERY.OPEN;
  FMREP1.LOAD_INI;

  IF SENDER = BTNPRE THEN FMREP1.QuickRep.Preview;
  IF SENDER = MENPRE THEN FMREP1.QuickRep.Preview;
  IF SENDER = BTNPRN THEN FMREP1.QuickRep.Print;
  IF SENDER = MENPRN THEN FMREP1.QuickRep.Print;

end;

procedure TFMBSUP.BTNSETClick(Sender: TObject);
begin
  IF FormExists('FMREP1' )=FALSE THEN Application.CreateForm(TFMREP1, FMREP1 );
  FMREP1.QR_NAME := ExtractFilePath(Application.EXEName)+'/ini/QREP_BSUP.ini';
  FMREP1.ED_PAGE_TABLE.TEXT := 'BSUP';
  Form_NORMAL_SHOWMODAL(FMREP1,-1,-1);
end;

end.

⌨️ 快捷键说明

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