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

📄 u_setprogram.pas

📁 小银行系统
💻 PAS
字号:
unit U_setprogram;

interface

uses
{
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, U_child12, ADODB, DBTables, DB, DBClient, Provider, dbcgrids,
  StdCtrls, Mask, DBCtrls, Grids, DBGridEh, ExtCtrls, ComCtrls,
  fuct_server;
}
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, U_Child, DB, DBClient, Provider, ADODB, DosMove, Grids, DBGrids,
  StdCtrls, Buttons, ExtCtrls, DBCtrls, Mask, dbcgrids, DBTables,fuct_server,
  DBGridEh, U_child12;

type
  TF_setprogram = class(TF_child1_2)
    StaticText1: TStaticText;
    StaticText3: TStaticText;
    StaticText4: TStaticText;
    DBEdit3: TDBEdit;
    StaticText5: TStaticText;
    StaticText6: TStaticText;
    StaticText7: TStaticText;
    StaticText8: TStaticText;
    StaticText9: TStaticText;
    StaticText10: TStaticText;
    StaticText11: TStaticText;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    seek: TADODataSet;
    ClientDataSet2program_no: TStringField;
    ClientDataSet2program_nm: TStringField;
    ClientDataSet2ADD1: TStringField;
    ClientDataSet2EDIT1: TStringField;
    ClientDataSet2DELETE1: TStringField;
    ClientDataSet2QUERY1: TStringField;
    ClientDataSet2GETDATA1: TStringField;
    ClientDataSet2PRINT1: TStringField;
    ClientDataSet2DATAIN1: TStringField;
    ClientDataSet2DATAOUT1: TStringField;
    ClientDataSet2USER_NO: TStringField;
    ClientDataSet2p_add: TStringField;
    ClientDataSet2p_edit: TStringField;
    ClientDataSet2p_delete: TStringField;
    ClientDataSet2p_query: TStringField;
    ClientDataSet2p_getdata: TStringField;
    ClientDataSet2p_print: TStringField;
    ClientDataSet2p_datain: TStringField;
    ClientDataSet2p_dataout: TStringField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBEdit1Enter(Sender: TObject);
    procedure DBEdit2Enter(Sender: TObject);
    procedure ClientDataSet1AfterScroll(DataSet: TDataSet);
    procedure ClientDataSet2AfterScroll(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure DataSetProvider2BeforeUpdateRecord(Sender: TObject;
      SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
      UpdateKind: TUpdateKind; var Applied: Boolean);
    procedure DataSetProvider1BeforeUpdateRecord(Sender: TObject;
      SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
      UpdateKind: TUpdateKind; var Applied: Boolean);
    procedure DBEdit4Click(Sender: TObject);
    procedure DBEdit5Click(Sender: TObject);
    procedure DBEdit6Click(Sender: TObject);
    procedure DBEdit7Click(Sender: TObject);
    procedure DBEdit8Click(Sender: TObject);
    procedure DBEdit9Click(Sender: TObject);
    procedure DBEdit10Click(Sender: TObject);
    procedure DBEdit11Click(Sender: TObject);
    procedure DBEdit4Exit(Sender: TObject);
    procedure DBEdit5Exit(Sender: TObject);
    procedure DBEdit6Exit(Sender: TObject);
    procedure DBEdit7Exit(Sender: TObject);
    procedure DBEdit8Exit(Sender: TObject);
    procedure DBEdit9Exit(Sender: TObject);
    procedure DBEdit10Exit(Sender: TObject);
    procedure DBEdit11Exit(Sender: TObject);
    procedure DBEdit4Enter(Sender: TObject);
    procedure DBEdit5Enter(Sender: TObject);
    procedure DBEdit6Enter(Sender: TObject);
    procedure DBEdit7Enter(Sender: TObject);
    procedure DBEdit8Enter(Sender: TObject);
    procedure DBEdit9Enter(Sender: TObject);
    procedure DBEdit10Enter(Sender: TObject);
    procedure DBEdit11Enter(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure DoSave;override;
    procedure DoCancel;override;

  end;

var
  F_setprogram: TF_setprogram;

implementation

uses MAIN;

{$R *.dfm}

procedure TF_setprogram.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  F_setprogram:=nil;
end;

procedure TF_setprogram.DBEdit1Enter(Sender: TObject);
begin
  inherited;
  DBCtrlGrid1.SetFocus;
end;

procedure TF_setprogram.DBEdit2Enter(Sender: TObject);
begin
  inherited;
  DBCtrlGrid1.SetFocus;

end;

procedure TF_setprogram.ClientDataSet1AfterScroll(DataSet: TDataSet);
begin
  inherited;
  //SHOWMESSAGE(ClientDataSet1.fieldbyname('user_no').AsString);
  ClientDataSet2.Active:=false;
  ClientDataSet2.Params.ParamByName('USER_NO').Value:=ClientDataSet1.fieldbyname('user_no').AsString;
  ClientDataSet2.Active:=true;
  ClientDataSet2.Edit;
end;

procedure TF_setprogram.ClientDataSet2AfterScroll(DataSet: TDataSet);
begin
  inherited;
  dbedit4.Enabled:=false;
  dbedit5.Enabled:=false;
  dbedit6.Enabled:=false;
  dbedit7.Enabled:=false;
  dbedit8.Enabled:=false;
  dbedit9.Enabled:=false;
  dbedit10.Enabled:=false;
  dbedit11.Enabled:=false;

  if ClientDataSet2.FieldByName('add1').AsString='Y'  then  dbedit4.Enabled:=true;
  if ClientDataSet2.FieldByName('edit1').AsString='Y'  then  dbedit5.Enabled:=true;
  if ClientDataSet2.FieldByName('delete1').AsString='Y'  then  dbedit6.Enabled:=true;
  if ClientDataSet2.FieldByName('query1').AsString='Y'  then  dbedit7.Enabled:=true;
  if ClientDataSet2.FieldByName('print1').AsString='Y'  then  dbedit8.Enabled:=true;
  if ClientDataSet2.FieldByName('getdata1').AsString='Y'  then  dbedit9.Enabled:=true;
  if ClientDataSet2.FieldByName('datain1').AsString='Y'  then  dbedit10.Enabled:=true;
  if ClientDataSet2.FieldByName('dataout1').AsString='Y'  then  dbedit11.Enabled:=true;
  
end;

procedure TF_setprogram.FormCreate(Sender: TObject);
begin
  //inherited;
  mainform.b_add.Enabled:=false;
  mainform.B_edit.Enabled:=false;
  mainform.B_delete.Enabled:=false;
  mainform.B_query.Enabled:=false;
  mainform.B_getdata.Enabled:=false;
  mainform.B_datain.Enabled:=false;
  mainform.B_dataout.Enabled:=false;
  mainform.B_update.Enabled:=true;
  mainform.B_cancel.Enabled:=true;

end;

procedure TF_setprogram.DoCancel;
begin
  //inherited;
  self.ClientDataSet2.CancelUpdates;
end;

procedure TF_setprogram.DoSave;
var error:integer;
    vdata:OleVariant;
begin
  //inherited;
//  self.ScrollBox3.Enabled:=false;
//  self.ScrollBox2.Enabled:=true;
//  dbedit1.Enabled:=true;
  error:=0;
try
   if not MainForm.ADOConnection1.Connected then  MainForm.ADOConnection1.Connected:=true;
   MainForm.ADOConnection1.BeginTrans;
   ClientDataSet2.CheckBrowseMode;
   if  ClientDataSet2.ChangeCount>0 then
     vdata:=ClientDataSet2.Delta
   else  vdata:=null;
   if   vartype(vdata)<>varnull then  DataSetProvider2.ApplyUpdates(vdata,0,error);
   ClientDataSet2.MergeChangeLog;
   MainForm.ADOConnection1.CommitTrans;
except
   MainForm.ADOConnection1.RollbackTrans;
   MessageDlg('资料更新失败', mtInformation,[mbOk], 0);
   self.ClientDataSet2.CancelUpdates;
end;
  {
  //set_btn(true);
  case mlog of
    1:mainform.B_Add.SetFocus ;
    2:mainform.B_edit.SetFocus ;
    3:mainform.B_delete.SetFocus ;
  end;
  mlog:=0;
  }
  mainform.DBNavigator1.Enabled:=true;
end;

procedure TF_setprogram.FormActivate(Sender: TObject);
begin
  //inherited;
   self.Top:=0;
  if  mainform.vuser_no<>'administrator' then
  begin
      showmessage('对不起你不是超级用户,不得进入该画面!');
      self.Close;
  end;

end;

procedure TF_setprogram.DataSetProvider2BeforeUpdateRecord(Sender: TObject;
  SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
  UpdateKind: TUpdateKind; var Applied: Boolean);
var
  vsql:string;
begin
  SEEK.Active:=FALSE;
  SEEK.Parameters.ParamByName('USER_NO').Value:=dbedit1.text;
  SEEK.Parameters.ParamByName('PROGRAM_NO').Value:=SELF.ClientDataSet2.FIELDBYNAME('PROGRAM_NO').AsString;
  SEEK.Active:=TRUE;
  IF   SEEK.Eof  THEN
             vsql:=self.UpdateSQL2.InsertSQL.Text
  ELSE       vsql:=UpdateSQL2.ModifySQL.Text;
  self.ADOCommand2.CommandText:=vsql;
  AdoSetParams(ADOCommand2,deltaDS);
  IF   SEEK.Eof  THEN   ADOCommand2.Parameters.ParamByName('USER_NO').Value:=DBEDIT1.Text;
  ADOCommand2.Prepared;
  ADOCommand2.Execute;
  applied:=true;
end;

procedure TF_setprogram.DataSetProvider1BeforeUpdateRecord(Sender: TObject;
  SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
  UpdateKind: TUpdateKind; var Applied: Boolean);
begin
 // inherited;

end;

procedure TF_setprogram.DBEdit4Click(Sender: TObject);
begin
  inherited;
  if  dbedit4.Text='Y' then  dbedit4.Text:='N'
  else  dbedit4.Text:='Y';  
end;

procedure TF_setprogram.DBEdit5Click(Sender: TObject);
begin
  inherited;
  if  dbedit5.Text='Y' then  dbedit5.Text:='N'
  else  dbedit5.Text:='Y';
end;

procedure TF_setprogram.DBEdit6Click(Sender: TObject);
begin
  inherited;
  if  dbedit6.Text='Y' then  dbedit6.Text:='N'
  else  dbedit6.Text:='Y';
end;

procedure TF_setprogram.DBEdit7Click(Sender: TObject);
begin
  inherited;
  if  dbedit7.Text='Y' then  dbedit7.Text:='N'
  else  dbedit7.Text:='Y';
end;

procedure TF_setprogram.DBEdit8Click(Sender: TObject);
begin
  inherited;
  if  dbedit8.Text='Y' then  dbedit8.Text:='N'
  else  dbedit8.Text:='Y';
end;

procedure TF_setprogram.DBEdit9Click(Sender: TObject);
begin
  inherited;
  if  dbedit9.Text='Y' then  dbedit9.Text:='N'
  else  dbedit9.Text:='Y';
end;

procedure TF_setprogram.DBEdit10Click(Sender: TObject);
begin
  inherited;
  if  dbedit10.Text='Y' then  dbedit10.Text:='N'
  else  dbedit10.Text:='Y';
end;

procedure TF_setprogram.DBEdit11Click(Sender: TObject);
begin
  inherited;
  if  dbedit11.Text='Y' then  dbedit11.Text:='N'
  else  dbedit11.Text:='Y';
end;

procedure TF_setprogram.DBEdit4Exit(Sender: TObject);
begin
  inherited;
  if pos(dbedit4.Text,'YN')=0 then  dbedit4.Text:='N'
end;

procedure TF_setprogram.DBEdit5Exit(Sender: TObject);
begin
  inherited;
  if pos(dbedit5.Text,'YN')=0 then  dbedit5.Text:='N'

end;

procedure TF_setprogram.DBEdit6Exit(Sender: TObject);
begin
  inherited;
  if pos(dbedit6.Text,'YN')=0 then  dbedit6.Text:='N'

end;

procedure TF_setprogram.DBEdit7Exit(Sender: TObject);
begin
  inherited;
  if pos(dbedit7.Text,'YN')=0 then  dbedit7.Text:='N'

end;

procedure TF_setprogram.DBEdit8Exit(Sender: TObject);
begin
  inherited;
  if pos(dbedit8.Text,'YN')=0 then  dbedit8.Text:='N'

end;

procedure TF_setprogram.DBEdit9Exit(Sender: TObject);
begin
  inherited;
  if pos(dbedit9.Text,'YN')=0 then  dbedit9.Text:='N'

end;

procedure TF_setprogram.DBEdit10Exit(Sender: TObject);
begin
  inherited;
  if pos(dbedit10.Text,'YN')=0 then  dbedit11.Text:='N'

end;

procedure TF_setprogram.DBEdit11Exit(Sender: TObject);
begin
  inherited;
  if pos(dbedit11.Text,'YN')=0 then  dbedit11.Text:='N'

end;

procedure TF_setprogram.DBEdit4Enter(Sender: TObject);
begin
  inherited;
  ClientDataSet2.Edit;
end;

procedure TF_setprogram.DBEdit5Enter(Sender: TObject);
begin
  inherited;
  ClientDataSet2.Edit;
end;

procedure TF_setprogram.DBEdit6Enter(Sender: TObject);
begin
  inherited;
  ClientDataSet2.Edit;
end;

procedure TF_setprogram.DBEdit7Enter(Sender: TObject);
begin
  inherited;
  ClientDataSet2.Edit;
end;

procedure TF_setprogram.DBEdit8Enter(Sender: TObject);
begin
  inherited;
  ClientDataSet2.Edit;
end;

procedure TF_setprogram.DBEdit9Enter(Sender: TObject);
begin
  inherited;
  ClientDataSet2.Edit;
end;

procedure TF_setprogram.DBEdit10Enter(Sender: TObject);
begin
  inherited;
  ClientDataSet2.Edit;
end;

procedure TF_setprogram.DBEdit11Enter(Sender: TObject);
begin
  inherited;
  ClientDataSet2.Edit;
end;

end.

⌨️ 快捷键说明

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