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

📄 edit_user.pas

📁 商场管理系统源码 一套值得初学者学习的源码包含全部源码,控件
💻 PAS
字号:
unit EDIT_USER;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, FRMBASSDIALOGS, StdCtrls, TFlatEditUnit, ComCtrls, MenuBar,
  ToolWin, DsFancyButton, ExtCtrls, DB, DBTables,myself,frmmain,
  TFlatPanelUnit, TFlatComboBoxUnit, TFlatButtonUnit, TFlatListBoxUnit;

type
  TFrm_edit_user = class(TFrm_bassDialogs)
    Query_data: TQuery;
    FlatPanel_edit: TFlatPanel;
    Label1: TLabel;
    E_name: TFlatEdit;
    Label2: TLabel;
    E_id: TFlatEdit;
    Label3: TLabel;
    E_sex: TFlatEdit;
    Label5: TLabel;
    E_password: TFlatEdit;
    Label4: TLabel;
    E_rights: TFlatEdit;
    Label6: TLabel;
    E_memo: TFlatEdit;
    LB_rights: TFlatListBox;
    procedure E_nameKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure E_nameExit(Sender: TObject);
    procedure E_idExit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure OKBtnClick(Sender: TObject);
    procedure E_sexDblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure E_rightsEnter(Sender: TObject);
    procedure LB_rightsClick(Sender: TObject);
  private
    { Private declarations }
  public
    P_state:integer;
    { Public declarations }
  end;

var
  Frm_edit_user: TFrm_edit_user;

implementation

{$R *.dfm}

procedure TFrm_edit_user.E_nameKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
   if (key=13) or (key=40) then { 判断是按执行键}
   Begin 
      key:=0;
      perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
   end;
end;

procedure TFrm_edit_user.E_nameExit(Sender: TObject);
begin
  inherited;
  if P_state=0 then
     E_id.Text :=getstringpy(trim(E_name.Text));
end;

procedure TFrm_edit_user.E_idExit(Sender: TObject);
begin
  inherited;
   if trim(E_id.Text) ='' then
      E_id.Text :=Nowindex;
end;

procedure TFrm_edit_user.FormCreate(Sender: TObject);
begin
  inherited;
   query_data.DatabaseName :=HWSHOPDATA;
   P_state:=1;  //0-增加  1-修改
   LB_rights.ItemIndex :=1;
end;

procedure TFrm_edit_user.OKBtnClick(Sender: TObject);
begin
  inherited;
   if trim(E_name.Text)='' then
   begin
      messagedlg(Errormsg0002+'0002',mtError,[mbok],0);
      E_name.SetFocus ;
      exit;
   end;
   if trim(E_ID.Text)='' then
   begin
      messagedlg(Errormsg0002+'0003',mtError,[mbok],0);
      E_id.SetFocus ;
      exit;
   end;
   if P_state=0 then //增加数据
   begin
      with query_data do
      begin
         close;
         sql.Clear ;
         sql.Text :='select * from systemuser where id="'+uppercase(E_id.Text)+'"';
         try
            open;
         except
            messagedlg(Errormsg0001+'0001',mtError,[mbok],0);
            close;
            self.Close ;
         end;
         if RecordCount > 0 then   //工号已存在
         begin
            messagedlg(Errormsg0003+'0004',mtError,[mbok],0);
            E_id.SetFocus ;
            close;
            exit;
         end
         else     //工号不存在则增加
         begin
            close;
            sql.Clear ;
            sql.Text :='insert into systemuser (name,id,sex,keypass,rights,memo)'+
                      'values ("'+E_name.Text +'","'+uppercase(E_id.Text) +'","'+E_sex.Text
                      +'","'+E_password.Text +'","'+E_rights.Text +'","'
                      +E_memo.Text +'")';
            try
               execsql;
            except
               messagedlg(Errormsg0004+'0005',mtError,[mbok],0);
               close;
               self.Close ;
            end;
         end;
         messagedlg(Infmsg0001,mtInformation,[mbok],0);
         close;
         self.Close ;
      end;
   end
   else if P_state=1 then //修改数据
   begin
      with query_data do
      begin
         close;
         sql.Clear ;
         sql.Text :='update systemuser set name="'+E_name.Text +'",sex="'+E_sex.Text
                        +'",keypass="'+E_password.Text +'",rights="'+E_rights.Text
                        +'",memo="'+E_memo.Text +'" where id="'+E_id.text+'"';
         try
            execsql;
         except
            messagedlg(Errormsg0004+'0005',mtError,[mbok],0);
            close;
            self.Close ;
         end;
         messagedlg(Infmsg0003,mtInformation,[mbok],0);
         close;
         self.Close ;
      end;
   end;
end;

procedure TFrm_edit_user.E_sexDblClick(Sender: TObject);
begin
  inherited;
   if E_sex.Text ='男' then
      E_sex.Text :='女'
   else
      E_sex.Text :='男';
end;

procedure TFrm_edit_user.FormShow(Sender: TObject);
begin
  inherited;
  if P_state=1 then
  begin
     E_id.ReadOnly :=true;
  end
  else
     E_id.ReadOnly :=false;
end;

procedure TFrm_edit_user.E_rightsEnter(Sender: TObject);
begin
  inherited;
   LB_rights.Visible :=true;
   LB_rights.SetFocus ;
end;

procedure TFrm_edit_user.LB_rightsClick(Sender: TObject);
begin
  inherited;
   if (LB_rights.ItemIndex <0) or (LB_rights.ItemIndex >6) then exit;
   E_rights.Text :=LB_rights.Items.Strings[LB_rights.ItemIndex];
   E_memo.SetFocus ;
   LB_rights.Visible :=false;
end;

end.

⌨️ 快捷键说明

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