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

📄 a0107f002unit.pas

📁 工商收费系统,主要是管理非税收收入的费用的管理
💻 PAS
字号:
//////////////////////////////////////////////////////////////////模板名称:F002Frm in Foo2Unit                               ////模板功能;数据的添加与修改                                  ////输入参数:tag  0为修改,1为添加                             ////输出参数:无                                                ////编写人:陈宇                                                ////编写时间:2001年9月21日                                     ////最后修改:2001年9月24日                                     //////////////////////////////////////////////////////////////////unit A0107F002Unit;interfaceuses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  ImgList, ComCtrls, ToolWin, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls,  Db, DBTables, ADODB, Buttons, Mask,Variants;type  TA0107F002Frm = class(TForm)    Tc01Dt: TDataSource;    TC02ATbl: TADOTable;    ToolBar1: TToolBar;    PrintTBBtn: TToolButton;    PreviewTBBtn: TToolButton;    SaveTBBtn: TToolButton;    AbortTBBtn: TToolButton;    HelpTBBtn: TToolButton;    ExitTBBtn: TToolButton;    ImageList1: TImageList;    ImageList2: TImageList;    Panel1: TPanel;    Label1: TLabel;    Label2: TLabel;    TC02D01DbEdt: TDBEdit;    TC02D02DbEdt: TDBEdit;    Label3: TLabel;    TC02D03DbEdt: TDBEdit;    Label4: TLabel;    TC02D04DbEdt: TDBEdit;    Label5: TLabel;    Label6: TLabel;    TC02D06DbEdt: TDBEdit;    Label7: TLabel;    TC02D05DbEdt: TDBEdit;    Label8: TLabel;    DBEdit1: TDBEdit;    procedure ExitTBBtnClick(Sender: TObject);    procedure SaveTBBtnClick(Sender: TObject);    procedure AbortTBBtnClick(Sender: TObject);    procedure FormShow(Sender: TObject);    procedure TC02D01DbEdtChange(Sender: TObject);    procedure DTPickKeyUp(Sender: TObject; var Key: Word;      Shift: TShiftState);    procedure FormClose(Sender: TObject; var Action: TCloseAction);    procedure TC02ATblPostError(DataSet: TDataSet; E: EDatabaseError;      var Action: TDataAction);    procedure TC02D02DbEdtChange(Sender: TObject);    procedure TC02D03DbEdtChange(Sender: TObject);    procedure TC02D01DbEdtKeyDown(Sender: TObject; var Key: Word;      Shift: TShiftState);    procedure TC02D02DbEdtKeyDown(Sender: TObject; var Key: Word;      Shift: TShiftState);    procedure TC02D03DbEdtKeyDown(Sender: TObject; var Key: Word;      Shift: TShiftState);    procedure TC02D04DbEdtKeyDown(Sender: TObject; var Key: Word;      Shift: TShiftState);    procedure TC02D05DbEdtKeyDown(Sender: TObject; var Key: Word;      Shift: TShiftState);    procedure TC02ATblAfterInsert(DataSet: TDataSet);    procedure FormKeyDown(Sender: TObject; var Key: Word;      Shift: TShiftState);    procedure DBEdit1KeyDown(Sender: TObject; var Key: Word;      Shift: TShiftState);  private    { Private declarations }  public    { Public declarations }    strEditArray:array [0..2] of string;    strTC02D01:string;//预先付的值    striniHelpName:string;  end;var  A0107F002Frm: TA0107F002Frm;  intErrCounts:Integer;    //errno用来记录数据填加时的错误项数                        //初始化为当前必填的项目数,每正确填加一项将减一implementationuses DataLinkUnit,GlobalLibUnit;{$R *.DFM}procedure TA0107F002Frm.ExitTBBtnClick(Sender: TObject);begin   Close;end;procedure TA0107F002Frm.SaveTBBtnClick(Sender: TObject);begin   if intErrCounts<>0 then   begin      Application.MessageBox('数据填写的有错误,红色的为有错误的项目,请检查填写内容!',           '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);      TC02D01DbEdt.SetFocus;      Exit;   end;   try      TC02ATbl.Post;      strTC02D01:='';   except      Application.MessageBox('数据提交错误,请检查填写内容,重新提交!',          '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);      DMMain.adoConnMain.RollbackTrans;   //回滚一个事务      DMMain.adoConnMain.BeginTrans;  //开始一个事务      TC02D01DbEdt.SetFocus;      Exit;   end;   DMMain.adoConnMain.CommitTrans; //提交一个事务   DMMain.adoConnMain.BeginTrans;  //开始一个事务   try      if tag=0 then //修改         TC02ATbl.Edit      else    //添加         TC02ATbl.Append;   except      Application.MessageBox('添加记录时产生错误!请与数据库管理员联系',          '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);      TC02D01DbEdt.SetFocus;   end;   TC02D01DbEdt.SetFocus;end;procedure TA0107F002Frm.AbortTBBtnClick(Sender: TObject);begin   DMMain.adoConnMain.RollbackTrans;   //回滚一个事务   //更新表,注意顺序   try      TC02ATbl.Active :=False;      TC02ATbl.Active :=True;   finally      DMMain.adoConnMain.BeginTrans;  //开始一个事务   end;   try      if tag=0 then //修改      begin         TC02ATbl.Locate('客户名称',self.strEditArray[0],[loCaseInsensitive]);         TC02ATbl.Edit;      end      else    //添加      begin         TC02ATbl.Append;      end;   except      Application.MessageBox('操作数据库时产生错误!请与数据库管理员联系',          '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);   end;end;procedure TA0107F002Frm.FormShow(Sender: TObject);begin   intErrCounts:=3;  //初始化为三个错误,因为三项必填   try      TC02ATbl.Active :=True;   finally      DMMain.adoConnMain.BeginTrans;  //开始一个事务   end;   if tag=0 then //修改   begin      Self.Caption :='修改';      TC02ATbl.Locate('客户名称;开户行;帐号',         VarArrayOf([strEditArray[0],strEditArray[1],strEditArray[2]]),[]);      TC02ATbl.Edit;      intErrCounts:=0;   end   else    //添加   begin      Self.Caption :='添加';      TC02ATbl.Append;      DBEdit1.SetFocus;      DBEdit1.Text:=gstrOperaterCode;   end;   InitEdtCtlIme(self.Panel1,imChinese,gstrInputMethod);   TC02D01DbEdt.SetFocus;end;procedure TA0107F002Frm.TC02D01DbEdtChange(Sender: TObject);var   bNewState:Boolean;begin//此处简单校验此编辑控件的内容   if TC02D01DbEdt.text<>'' then   //如果合格   begin      bNewState:=True;      if TC02D01DbEdt.Color<>clWindow then      begin         intErrCounts:=intErrCounts-1;         TC02D01DbEdt.Color :=clWindow;      end;   end   else    //如果不合格   begin      bNewState:=false;      if TC02D01DbEdt.Color<>$008080FF then      begin         intErrCounts:=intErrCounts+1;         TC02D01DbEdt.Color :=$008080FF;      end;   end;   AbortTBBtn.Enabled :=bNewState;end;procedure TA0107F002Frm.DTPickKeyUp(Sender: TObject; var Key: Word;  Shift: TShiftState);begin   if (Key=13) then   begin      TC02D01DbEdt.SetFocus;   end;end;procedure TA0107F002Frm.FormClose(Sender: TObject; var Action: TCloseAction);var   result:Word;begin   DMMain.adoConnMain.RollbackTrans;   //回滚一个事务   Action:=caFree;   Exit;   if (intErrCounts=0) and (tag=1)  then //如果有数据未保存而且处于添加状态   begin      result:=Application.MessageBox('当前记录未保存,要保存吗?',         '提示',MB_YesNoCancel+MB_DefButton1+MB_IconQuestion+MB_ApplModal);      if result=IdYes then      begin         SaveTBBtnClick(Sender);     //保存      end;      if result=IdCancel then      begin         Action:=caNone;         exit;                       //取消退出动作      end;      if result=IdNo then      begin         DMMain.adoConnMain.RollbackTrans;   //回滚一个事务      end;   end   else  //如果没有数据需要保存   begin      result:=Application.MessageBox('真的要退出吗?',         '提示',MB_YesNo+MB_DefButton1+MB_IconQuestion+MB_ApplModal);      if result=IdNo then      begin         Action:=caNone;             //取消退出动作         Exit;      end;      DMMain.adoConnMain.RollbackTrans;   //回滚一个事务   end;    //注意关闭的顺序   TC02ATbl.Active :=False;   Action:=caFree;end;procedure TA0107F002Frm.TC02ATblPostError(DataSet: TDataSet; E: EDatabaseError;  var Action: TDataAction);begin   Application.MessageBox('客户名称不能重复或为空,请检查填写内容!',       '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);   Action:=daAbort;end;procedure TA0107F002Frm.TC02D02DbEdtChange(Sender: TObject);var   bNewState:boolean;begin//此处简单校验此编辑控件的内容   if TC02D02DbEdt.text<>'' then   //如果合格   begin      bNewState:=True;      if TC02D02DbEdt.Color<>clWindow then      begin         intErrCounts:=intErrCounts-1;         TC02D02DbEdt.Color :=clWindow;      end;   end   else    //如果不合格   begin      bNewState:=false;      if TC02D02DbEdt.Color<>$008080FF then      begin         intErrCounts:=intErrCounts+1;         TC02D02DbEdt.Color :=$008080FF;      end;   end;   AbortTBBtn.Enabled :=bNewState;end;procedure TA0107F002Frm.TC02D03DbEdtChange(Sender: TObject);var   bNewState:boolean;begin//此处简单校验此编辑控件的内容   if TC02D03DbEdt.text<>'' then   //如果合格   begin      bNewState:=True;      if TC02D03DbEdt.Color<>clWindow then      begin         intErrCounts:=intErrCounts-1;         TC02D03DbEdt.Color :=clWindow;      end;   end   else    //如果不合格   begin      bNewState:=false;      if TC02D03DbEdt.Color<>$008080FF then      begin         intErrCounts:=intErrCounts+1;         TC02D03DbEdt.Color :=$008080FF;      end;   end;   AbortTBBtn.Enabled :=bNewState;end;procedure TA0107F002Frm.TC02D01DbEdtKeyDown(Sender: TObject;  var Key: Word; Shift: TShiftState);begin   if (Key=13) then TC02D02DbEdt.SetFocus;end;procedure TA0107F002Frm.TC02D02DbEdtKeyDown(Sender: TObject;  var Key: Word; Shift: TShiftState);begin   if (Key=13) then TC02D03DbEdt.SetFocus;end;procedure TA0107F002Frm.TC02D03DbEdtKeyDown(Sender: TObject;  var Key: Word; Shift: TShiftState);begin   if (Key=13) then TC02D04DbEdt.SetFocus;end;procedure TA0107F002Frm.TC02D04DbEdtKeyDown(Sender: TObject;  var Key: Word; Shift: TShiftState);begin   if (Key=13) then TC02D05DbEdt.SetFocus;end;procedure TA0107F002Frm.TC02D05DbEdtKeyDown(Sender: TObject;  var Key: Word; Shift: TShiftState);begin   if (Key=13) then TC02D06DbEdt.SetFocus;end;procedure TA0107F002Frm.TC02ATblAfterInsert(DataSet: TDataSet);begin   TC02ATbl.Fields[0].AsString:=strTC02D01;   strTC02D01:='';end;procedure TA0107F002Frm.FormKeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);begin   case key of   114: // F3      SaveTBBtnClick(Sender);   end;end;procedure TA0107F002Frm.DBEdit1KeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);begin   if (Key=13) then      SaveTBBtnClick(Sender);     //保存end;end.

⌨️ 快捷键说明

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