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

📄 adduser.pas

📁 销售帐目管理
💻 PAS
字号:
unit Adduser;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, DelphiWizard, StdCtrls, CheckLst, ActnList, DB, SUIForm, SUIDlg;

type
  TFrmAdduser = class(TForm)
    suiForm1: TsuiForm;
    Notebook1: TNotebook;
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Image2: TImage;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit_user: TEdit;
    Image3: TImage;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Edit_pwd1: TEdit;
    Edit_pwd2: TEdit;
    Image4: TImage;
    Label15: TLabel;
    GroupBox1: TGroupBox;
    CLBox_user: TCheckListBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    CheckBox1: TCheckBox;
    Image5: TImage;
    Label16: TLabel;
    Label17: TLabel;
    DelphiWizard1: TDelphiWizard;
    suiMessageDialog1: TsuiMessageDialog;
    procedure FormShow(Sender: TObject);
    procedure DelphiWizard1EndClick(Sender: TObject);
    procedure DelphiWizard1PageChange(Sender: TObject);
    procedure Notebook1PageChanged(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmAdduser: TFrmAdduser;
  username,Password,powerOptions : string;

implementation
  uses yhgl, Main, DataModule, PubUnit;
{$R *.DFM}

procedure TFrmAdduser.FormShow(Sender: TObject);
var
    i,j,k:integer;
begin
   Application.ProcessMessages ;
   //添加菜单选项
   CLBox_user.Items.Clear ;
   j:=FrmMain.ComponentCount-1;
   for i:= 0 to j-1 do
     if FrmMain.components[i] is TAction then
        CLBox_user.Items.Add(Trim(TAction(FrmMain.components[i]).caption));
   k:=CLBox_user.Items.Count;
   for i:=0 to k - 1 do CLBox_user.State[i]:=cbUnchecked;
   username := '';Password := '';powerOptions := '';
   if LoginUser <> '' then
    case Super of
      1 : CheckBox1.Enabled := true;
      0 : CheckBox1.Enabled := false;
    end;
end;

procedure TFrmAdduser.DelphiWizard1EndClick(Sender: TObject);
var
    locatesuccess:boolean;
    searchoptions:TLocateOptions;
begin
  searchoptions:=[loPartialKey];
  if notebook1.PageIndex = 4 then begin
     //检测用户是否存在
     with DataModule1.tbl_Power do begin
       locatesuccess:=locate('用户名',username,searchoptions);
       if locatesuccess then begin
          NoteBook1.PageIndex := 1;
          Edit_user.SetFocus ;
          suiMessageDialog1.ButtonCount := 1;
          suiMessageDialog1.Button1Caption := '确定(&S)';
          suiMessageDialog1.Button1ModalResult := mrOK;
          suiMessageDialog1.Caption := Self.Caption ;
          suiMessageDialog1.IconType := suiStop;
          suiMessageDialog1.Text := '该用户已经存在!';
          suiMessageDialog1.ShowModal ;
          Exit;
       end;
     end;
     if powerOptions = '' then begin
        suiMessageDialog1.ButtonCount := 1;
        suiMessageDialog1.Button1Caption := '确定(&S)';
        suiMessageDialog1.Button1ModalResult := mrOK;
        suiMessageDialog1.Caption := Self.Caption ;
        suiMessageDialog1.IconType := suiStop;
        suiMessageDialog1.Text := '必须选择用户权限!';
        suiMessageDialog1.ShowModal ;
        Exit;
     end;
     with DataModule1.tbl_Power do begin
        append;
        fieldvalues['用户名']:=AnsiLowerCase(username);
        fieldvalues['密码']:=AnsiLowerCase(password);
        fieldvalues['用户权限']:= poweroptions;
        if CheckBox1.Checked then
           FieldByName('用户级别').AsInteger := 1
        else
           FieldByName('用户级别').AsInteger := 0;
     end;
     close;
  end else close;
end;

procedure TFrmAdduser.DelphiWizard1PageChange(Sender: TObject);
var i,j : integer;
begin
  username:=Trim(Edit_user.text);
  password := Trim(Edit_pwd1.Text) ;
  case notebook1.PageIndex of
     2 :
        if username = '' then begin
           notebook1.PageIndex :=1;
           Edit_user.SetFocus ;
           suiMessageDialog1.ButtonCount := 1;
           suiMessageDialog1.Button1Caption := '确定(&S)';
           suiMessageDialog1.Button1ModalResult := mrOK;
           suiMessageDialog1.Caption := Self.Caption ;
           suiMessageDialog1.IconType := suiStop;
           suiMessageDialog1.Text := '请输入用户名!';
           suiMessageDialog1.ShowModal ;
           Exit;
        end;
     3 :
        if password<>Trim(Edit_pwd2.text) then begin
           notebook1.PageIndex := 2;
           edit_pwd1.SetFocus ;
           suiMessageDialog1.ButtonCount := 1;
           suiMessageDialog1.Button1Caption := '确定(&S)';
           suiMessageDialog1.Button1ModalResult := mrOK;
           suiMessageDialog1.Caption := Self.Caption ;
           suiMessageDialog1.IconType := suiStop;
           suiMessageDialog1.Text := '前后两次输入的密码不一致,请重新输入!';
           suiMessageDialog1.ShowModal ;
           Exit;
        end;
     4 :
        begin
          powerOptions :='';
          j:=clbox_user.Items.Count;
          for i:=0 to j - 1 do
            if clbox_user.Checked[i] then
               powerOptions := powerOptions +'['+ clbox_user.Items.Strings[i]+']';
        end;
  end;
end;

procedure TFrmAdduser.Notebook1PageChanged(Sender: TObject);
begin
  Self.Caption := NoteBook1.ActivePage ;
end;

procedure TFrmAdduser.RadioButton2Click(Sender: TObject);
var i,k : integer;
begin
   k:=CLBox_user.Items.Count;
   for i:=0 to k - 1 do CLBox_user.State[i]:=cbchecked;
end;

procedure TFrmAdduser.RadioButton1Click(Sender: TObject);
var i,k : integer;
begin
   k:=CLBox_user.Items.Count;
   for i:=0 to k - 1 do CLBox_user.State[i]:=cbUnchecked;
end;

procedure TFrmAdduser.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  with DataModule1 do
  begin
    tbl_Power.Next ;
    if tbl_Power.UpdatesPending then
    begin
       suiMessageDialog1.ButtonCount := 2;
       suiMessageDialog1.Button1Caption := '是';
       suiMessageDialog1.Button1ModalResult := mrYes;
       suiMessageDialog1.Button2Caption := '否';
       suiMessageDialog1.Button2ModalResult := mrNo ;
       suiMessageDialog1.Caption := suiForm1.Caption ;
       suiMessageDialog1.IconType := suiHelp ;
       suiMessageDialog1.Text := '是否保存所添加的用户?' ;
       if suiMessageDialog1.ShowModal = mrNo then
       begin
         tbl_Power.CancelUpdates ;
         Exit ;
       end;
       try
         db1.StartTransaction ;
         tbl_Power.ApplyUpdates ;
         tbl_Power.CommitUpdates ;
         db1.Commit ;
       except
         on E : Exception do
         begin
           suiMessageDialog1.ButtonCount := 1;
           suiMessageDialog1.Button1Caption := '确定(&S)';
           suiMessageDialog1.Button1ModalResult := mrOK;
           suiMessageDialog1.Caption := Self.Caption ;
           suiMessageDialog1.IconType := suiStop;
           suiMessageDialog1.Text := '数据错误无法保存:'+E.Message ;
           suiMessageDialog1.ShowModal ;
           tbl_Power.CancelUpdates ;
           db1.Rollback ;
           Abort ;
         end;
       end;
    end;
  end;
end;

procedure TFrmAdduser.FormCreate(Sender: TObject);
begin
  ChangeInterface(Self,suiForm1);
end;

end.

⌨️ 快捷键说明

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