📄 frmroles.pas
字号:
//
// Users dialog
//
// (c) Chicony Software 20001 in
//
// When Who Why
// --------- --- ------------------------------------------------------------
// 2001.6.13 Century Initial Version
//
unit frmRoles;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ImgList, ToolWin, ExtCtrls, Menus, Buttons,
vafuncs, utils, frmDataGrid,wpfuncs,prefs, Spin, CheckLst,DBmain;
type
Tref = Record
t_eRolename,t_eDescription,t_cbprj,t_cbType:string;
end;
type
TfrmRole = class(TForm)
PageControl: TPageControl;
tsMain: TTabSheet;
Label1: TLabel;
eRolename: TEdit;
eDescription: TEdit;
Label2: TLabel;
btCreate: TBitBtn;
btClose: TBitBtn;
edId: TEdit;
ListBox1: TListBox;
Label3: TLabel;
procedure tbExitClick(Sender: TObject);
procedure btCloseClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure btCreateClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
g_Users: OleVariant; // Temporary storage
g_DataModified: Boolean; // TRUE if any rows have been
// inserted, updated, or deleted.
// See WasDataModified
function CheckInList(str:string;List:TCustomListBox):boolean;
public
isChange:Boolean;
constructor Create(Owner: TComponent); override;
destructor Destroy; override;
function ShowModal(new, modify: Boolean): Integer; reintroduce; overload;
function WasDataModified: Boolean;
end;
var
isAdministrator,isManager,isSuperuser,isImpersonator,isGeneral:Boolean;
isClose:Boolean;
t_Tref:Tref;
implementation
{$R *.DFM}
//==============================================================================
//
// Creation & destruction
//
// Create form & initialise global data
constructor TfrmRole.Create(Owner: TComponent);
begin
inherited Create(owner);
// Globals
g_Users:=Unassigned;
g_DataModified:=FALSE;
end;
// Destroy form & free any resources used
destructor TfrmRole.Destroy;
begin
// Globals
g_Users:=Unassigned;
inherited Destroy;
end;
//==============================================================================
//
// Entry points
//
//
// Display a users dialog box
//
// Args: framework object to use
// name of user to load (empty string means none)
// description of user to load (empty string means none)
// description (Unassigned if not known)
// if delete is TRUE then user can delete rows
// if new is TRUE then user can create rows
// if modify is TRUE then user can modify rows
// if find is TRUE then user can find new rows
//
// Returns: GE_OK on success
//
// Note: If a user is to be loaded then pass its name, else if the user has
// already been loaded it can be passed in the users_row argument
// (only the first user is loaded). If the ID is not known then the
// name may be passed.
//
// Returns: mrAbort on failure
//
function TfrmRole.ShowModal(new, modify: Boolean): Integer;
VAR rows:variant;
begin
// Initialise
if (not new) and (not modify) then begin
btCreate.visible:=false;
eRolename.ReadOnly:=TRUE;
eDescription.ReadOnly:=TRUE;
end;
// Delete
if modify then begin
btCreate.Caption:='确认';
end;
// Continue with standard
Result:=inherited ShowModal;
end;
// Returns TRUE if data was modified
function TfrmRole.WasDataModified: Boolean;
begin
Result:=g_DataModified;
end;
//
// Exit
//
procedure TfrmRole.tbExitClick(Sender: TObject);
begin
Close;
end;
procedure TfrmRole.btCloseClick(Sender: TObject);
begin
isclose:=true;
Close;
end;
procedure TfrmRole.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose:=isclose;
end;
procedure TfrmRole.btCreateClick(Sender: TObject);
begin
isclose:=true;
ischange:=false;
if btCreate.caption='OK' then begin
if (t_Tref.t_eRolename<>eRolename.text) or
(t_Tref.t_eDescription<>eDescription.text) then
if MessageDlg('Are you sure you want to modify this record?',
mtConfirmation, [mbYes, mbNo], 0) = mrNo then begin
isClose:=false;
Exit;
end else begin
if eRolename.Text='' then begin
MessageDlg('Every role must have a name', mtWarning,[mbOk], 0);
isClose:=false;
exit;
end;
ischange:=true;
end;
end else begin
if eRolename.Text='' then begin
MessageDlg('Every role must have a name!', mtWarning,[mbOk], 0);
isClose:=false;
exit;
end;
end;
end;
function TfrmRole.CheckInList(str:string;List:TCustomListBox):boolean;
var i:integer;
begin
result:=false;
if List.items.Count>0 then begin
for i:=list.items.Count-1 downto 0 do begin
if uppercase(str)=uppercase(list.Items.Strings[i]) then
result:=true;
end;
end;
end;
procedure TfrmRole.FormShow(Sender: TObject);
begin
PageControl.ActivePage:=tsMain;
t_Tref.t_erolename:=erolename.text;
t_Tref.t_eDescription:=eDescription.text;
end;
initialization
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -