📄 unbsup.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 + -