📄 u_pwdrgt.pas
字号:
unit u_pwdrgt;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, Db, DBTables, Menus;
type
Tf_pwdrgt = class(TForm)
MainMenu1: TMainMenu;
cancel: TMenuItem;
OK: TMenuItem;
rtn: TMenuItem;
Table1: TTable;
StringGrid1: TStringGrid;
procedure GetData;
procedure SetData;
procedure DBF2Data;
procedure Data2DBF;
procedure cancelClick(Sender: TObject);
procedure OKClick(Sender: TObject);
procedure rtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure StringGrid1Exit(Sender: TObject);
procedure StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
{ procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); }
private
{ Private declarations }
public
{ Public declarations }
Right: array [0..10] of Integer;
RightName: array [0..10] of String;
RightCount: Integer;
end;
var
f_pwdrgt: Tf_pwdrgt;
Modified: Boolean;
implementation
uses U_UTIL, U_comtest;
{$R *.DFM}
procedure TF_PWDRGT.GetData;
var
i: Integer;
begin
for i:=1 to RightCount-1 do
begin
StringGrid1.Cells[0,i]:=' '+RightName[i];
StringGrid1.Cells[1,i]:=IntToStr(Right[i]);
end;
end;
procedure TF_PWDRGT.SetData;
var
i: Integer;
begin
for i:=1 to RightCount-1 do
Right[i]:=U_StrToInt(StringGrid1.Cells[1,i]);
end;
procedure TF_PWDRGT.DBF2Data;
begin
with Table1 do
begin
TableName:='RIGHT.DBF';
Open;
RightCount:=RecordCount;
First;
while not EOF do
begin
RightName[RecNo]:=FieldByName('NAME').asString;
Right[RecNo]:=FieldByName('RIGHT').asInteger;
Next;
end;
Close;
end;
end;
procedure TF_PWDRGT.Data2DBF;
begin
with Table1 do
begin
TableName:='RIGHT.DBF';
Open;
First;
while not EOF do
begin
Edit;
FieldByName('RIGHT').asInteger:=Right[RecNo];
Post;
Next;
end;
Close;
end;
end;
procedure Tf_pwdrgt.cancelClick(Sender: TObject);
begin
GetData;
Modified:=False;
end;
procedure Tf_pwdrgt.OKClick(Sender: TObject);
begin
StringGrid1Exit(Sender);
SetData;
Data2DBF;
Modified:=False;
end;
procedure Tf_pwdrgt.rtnClick(Sender: TObject);
begin
if Modified then
begin
if MessageDlg('权限设定修改过,尝未确认存盘,确定要离开吗?',mtWarning,[mbYes,mbNo],0)<>mrYes then Exit;
end;
Close;
end;
procedure Tf_pwdrgt.FormCreate(Sender: TObject);
begin
StringGrid1.ColWidths[0]:=100;
StringGrid1.ColWidths[1]:=80;
StringGrid1.Cells[0,0]:=' 功能';
StringGrid1.Cells[1,0]:=' 权限';
DBF2Data;
end;
procedure Tf_pwdrgt.FormShow(Sender: TObject);
begin
StringGrid1.Top:=10;
StringGrid1.Left:=(F_ComTest.Width-StringGrid1.Width) div 2;
StringGrid1.RowCount:=RightCount;
GetData;
Modified:=False;
end;
procedure Tf_pwdrgt.StringGrid1Exit(Sender: TObject);
var
i, Chk: Integer;
begin
for i:=1 to RightCount-1 do
begin
Chk:=U_StrToInt(StringGrid1.Cells[1,i]);
if Chk>255 then Chk:=255
else if Chk<1 then Chk:=1;
StringGrid1.Cells[1,i]:=IntToStr(Chk);
end;
end;
{procedure TF_PWDRGT.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Modified:=True;
end; }
procedure Tf_pwdrgt.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
modified:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -