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

📄 unit5.~pas

📁 机房管理系统源代码2006-7-8制作的非常实用
💻 ~PAS
字号:
unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ImgList, ToolWin, Grids, DBGrids, DB, ExtCtrls,adodb,
  StdCtrls;

type
  Tfrmoperates = class(TForm)
    ToolBar1: TToolBar;
    ImageList1: TImageList;
    ToolButton1: TToolButton;
    ToolButton3: TToolButton;
    DataSource1: TDataSource;
    ToolButton4: TToolButton;
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    StringGrid1: TStringGrid;
    Panel2: TPanel;
    Label1: TLabel;
    Splitter1: TSplitter;
    ToolButton2: TToolButton;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure StringGrid1DblClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
  private
    { Private declarations }
    procedure get_right(DataSet: TDataSet);
    procedure set_right(DataSet: TDataSet);
  public
    { Public declarations }
  end;

var
  frmoperates: Tfrmoperates;

implementation

uses Unit3, Unit6, Unit4;

{$R *.dfm}

procedure Tfrmoperates.FormCreate(Sender: TObject);
begin
  dm1.ADOQuery1.Close;
  dm1.ADOQuery1.SQL.Text:='select * from users';
  dm1.ADOQuery1.Open;
  StringGrid1.ColWidths[0]:=120;
  StringGrid1.ColWidths[0]:=80;
  StringGrid1.ColWidths[0]:=100;
  StringGrid1.Cells[0,0]:='功能';
  StringGrid1.Cells[0,1]:='上机用户信息表';
  StringGrid1.Cells[0,2]:='交费记录表';
  StringGrid1.Cells[0,3]:='上机安排表';
  StringGrid1.Cells[0,4]:='设备情况表';
  StringGrid1.Cells[0,5]:='上机记录表';
  StringGrid1.Cells[1,0]:='浏览';
  StringGrid1.Cells[2,0]:='修改';
  StringGrid1.Cells[3,0]:='删除';
 //    get_right(dm1.ADOQuery1);
  dm1.ADOQuery1.AfterScroll:=get_right;
  dm1.ADOQuery1.BeforeScroll:=set_right;
end;

procedure Tfrmoperates.FormShow(Sender: TObject);
begin
 DBGrid1.Columns.Add;
 DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='name';
 DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='姓名';
 DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
 DBGrid1.Columns.Add;
 DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='create_date';
 DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='开始使用日期';
 DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
 dm1.ADOQuery1.First;
end;

procedure Tfrmoperates.StringGrid1DblClick(Sender: TObject);
begin
 if StringGrid1.cells[StringGrid1.col,StringGrid1.row]='有' then
 begin
  StringGrid1.cells[StringGrid1.col,StringGrid1.row]:='无'
 end
 else
 begin
  StringGrid1.cells[StringGrid1.col,StringGrid1.row]:='有';
 end;
//***************************************
//2004-05-13 qhb
//设置权限
//***************************************
//   set_right(dm1.ADOQuery1);
end;

//***************************************
//2004-05-13 qhb
//获得权限
//***************************************
procedure Tfrmoperates.get_right;
var qu:tadoquery;
   i,j:integer;
begin
 if dm1.ADOQuery1.Eof then
  exit;
 qu:=tadoquery.Create(nil);
 qu.Connection:=dm1.ADOCon1;
 for i:=1 to StringGrid1.RowCount-1 do
   for j:=1 to StringGrid1.ColCount-1 do
   begin
    qu.SQL.Text:='select name from rights where name='''
     +trim(dm1.ADOQuery1.fieldbyname('name').AsString)+''' and function='''
     +StringGrid1.Cells[0,j]+''' and rights='''
     +StringGrid1.Cells[i,0]+'''';
    qu.Open;
    if qu.Eof then
      StringGrid1.Cells[j,i]:='无'
    else
      StringGrid1.Cells[j,i]:='有';
    qu.close;
   end;
 qu.Close;
 qu.Free;
end;

//***************************************
//2004-05-13 qhb
//设置权限
//***************************************
procedure Tfrmoperates.set_right;
var i,j:integer;
  s:string;
begin
 dm1.ADOCon1.Execute('delete from rights where name='''
  +trim(dm1.ADOQuery1.fieldbyname('name').asstring)+'''');
 for i:=1 to StringGrid1.RowCount-1 do
   for j:=1 to StringGrid1.ColCount-1 do    
    if StringGrid1.Cells[j,i]='有' then
    begin
     s:='insert into rights (name,function,rights) values ('''
      +trim(dm1.ADOQuery1.fieldbyname('name').asstring)+''','''
      +StringGrid1.Cells[0,j]+''','''+StringGrid1.Cells[i,0]+''')';
     dm1.ADOCon1.Execute(s);
    end;
end;

procedure Tfrmoperates.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  dm1.ADOQuery1.AfterScroll:=nil;
end;

procedure Tfrmoperates.ToolButton3Click(Sender: TObject);
begin
 application.CreateForm(tfrmedusers,frmedusers);
 frmedusers.ty:=1;
 frmedusers.ShowModal;
 dm1.ADOQuery1.close;
 dm1.ADOQuery1.Open;
end;

procedure Tfrmoperates.ToolButton1Click(Sender: TObject);
var na:string;
begin
 na:=trim(dm1.ADOQuery1.fieldbyname('name').AsString);
 if application.MessageBox(pchar('确定删除'+na+'?'),'',MB_YESNO)<>IDYES then
  exit;
 dm1.ADOQuery1.close;
 dm1.ADOCon1.Execute('delete from users where name='''
 +na+'''');  
 dm1.ADOQuery1.Open;
 application.MessageBox('已删除','',64);
end;

procedure Tfrmoperates.ToolButton4Click(Sender: TObject);
begin
 application.CreateForm(tfrmedusers,frmedusers);
 frmedusers.ty:=2;
 frmedusers.ShowModal;
end;

procedure Tfrmoperates.ToolButton2Click(Sender: TObject);
begin
 application.CreateForm(tfrmedusers,frmedusers);
 frmedusers.ty:=3;
 frmedusers.ShowModal;
end;

end.

⌨️ 快捷键说明

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