📄 u_userpower.pas
字号:
unit U_UserPower;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ExtCtrls, StdCtrls, dbtables, U_Globalvar, Db, HGrids, HDBGrids;
type
TFm_UserPower = class(TForm)
DQuery: TQuery;
DDS: TDataSource;
Panel1: TPanel;
DGrid: THDBGrid;
Btn_Ok: TButton;
Btn_Cancel: TButton;
Bevel1: TBevel;
DQuerys_rydm: TStringField;
DQuerys_cddm: TStringField;
DQueryb_zdqx: TStringField;
DQueryb_dxqx: TStringField;
tmQuery: TQuery;
DUpSQL: TUpdateSQL;
procedure DQuerys_cddmGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure DQueryb_zdqxSetText(Sender: TField; const Text: string);
procedure DQueryb_zdqxGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure FormCreate(Sender: TObject);
procedure DGridKeyPress(Sender: TObject; var Key: Char);
procedure DGridDblClick(Sender: TObject);
private
public
end;
var
Fm_UserPower: TFm_UserPower;
function Show_UserPower(pCode: string): Boolean;
implementation
uses U_GlobalProc;
{$R *.DFM}
function Show_UserPower(pCode: string): Boolean;
begin
Result := False;
Fm_UserPower := TFm_UserPower.Create(Application);
with Fm_UserPower do
try
DQuery.ParamByName('ps_rydm').AsString := pCode;
DQuery.Prepare;
DQuery.Open;
//RefreshGridStyle(Fm_UserPower.DGrid);
if ShowModal = mrOk then
begin
if DQuery.State in [dsEdit, dsInsert] then
DQuery.Post;
Fm_UserPower.DQuery.ApplyUpdates;
Result := True;
// 操作权限
SetUserPower(S_UserCode);
end;
finally
Fm_UserPower.Free;
end;
end;
procedure TFm_UserPower.DQuerys_cddmGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin //
if tmQuery.Locate('s_cddm', Sender.AsString, []) then
Text := tmQuery.FieldByName('s_hzmc').AsString;
end;
procedure TFm_UserPower.DQueryb_zdqxSetText(Sender: TField;
const Text: string);
begin //
if Text = ' ' then
Sender.AsString := '0'
else
Sender.AsString := '1';
end;
procedure TFm_UserPower.DQueryb_zdqxGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin //
if Sender.AsString = '1' then
Text := '√'
else
Text := ' ';
end;
procedure TFm_UserPower.FormCreate(Sender: TObject);
begin
tmQuery.Open;
end;
procedure TFm_UserPower.DGridKeyPress(Sender: TObject; var Key: Char);
begin
if Key <> ' ' then
begin
Key := #7;
Exit;
end;
with DGrid do
begin
if (Columns[Col].Field.FieldName = 'b_zdqx') or
(Columns[Col].Field.FieldName = 'b_dxqx') then
begin
DQuery.Edit;
if Columns[Col].Field.AsString = '0' then
begin
Columns[Col].Field.AsString := '1';
if (Columns[Col].Field.FieldName = 'b_dxqx') then
DQuery.FieldByName('b_zdqx').AsString := '1';
end
else
begin
Columns[Col].Field.AsString := '0';
if (Columns[Col].Field.FieldName = 'b_zdqx') then
DQuery.FieldByName('b_dxqx').AsString := '0';
end;
DQuery.Post;
end;
end;
end;
procedure TFm_UserPower.DGridDblClick(Sender: TObject);
begin
with DGrid do
begin
if (Columns[Col].Field.FieldName = 'b_zdqx') or
(Columns[Col].Field.FieldName = 'b_dxqx') then
begin
DQuery.Edit;
if Columns[Col].Field.AsString = '0' then
begin
Columns[Col].Field.AsString := '1';
if (Columns[Col].Field.FieldName = 'b_dxqx') then
DQuery.FieldByName('b_zdqx').AsString := '1';
end
else
begin
Columns[Col].Field.AsString := '0';
if (Columns[Col].Field.FieldName = 'b_zdqx') then
DQuery.FieldByName('b_dxqx').AsString := '0';
end;
DQuery.Post;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -