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

📄 uset.pas

📁 在公司做的一个小的系统源代码
💻 PAS
字号:
unit Uset;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids;

type
  Tfrmsysset = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Image1: TImage;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    edtopass: TEdit;
    Label3: TLabel;
    edtnname: TEdit;
    edtnpass: TEdit;
    edtnpass2: TEdit;
    Panel2: TPanel;
    sbtnclose: TSpeedButton;
    sbtnsave: TSpeedButton;
    Label4: TLabel;
    Label5: TLabel;
    edtusername: TEdit;
    Label6: TLabel;
    edtuserpass: TEdit;
    edtuserpass2: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Panel3: TPanel;
    rbsys: TRadioButton;
    rbuser: TRadioButton;
    Panel4: TPanel;
    sbtnusersave: TSpeedButton;
    sbtnusercancel: TSpeedButton;
    sbtnuserclose: TSpeedButton;
    Image2: TImage;
    Label9: TLabel;
    Label10: TLabel;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    sbtnok: TSpeedButton;
    TabSheet3: TTabSheet;
    DBGrid1: TDBGrid;
    Panel5: TPanel;
    sbtndelete: TSpeedButton;
    sbtnrefresh: TSpeedButton;
    sbtnclose3: TSpeedButton;
    StatusBar1: TStatusBar;
    labname: TLabel;
    Image3: TImage;
    procedure sbtnusercloseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure sbtnsaveClick(Sender: TObject);
    procedure sbtnokClick(Sender: TObject);
    procedure sbtncancelClick(Sender: TObject);
    procedure sbtnusersaveClick(Sender: TObject);
    procedure edtonameKeyPress(Sender: TObject; var Key: Char);
    procedure edtopassKeyPress(Sender: TObject; var Key: Char);
    procedure edtnnameKeyPress(Sender: TObject; var Key: Char);
    procedure edtnpassKeyPress(Sender: TObject; var Key: Char);
    procedure edtnpass2KeyPress(Sender: TObject; var Key: Char);
    procedure edtusernameKeyPress(Sender: TObject; var Key: Char);
    procedure edtuserpassKeyPress(Sender: TObject; var Key: Char);
    procedure TabSheet3Show(Sender: TObject);
    procedure sbtndeleteClick(Sender: TObject);
    procedure sbtnrefreshClick(Sender: TObject);
    procedure sbtnclose3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmsysset: Tfrmsysset;

implementation

{$R *.dfm}
uses Udm,ulogin;

procedure Tfrmsysset.sbtnusercloseClick(Sender: TObject);
begin
  adoquery1.Close;
  close;
end;

procedure Tfrmsysset.FormCreate(Sender: TObject);
begin
   labname.caption:=strname ;
   edtnname.Enabled:=false;
   edtnpass.Enabled:=false;
   edtnpass2.Enabled:=false;
   sbtnsave.Enabled:=false;
   edtusername.Enabled:=false;
   edtuserpass.Enabled:=false;
   edtuserpass2.Enabled:=false;
   sbtnusersave.Enabled:=false;
   sbtnusercancel.Enabled:=false;
   rbsys.Enabled:=false;
   rbuser.Enabled:=false;
end;

procedure Tfrmsysset.sbtnsaveClick(Sender: TObject);
begin
   if edtnname.Text=''then
   begin
   messagebox(GetforegroundWindow,'用户名不能为空!','系统提示',mb_ok+mb_iconexclamation);
  exit;
  end;
  if edtnpass.Text='' then
  begin
  messagebox(GetforegroundWindow,'密码不能为空!','系统提示',mb_ok+mb_iconexclamation);
  exit;
  end;
  if edtnpass.Text =edtnpass2.Text  then
  begin
  try
  adoquery1.Open;
  except
   begin
      application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
      abort;
   end;
  end;
  if labname.Caption  <>edtnname.Text then
    with adoquery1 do
    begin
      first;
      while not eof do
      begin
         if edtnname.Text =fieldbyname('name').AsString then
         begin
         messagebox(GetforegroundWindow,'用户名已存在!,请重新输入!','系统提示',mb_ok+mb_iconexclamation) ;
         edtnname.SetFocus;
         exit;
         end;
         next;
      end;
    end;
  adoquery1.Close;
   with adoquery1 do
   begin
     sql.Add('select * from username where name='+#39+labname.Caption +#39 );
     try
     open;
     except
     begin
        application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
        abort;
     end;
     end;
     if edtnname.Text <>labname.Caption  then
     begin
       edit;
       fieldbyname('name').AsString:=edtnname.Text;
       fieldbyname('password').AsString:=edtnpass.Text;
       post;
      close;
      labname.Caption:=edtnname.Text;
      try
      open;
      except
      begin
        application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
        abort;
      end;
      end;
     end else
     begin
       edit;
       fieldbyname('password').AsString:=edtnpass.Text;
       post;
     end;
   end;
   messagebox(GetforegroundWindow,'保存成功','系统提示',mb_ok+mb_iconinformation);
 //  edtoname.Text:='';
   edtopass.Text:='';
   edtnname.Text:='';
   edtnpass.Text:='';
   edtnpass2.Text:='';
   exit;
   end else
   begin
   messagebox(GetforegroundWindow,'新密码前后两次输入不正确!请重新输入。','系统提示',mb_ok+mb_iconexclamation);
   exit;
   end;
end;

procedure Tfrmsysset.sbtnokClick(Sender: TObject);
begin
  try
  adoquery1.Open;
  except
     begin
       application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
       abort;
     end;
  end;
  with adoquery1 do
  begin
    first;
    while not eof do
    begin
    if (labname.Caption =fieldbyname('name').AsString) and
       (edtopass.Text=fieldbyname('password').AsString) then
      begin
        if fieldbyname('power').AsString ='1' then
        begin
          edtnname.Text:=labname.Caption ;
          edtnname.Enabled:=true;
          edtnpass.Enabled:=true;
          edtnpass2.Enabled:=true;
          sbtnsave.Enabled:=true;
           
           edtusername.Enabled:=true;
           edtuserpass.Enabled:=true;
           edtuserpass2.Enabled:=true;
           sbtnusersave.Enabled:=true;
           sbtnusercancel.Enabled:=true;
           rbsys.Enabled:=true;
           rbuser.Enabled:=true;
           sbtndelete.enabled:=true;
           sbtnrefresh.enabled:=true;
           edtnname.SetFocus;
           exit;
        end else
        begin
        messagebox(GetforegroundWindow,'您没有管理员的权限!','系统提示',mb_ok+mb_iconexclamation);
        exit;
        end;
      end;
    next;
    end;
    messagebox(GetforegroundWindow,'密码错误!','系统提示',mb_ok+mb_iconerror);
  end;
end;

procedure Tfrmsysset.sbtncancelClick(Sender: TObject);
begin
   edtnname.Text:='';
   edtnpass.Text:='';
   edtnpass2.Text:='';
end;

procedure Tfrmsysset.sbtnusersaveClick(Sender: TObject);
begin
  if edtusername.Text ='' then
  begin
    messagebox(GetforegroundWindow,'用户名不能为空!','系统提示',mb_ok+mb_iconerror) ;
    exit;
  end;
  if edtuserpass.Text='' then
  begin
  messagebox(GetforegroundWindow,'密码不能为空!','系统提示',mb_ok+mb_iconexclamation);
  exit;
  end;
  if edtuserpass.text<>edtuserpass2.Text then
  begin
  messagebox(GetforegroundWindow,'密码前后两次输入不一致!请重新输入。','系统提示',mb_ok+mb_iconerror);
  exit;
  end;
 
  if not adoquery1.Active then
  try
  adoquery1.Open;
  except
    begin
      application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
      abort;
    end;
  end;
  with adoquery1 do
  begin
    first;
    while not eof do
    begin
      if edtusername.Text =fieldbyname('name').AsString then
      begin
        messagebox(GetforegroundWindow,'用户名已存在!','系统提示',mb_ok+mb_iconinformation);
        exit;
      end;
      next;
    end;
    edit;
    append;
    fieldbyname('name').AsString:=edtusername.Text;
    fieldbyname('password').AsString:=edtuserpass.Text;
    if rbsys.Checked then  fieldbyname('power').AsString:='1';
    if rbuser.Checked then  fieldbyname('power').AsString:='2';
    post;
    messagebox(GetforegroundWindow,'新用户已创建!','系统提示',mb_ok+mb_iconinformation);
  end;
end;

procedure Tfrmsysset.edtonameKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
  key:=#0;
  
  edtopass.SetFocus;
  end;
end;

procedure Tfrmsysset.edtopassKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13  then
  begin
  key:=#0;
  sbtnok.OnClick(sender);
  end;
end;

procedure Tfrmsysset.edtnnameKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13  then
  begin
   key:=#0;
   edtnpass.SetFocus;
  end;
end;

procedure Tfrmsysset.edtnpassKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13  then
  begin
   key:=#0;
   edtnpass2.SetFocus;
  end;
end;

procedure Tfrmsysset.edtnpass2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13  then
 begin
  key:=#0;
  sbtnsave.OnClick(sender);
 end;
end;

procedure Tfrmsysset.edtusernameKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13  then
 begin
  key:=#0;
  edtuserpass.SetFocus;
 end;
end;

procedure Tfrmsysset.edtuserpassKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13  then
 begin
  key:=#0;
  edtuserpass2.SetFocus;
 end;
end;

procedure Tfrmsysset.TabSheet3Show(Sender: TObject);
begin
 try
 adoquery1.Open;
 except
    begin
      application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
      abort;
    end;
 end;
end;

procedure Tfrmsysset.sbtndeleteClick(Sender: TObject);
begin
 if (adoquery1.FieldByName('name').AsString = labname.Caption ) then
  begin
    messagebox(GetforegroundWindow,'不能删除您自己!','系统提示',mb_ok+mb_iconexclamation);
    exit;
  end;
  if  messagebox(GetforegroundWindow,'您确定要删除该用户吗?','系统提示',mb_okcancel+mb_iconexclamation)=idok then
  begin
  if adoquery1.Active then adoquery1.Close;
  try
  adoquery1.Open;
  except
     begin
       application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
       abort;
     end;
  end;
  adoquery1.Delete;
  end;
end;

procedure Tfrmsysset.sbtnrefreshClick(Sender: TObject);
begin
adoquery1.Close;
try
adoquery1.Open;
except
   begin
      application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
      abort;
   end;
end;
//adoquery1.Refresh;
end;

procedure Tfrmsysset.sbtnclose3Click(Sender: TObject);
begin
adoquery1.Close;
close;
end;

end.

⌨️ 快捷键说明

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