📄 pfgusermanager.pas
字号:
{***************************************************************
*
* Unit Name: pfgUserManager
* Purpose :
* Author :
* History :
*
****************************************************************}
unit pfgUserManager;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls;
type
TpfgUserManager = class(TComponent)
private
FUserCount: SmallInt;
function GetUserCount: Smallint;
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function GetUserList(ts:tstrings):SmallInt;
function GetUserDirectory(const username:string):string;
// Added by Mert //
function AddUser(UserName:String;ProfileUser:boolean):LongInt;
function DeleteUser(UserName:String):longint;
// End of Mert //
published
{ Published declarations }
Property UserCount: Smallint read GetUserCount;
end;
procedure Register;
implementation
uses
pfgWTypes,
pfgUserData;
procedure Register;
begin
RegisterComponents('Palm Pilot', [TpfgUserManager]);
end;
{ TpfgUserManager }
function TpfgUserManager.AddUser(UserName: String;ProfileUser:boolean): LongInt;
begin
Result:=UmAddUser(Pchar(UserName),ProfileUser);
end;
function TpfgUserManager.DeleteUser(UserName: String): longint;
Var
UserID:Longint;
begin
UmGetIDFromName(PCHAR(UserName),UserID);
result:=UmDeleteUser(UserID);
end;
constructor TpfgUserManager.Create(AOwner: TComponent);
begin
inherited;
FUserCount:=-1;
end;
destructor TpfgUserManager.Destroy;
begin
inherited;
end;
function TpfgUserManager.GetUserCount: Smallint;
begin
if FUserCount=-1 then
begin
FUserCount:= UmGetUserCount;
end;
result :=FUserCount;
end;
function TpfgUserManager.GetUserDirectory(const username: string): string;
var
// i:smallint;
dwUserID : LongInt;
UserDirBuffer:string;
UserDirBufSize: SmallInt;
begin
UmGetIDFromName(PTChar(username),dwUserID);
UserDirBufSize:=255;
setlength(UserDirBuffer,UserDirBufSize);
UmGetRootDirectory(pchar(UserDirBuffer), UserDirBufSize);
setlength(UserDirBuffer,UserDirBufSize);
result:= UserDirBuffer;
UserDirBufSize:=255;
setlength(UserDirBuffer,UserDirBufSize);
UmGetUserDirectory(dwUserID,pchar(UserDirBuffer),UserDirBufSize);
setlength(UserDirBuffer,UserDirBufSize);
result:= result+UserDirBuffer;
end;
function TpfgUserManager.GetUserList(ts: tstrings): SmallInt;
var
i:smallint;
dwUserID : LongInt;
UserNameBuffer:string;
UserNameBufSize: SmallInt;
begin
ts.BeginUpdate;
ts.Clear;
for i := 0 to UserCount-1 do
begin
UmGetUserID(i,dwUserID);
UserNameBufSize:=100;
setlength(UserNameBuffer,UserNameBufSize);
UmGetUserName(dwUserID,PChar(UserNameBuffer),UserNameBufSize);
setlength(UserNameBuffer,UserNameBufSize);
ts.add(UserNameBuffer);
end;
ts.EndUpdate;
result:=UserCount;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -