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

📄 u_pwdrgt.pas

📁 这是一个60吨地磅称量系统
💻 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 + -