📄 car4ss102.pas
字号:
unit Car4ss102;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
StrUtils, ExtDlgs, ComCtrls, math;
type
Tf_Car4ss102 = class(TForm)
GroupBox1: TGroupBox;
ListView1: TListView;
Button5: TButton;
Button6: TButton;
Button1: TButton;
Button3: TButton;
Button4: TButton;
GroupBox2: TGroupBox;
ListView2: TListView;
Button2: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton7: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
RadioButton8: TRadioButton;
RadioButton9: TRadioButton;
Button7: TButton;
RadioButton10: TRadioButton;
RadioButton11: TRadioButton;
procedure Button4Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ListView2DblClick(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure RadioButton5Click(Sender: TObject);
procedure RadioButton6Click(Sender: TObject);
procedure RadioButton7Click(Sender: TObject);
procedure RadioButton8Click(Sender: TObject);
procedure RadioButton9Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure GetData;
private
{ Private declarations }
public
{ Public declarations }
end;
var
f_Car4ss102: Tf_Car4ss102;
implementation
uses data, main,Car4ss1021;
{$R *.dfm}
procedure Tf_Car4ss102.Button4Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listview2.items.count-1 do
begin
listview2.Items.item[i].SubItems[1]:='N';
end;
end;
procedure Tf_Car4ss102.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
Begin
key:=0;
perform(WM_NEXTDLGCTL,0,0);
end
else if key=VK_ESCAPE then close;
end;
procedure Tf_Car4ss102.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Item.Selected = true then
begin
Sender.Canvas.Brush.Color := clMenuHighlight;
(Sender as TListView).Canvas.Font.Color := clWhite;
end;
end;
procedure Tf_Car4ss102.GetData;
var
Query:TADOQuery;
s:string;
begin
if ListView1.SelCount=0 then exit;
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
if RadioButton1.Checked=true then s:=RadioButton1.caption;
if RadioButton2.Checked=true then s:=RadioButton2.caption;
if RadioButton3.Checked=true then s:=RadioButton3.caption;
if RadioButton4.Checked=true then s:=RadioButton4.caption;
if RadioButton5.Checked=true then s:=RadioButton5.caption;
if RadioButton6.Checked=true then s:=RadioButton6.caption;
if RadioButton7.Checked=true then s:=RadioButton7.caption;
if RadioButton8.Checked=true then s:=RadioButton8.caption;
if RadioButton9.Checked=true then s:=RadioButton9.caption;
if RadioButton10.Checked=true then s:=RadioButton10.caption;
if RadioButton11.Checked=true then s:=RadioButton11.caption;
if listview2.items.Count>0 then listview2.items.Clear;
query.SQL.Add('select * from 操作员权限 where 操作员='''+listview1.Selected.Caption+''' and 功能类别='''+s+'''');
query.Open;
while not query.Eof do
begin
with listview2.items.add do
begin
caption:=query.fieldbyname('功能类别').Value;
subitems.add(query.fieldbyname('功能名称').value);
subitems.add(query.fieldbyname('操作权限').value);
end;
query.Next;
end;
query.Close;
query.Free;
end;
procedure Tf_Car4ss102.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listview2.items.count-1 do
begin
listview2.Items.item[i].SubItems[1]:='Y';
end;
end;
procedure Tf_Car4ss102.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tf_Car4ss102.Button6Click(Sender: TObject);
begin
close;
end;
procedure Tf_Car4ss102.FormCreate(Sender: TObject);
var
Query,Query1:TADOQuery;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
Query1:=TADOQuery.Create(nil);
Query1.Connection:=DataModuleADO.ADOConnection1;
Query.SQL.Add('select * from 操作员');
Query.Open ;
while not query.Eof do
begin
with ListView1.Items.Add do
begin
Caption:=Query.FieldByName('姓名').Value;
subitems.Add(query.fieldbyname('权限类别').value);
end;
query.next;
end;
query.close;
query.free;
if ListView1.Items.Count>0 then ListView1.Items.Item[0].Selected := True;
end;
procedure Tf_Car4ss102.RadioButton2Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.Button3Click(Sender: TObject);
var
query:TADOQuery;
i:integer;
s:string;
begin
query:=TADOquery.Create(nil);
query.Connection:=DatamoduleADO.ADOConnection1;
if listview1.SelCount=0 then exit;
if listview2.Items.Count=0 then exit;
if listview1.Selected.Caption='administrator' then
begin
showmessage('管理员权限不能修改。');
exit;
end;
if listview1.Selected.Caption=czy then
begin
showmessage('当前用户权限不能修改。');
exit;
end;
for i:=0 to listview2.Items.count-1 do
begin
s:='update 操作员权限 set 操作权限='''+listview2.Items.Item[i].SubItems[1];
s:=s+''' where 功能类别='''+listview2.Items.Item[i].Caption;
s:=s+''' and 功能名称='''+listview2.Items.Item[i].SubItems[0];
s:=s+''' and 操作员='''+listview1.Selected.Caption+'''';
DatamoduleADO.ADOConnection1.BeginTrans;
query.SQL.Text:=s;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
query.Close;
query.Free;
showmessage('更新操作成功。');
end;
procedure Tf_Car4ss102.Button2Click(Sender: TObject);
var
i,j:integer;
Query,query1:TADOQuery;
begin
f_Car4ss1021:=TF_Car4ss1021.Create(self);
f_Car4ss1021.showmodal;
end;
procedure Tf_Car4ss102.ListView2DblClick(Sender: TObject);
begin
if listview2.SelCount=0 then exit;
if listview2.Selected.SubItems[1]='Y'then
listview2.Selected.SubItems[1]:='N'
else listview2.Selected.SubItems[1]:='Y';
end;
procedure Tf_Car4ss102.RadioButton1Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.ListView1Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.RadioButton3Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.RadioButton4Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.RadioButton5Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.RadioButton6Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.RadioButton7Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.RadioButton8Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.RadioButton9Click(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.Button7Click(Sender: TObject);
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
if listview1.SelCount=0 then exit;
if listview1.Selected.Caption='administrator' then
begin
showmessage('管理员不能删除');
//exit;
end;
if listview1.Selected.Caption=czy then
begin
showmessage('当前用户不能删除');
//exit;
end;
if(Application.MessageBox(PChar('确认要删除所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=2) then exit;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:='delete from 操作员权限 where 操作员='''+listview1.Selected.Caption+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:='delete from 操作员 where 姓名='''+listview1.Selected.Caption+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
query.Close;
query.Free;
listview1.Selected.Delete;
end;
procedure Tf_Car4ss102.FormShow(Sender: TObject);
begin
GetData;
end;
procedure Tf_Car4ss102.Button5Click(Sender: TObject);
begin
mainform.ShowChmHelp('02-03-02.htm');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -