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

📄 unitusermanage.pas

📁 这是一个很好的超市管理系统
💻 PAS
字号:
unit UnitUserManage;

interface

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

type
  TFrmUserManage = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Label7: TLabel;
    Label8: TLabel;
    CheckListBox1: TCheckListBox;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    ListBox1: TListBox;
    procedure DIS;
    procedure CLS;
    procedure ENA;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure CheckListBox1Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
  private
     p_rights: array of array of string;
     count: integer;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmUserManage: TFrmUserManage;

implementation

uses UnitDM;

{$R *.dfm}

procedure TFrmUserManage.DIS;
var
  i: integer;
begin
  for i := 0 to componentcount - 1 do
  begin
    if (components[i] is TDBEdit) then
      TDBEdit(components[i]).Enabled := false;
  end;
end;

procedure TFrmUserManage.CLS;
var
  i: integer;
begin
  for i := 0 to componentcount - 1 do
  begin
    if (components[i] is TDBEdit) then
      TDBEdit(components[i]).Clear;
  end;
end;

procedure TFrmUserManage.ENA;
var
  i: integer;
begin
  for i := 0 to componentcount - 1 do
  begin
    if (components[i] is TDBEdit) then
      TDBEdit(components[i]).Enabled := true;
  end;
end;

procedure TFrmUserManage.BitBtn1Click(Sender: TObject);
begin
  CLS;
  ENA;
  BitBtn4.Enabled := true;
  BitBtn5.Enabled := true;
  BitBtn2.Enabled := false;
  BitBtn3.Enabled := false;
  BitBtn6.Enabled := false;
  with DM.ADOTCZY do
  begin
    append;
  end;
end;

procedure TFrmUserManage.BitBtn2Click(Sender: TObject);
begin
  ENA;
  DM.ADOTCZY.Edit;
  BitBtn1.Enabled := false;
  BitBtn3.Enabled := false;
  BitBtn4.Enabled := true;
  BitBtn5.Enabled := true;
  BitBtn6.Enabled := false;
end;

procedure TFrmUserManage.BitBtn3Click(Sender: TObject);
begin
  DM.ADOTCZY.Delete;
  BitBtn1.Enabled := false;
  BitBtn2.Enabled := false;
  BitBtn4.Enabled := true;
  BitBtn5.Enabled := true;
  BitBtn6.Enabled := false;
  ENA;
end;

procedure TFrmUserManage.BitBtn4Click(Sender: TObject);
begin
  DM.ADOTCZY.Post;
  BitBtn1.Enabled := true;
  BitBtn2.Enabled := true;
  BitBtn3.Enabled := true;
  BitBtn4.Enabled := false;
  BitBtn5.Enabled := false;
  BitBtn6.Enabled := true;
  DIS;
end;

procedure TFrmUserManage.BitBtn5Click(Sender: TObject);
begin
  DM.ADOTCZY.Cancel;
  BitBtn1.Enabled := true;
  BitBtn2.Enabled := true;
  BitBtn3.Enabled := true;
  BitBtn4.Enabled := false;
  BitBtn5.Enabled := false;
  BitBtn6.Enabled := true;
  CLS;
  DIS;
end;

procedure TFrmUserManage.BitBtn6Click(Sender: TObject);
begin
  self.Close;
  DM.ADOTCZY.Close;
end;

procedure TFrmUserManage.FormShow(Sender: TObject);
begin
  DM.ADOTCZY.Close;
  DM.ADOTCZY.Open;
  CLS;
  ENA;
end;


procedure TFrmUserManage.ListBox1Click(Sender: TObject);
var
  S_rights: string;
  I_index: integer;
begin
  inherited;
  if (Listbox1.itemindex < 0) or (Listbox1.itemindex > count) then
  begin
    CheckListbox1.Enabled := false;
    exit;
  end
  else
    checklistbox1.Enabled := true;
  S_rights := P_rights[1, listbox1.itemindex];
  if length(S_rights) <> 13 then
    S_rights := '0000000000000';
  for I_index := 1 to checklistbox1.Items.Count do
  begin
    if S_rights[I_index] = '1' then
      CheckListbox1.Checked[I_index - 1] := true
    else
      Checklistbox1.Checked[I_index - 1] := false;
  end;

end;

procedure TFrmUserManage.CheckListBox1Click(Sender: TObject);
var
  I_index, I_name: integer;
  S_rights: string;
begin
  I_name := Listbox1.ItemIndex;
  if I_name = 0 then //系统管理员
    exit;
  S_rights := '';
  for I_index := 0 to CheckListbox1.Items.Count - 1 do
  begin
    if CheckListbox1.Checked[I_index] then
      S_rights := S_rights + '1'
    else
      S_rights := S_rights + '0';
  end;
  P_rights[1, I_name] := S_rights;
end;

procedure TFrmUserManage.BitBtn7Click(Sender: TObject);
var
  query_data: TAdoquery;
  str1: string;
  i: integer;
begin
  str1 := 'update user set user_right = :right where user_name = :name';
  query_data := TAdoquery.create(self);
  query_data.connectionstring := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=D:\代码与资料库\数据库备份\XHXS.mdb;Mode=Share Deny None;'
    + 'Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:'
    + 'Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'
    + 'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Do not Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
  for i := 0 to count do
  begin
    with query_data do
    begin
      close;
      SQL.clear;
      SQL.add(str1);
      parameters.parambyname('right').value := P_rights[1,i];
      parameters.parambyname('name').value := p_rights[0,i];
      if (not prepared) then
        prepared := true;
      try
        ExecSQL;
      except
        showmessage('操作失败,请再试!');
        exit;
      end;
    end;
  end;
end;
procedure TFrmUserManage.PageControl1Change(Sender: TObject);
var
  I_index, i: integer;
  str1: string;
  query, query_data: TADOQuery;
begin
  case pagecontrol1.TabIndex of
  1:
    begin
      str1 := 'select user_name from user';
      query := TAdoquery.create(self);
      query.connectionstring := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=D:\代码与资料库\数据库备份\XHXS.mdb;Mode=Share Deny None;'
        + 'Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:'
        + 'Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'
        + 'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Do not Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
      with query do
      begin
        close;
        SQL.clear;
        SQL.add(str1);
        try
          open;
        except
          showmessage('操作失败,请再试!');
          exit;
        end;
        count := recordcount;
        setlength(P_rights, 2);
        setlength(P_rights[0], count);
        setlength(P_rights[1], 13);
        first;
        for i := 0 to count -1 do
        begin
          p_rights[0,i] := fieldbyname('user_name').asstring;
          next;
        end;
      end;
    end;
  end;

end;

end.

⌨️ 快捷键说明

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