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

📄 salesmanfrm.pas

📁 这是一个本人初定的小制作
💻 PAS
字号:
unit SalesManFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Mask, MainDM, Grids, DBGrids, ExtDlgs,
  CommonFunc;

type
  TSalesManDlg = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    DBEdtId: TDBEdit;
    DBEdtname: TDBEdit;
    DBCBSex: TDBComboBox;
    DBCBStatus: TDBComboBox;
    DBImage: TDBImage;
    DBMRemark: TDBMemo;
    CBDepartId: TComboBox;
    BtnAdd: TButton;
    BtnEdit: TButton;
    BtnDelete: TButton;
    BtnBrowse: TButton;
    DBGrid: TDBGrid;
    OpenPicDlg: TOpenPictureDialog;
    BtnOK: TButton;
    BtnCancel: TButton;
    procedure FormShow(Sender: TObject);
    procedure BtnBrowseClick(Sender: TObject);
    procedure BtnAddClick(Sender: TObject);
    procedure BtnEditClick(Sender: TObject);
    procedure BtnDeleteClick(Sender: TObject);
    procedure BtnOKClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure DBGridCellClick(Column: TColumn);
    procedure BtnCancelClick(Sender: TObject);
    procedure DBGridKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure DBGridMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    FMode: string;
    procedure MakeMode(AValue: string);
    procedure RefreshDepartId;
  public
    { Public declarations }
  end;

var
  SalesManDlg: TSalesManDlg;

implementation

{$R *.dfm}

procedure TSalesManDlg.FormShow(Sender: TObject);
begin
  CBDepartId.Clear;
  DMMAin.ADOConnectionMain.Open;
  DMMain.ADOTDepart.Open;
  DMMain.ADOTDepart.First;
  while not DMMain.ADOTDepart.Eof do
  begin
    CBDepartId.Items.Add(DMMain.ADOTDepart.FieldByName('Id').AsString);
    DMMain.ADOTDepart.Next;
  end;
  DMMain.ADOTDepart.Close;
end;

procedure TSalesManDlg.BtnBrowseClick(Sender: TObject);
begin
  if OpenPicDlg.Execute then
  begin
    DBImage.Picture.LoadFromFile(OpenPicDlg.FileName);
  end;
end;

procedure TSalesManDlg.MakeMode(AValue: string);
begin
  FMode := AValue;
  if AValue = 'add' then
  begin
    DBEdtId.Enabled := true;
    BtnEdit.Enabled := false;
    BtnDelete.Enabled := false;
    BtnOK.Enabled := true;
    BtnCancel.Enabled := true;
  end
  else if AValue = 'del' then
  begin
    DBEdtId.Enabled := true;
    BtnAdd.Enabled := false;
    BtnEdit.Enabled := false;
    BtnOK.Enabled := true;
    BtnCancel.Enabled := true;
  end
  else if AValue = 'edit' then
  begin
    DBEdtId.Enabled := false;
    BtnAdd.Enabled := false;
    BtnDelete.Enabled := false;
    BtnOK.Enabled := true;
    BtnCancel.Enabled := true;
  end
  else if AValue = 'ok' then
  begin
    DBEdtId.Enabled := true;
    BtnAdd.Enabled := true;
    BtnDelete.Enabled := true;
    BtnEdit.Enabled := true;
    BtnOK.Enabled := false;
    BtnCancel.Enabled := false;
  end;
end;

procedure TSalesManDlg.BtnAddClick(Sender: TObject);
begin
  MakeMode('add');
  DMMain.ADOTSalesMan.Open;
  DMMain.ADOTSalesMan.Insert;
  DMMain.ADOTSalesMan.Append;
  DMMain.ADOTSalesMan.FieldByName('DepartId').AsString :=
    CBDepartId.Text;
end;

procedure TSalesManDlg.BtnEditClick(Sender: TObject);
begin
  MakeMode('edit');
  DMMain.ADOTSalesMan.Open;
  DMMain.ADOTSalesMan.Edit;
  DMMain.ADOTSalesMan.FieldByName('DepartId').AsString :=
    CBDepartId.Text;
end;

procedure TSalesManDlg.BtnDeleteClick(Sender: TObject);
begin
  MakeMode('del');
  if LCConfirmEx('salsmandel','您真的想删除此数据吗?') = mrYes then
  begin
   DMMain.ADOTSalesMan.Delete;
  end;
  MakeMode('ok');
end;

procedure TSalesManDlg.BtnOKClick(Sender: TObject);
begin
  if (FMode = 'add')  then
  begin
    DMMain.ADOQueryMain.Close;
    DMMain.ADOQueryMain.SQL.Clear;
    DMMain.ADOQueryMain.SQL.Add('select id from T_SalesMan ');
    DMMain.ADOQueryMain.SQL.Add('where id=:id');
    DMMain.ADOQueryMain.Parameters.ParamByName('id').Value := DBEdtId.Text;
    DMMain.ADOQueryMain.Open;
    if DMMain.ADOQueryMain.RecordCount > 0 then
    begin
      LCShowMessage('编号已经存在!');
      DMMain.ADOTSalesMan.Cancel;
      if FMode = 'add' then
        MakeMode('add')
      else if FMode = 'edit' then
        MakeMode('edit');
      DBEdtId.SetFocus;
      Exit;
    end;
  end;
    DMMain.ADOTSalesMan.FieldByName('DepartId').AsString :=
      CBDepartId.Text;
  DMMain.ADOTSalesMan.Post;
  MakeMode('ok');
end;

procedure TSalesManDlg.Button1Click(Sender: TObject);
begin
  LCShowMessage(GetApplicationPath);
end;

procedure TSalesManDlg.DBGridCellClick(Column: TColumn);
begin
  RefreshDepartId;
end;

procedure TSalesManDlg.BtnCancelClick(Sender: TObject);
begin
  DMMain.ADOTSalesMan.Cancel;
end;

procedure TSalesManDlg.DBGridKeyPress(Sender: TObject; var Key: Char);
begin
  Key := #0;
end;

procedure TSalesManDlg.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    Perform(WM_NEXTDLGCTL, 0, 0);
end;

procedure TSalesManDlg.DBGridMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  RefreshDepartId;
end;

procedure TSalesManDlg.RefreshDepartId;
begin
  CBDepartId.Text := DMMain.ADOTSalesMan.FieldByName('DepartId').AsString;
end;

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

end.

⌨️ 快捷键说明

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