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

📄 u_user.~pas

📁 no infomation. say it again. no infomation
💻 ~PAS
字号:
unit u_user;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ToolWin, ComCtrls, ImgList, ActnList, Buttons,
  StdCtrls, shareunit, DB, FMTBcd, DBClient, Provider, SqlExpr, DBTables,
  cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
  cxEdit, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
  cxTextEdit, cxCurrencyEdit, ADODB, cxMaskEdit;

type
  Tfuser = class(TForm)
    Panel1: TPanel;
    ToolBar1: TToolBar;
    ImageList1: TImageList;
    ImageList2: TImageList;
    TBtn_Add: TToolButton;
    ActionList1: TActionList;
    Act_Add: TAction;
    Act_Del: TAction;
    Act_Save: TAction;
    Act_Cancel: TAction;
    Act_Refresh: TAction;
    Act_Close: TAction;
    TBtn_Del: TToolButton;
    TBtn_Save: TToolButton;
    TBtn_Cancel: TToolButton;
    TBtn_Refresh: TToolButton;
    ToolButton1: TToolButton;
    Panel2: TPanel;
    Panel3: TPanel;
    SpeedButton1: TSpeedButton;
    LabeledEdit1: TLabeledEdit;
    ds: TDataSource;
    tb: TTable;
    DView: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxStyleRepository1: TcxStyleRepository;
    cxStyle1: TcxStyle;
    cxStyle2: TcxStyle;
    tbMuser: TStringField;
    tbName: TStringField;
    DViewMuser: TcxGridDBColumn;
    DViewName: TcxGridDBColumn;
    procedure Act_AddExecute(Sender: TObject);
    procedure Act_AddUpdate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Act_DelExecute(Sender: TObject);
    procedure Act_DelUpdate(Sender: TObject);
    procedure Act_SaveExecute(Sender: TObject);
    procedure Act_SaveUpdate(Sender: TObject);
    procedure Act_CancelExecute(Sender: TObject);
    procedure Act_CancelUpdate(Sender: TObject);
    procedure Act_RefreshExecute(Sender: TObject);
    procedure Act_RefreshUpdate(Sender: TObject);
    procedure Act_CloseExecute(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure LabeledEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure tbAfterInsert(DataSet: TDataSet);
    procedure tbBeforeInsert(DataSet: TDataSet);
    procedure tbAfterPost(DataSet: TDataSet);
    procedure tbAfterCancel(DataSet: TDataSet);
    procedure tbBeforePost(DataSet: TDataSet);
    procedure DViewMuserPropertiesValidate(Sender: TObject;
      var DisplayValue: Variant; var ErrorText: TCaption;
      var Error: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fuser: Tfuser;

implementation

{$R *.dfm}

procedure Tfuser.Act_AddExecute(Sender: TObject);
begin
  ds.DataSet.Append;
end;

procedure Tfuser.Act_AddUpdate(Sender: TObject);
begin
  TBtn_Add.Enabled:=not(ds.State in [dsInsert, dsEdit]);
end;

procedure Tfuser.FormCreate(Sender: TObject);
begin
  with tb do
  begin
    DataBaseName:=ExtractFilePath(Application.ExeName);
    if not Active then Open;
  end;
end;

procedure Tfuser.Act_DelExecute(Sender: TObject);
begin
  if PromptMsg('Are you sure you want to delete? ',3)=IDYes then ds.DataSet.Delete;
end;

procedure Tfuser.Act_DelUpdate(Sender: TObject);
begin
  TBtn_Del.enabled:=not((ds.State in [dsInsert, dsEdit]) or ds.DataSet.IsEmpty)
end;

procedure Tfuser.Act_SaveExecute(Sender: TObject);
begin
  ds.DataSet.Post;
end;

procedure Tfuser.Act_SaveUpdate(Sender: TObject);
begin
  TBtn_Save.Enabled:=ds.State in [dsInsert, dsEdit]
end;

procedure Tfuser.Act_CancelExecute(Sender: TObject);
begin
  if PromptMsg('Are you sure you want to cancel?!',3)=IDNo then exit
  else  ds.DataSet.Cancel;
end;

procedure Tfuser.Act_CancelUpdate(Sender: TObject);
begin
  TBtn_Cancel.Enabled:=ds.State in [dsInsert, dsEdit]
end;

procedure Tfuser.Act_RefreshExecute(Sender: TObject);
begin
  screen.Cursor:=crHourglass;
  try
    ds.DataSet.Refresh;
  finally
    screen.Cursor:=crDefault;
  end;
end;

procedure Tfuser.Act_RefreshUpdate(Sender: TObject);
begin
  TBtn_Refresh.Enabled:=not(ds.State in [dsInsert, dsEdit])
end;

procedure Tfuser.Act_CloseExecute(Sender: TObject);
begin
  Close;
end;

procedure Tfuser.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;
end;

procedure Tfuser.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
    if not ds.DataSet.Locate('muser',LabeledEdit1.Text,[]) then
    begin
      PromptMsg('No record!',0);
      LabeledEdit1.SetFocus;
    end;
end;

procedure Tfuser.tbAfterInsert(DataSet: TDataSet);
begin
  DviewMuser.Properties.ReadOnly:=false;
  DataSet.Fields[0].FocusControl;
end;

procedure Tfuser.tbBeforeInsert(DataSet: TDataSet);
var
  i: integer;
begin
  with DataSet do
    for i:=0 to Fields.Count-1 do Fields[i].ReadOnly:=False;
end;

procedure Tfuser.tbAfterPost(DataSet: TDataSet);
begin
  DviewMuser.Properties.ReadOnly:=true;
end;

procedure Tfuser.tbAfterCancel(DataSet: TDataSet);
begin
  DviewMuser.Properties.ReadOnly:=true;
end;

procedure Tfuser.tbBeforePost(DataSet: TDataSet);
begin
  with DataSet do
    begin
      if (Fields[0].IsNull) or (Fields[0].AsString='') then
        begin
          PromptMsg(Fields[0].DisplayLabel+'can not empty!');
          Fields[0].FocusControl;
          Abort;
        end;
      if not DviewMuser.Properties.ReadOnly then
        begin
          if ExistData('select * from tuser where muser='''+Fields[0].AsString+'''',[]) then
            begin
            PromptMsg('该笔记录唯一索引重复,新增失败!',1);
            Fields[0].FocusControl;
            Abort;
          end;
        end;
    end;
end;

procedure Tfuser.DViewMuserPropertiesValidate(Sender: TObject;
  var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
{var
  b: Boolean;}
begin
  {if Error then
  begin
    PromptMsg('数据格式不合法!',2);
    abort;
  end;}
end;

end.

⌨️ 快捷键说明

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