📄 share.pas
字号:
unit Share;
interface
uses Forms,Classes,Windows,Registry,SysUtils,MainUnit,DMUnit;
procedure draw(Form:TForm);
procedure OpenForm(FormClass: TFormClass; var AForm;AOwner:TComponent=nil;modal:boolean=false);
procedure GetInfo(var RegName,RegOrg:string);
procedure GetMemoryInfo(var count:Cardinal);
function GetMonth(indate:TDateTime):string;
procedure SetMenu;
procedure CloseAllForm;
var
curusername:string;//当前用户名
implementation
procedure draw(Form:TForm);
var
dc:HDC;
Pen,OPen:HPen;
OBrush:HBrush;
begin
dc:=GetWindowDC(Form.Handle);
Pen:=CreatePen(ps_SOLID,1,RGB(07,20,255));
OPen:=SelectOBject(dc,pen);
OBrush:=SelectObject(dc,GetStockObject(NULL_BRUSH));
Rectangle(dc,0,0,form.Width,form.Height);
SelectObject(dc,OBrush);
SelectObject(dc,OPen);
DeleteObject(pen);
ReleaseDC(Form.Handle,form.Canvas.Handle);
end;
//根据窗口类名建立窗口,如果窗口存在则只激活它 ********************************
//本过程来自于刘波的'图书管理'
procedure OpenForm(FormClass: TFormClass; var AForm;AOwner:TComponent=nil;modal:boolean=false);
var
i: integer;
Child:TForm;
begin
for i := 0 to Screen.FormCount -1 do
if Screen.Forms[i].ClassType=FormClass then
begin//如果找到窗口
Child:=Screen.Forms[i];
if Child.WindowState=wsMinimized then
Child.WindowState:=wsNormal;
Child.BringToFront;
Child.Setfocus;
TForm(AForm):=Child;
exit;
end;
Child:=TForm(FormClass.NewInstance);
TForm(AForm):=Child;
if not assigned(aowner) then aowner:=application;
if modal then
begin
Child.Create(AOwner);
child.Visible:=false;
child.ShowModal;
exit;
end
else
begin
Child.Create(AOwner);
child.Show;
end;
end;
procedure GetInfo(var RegName,RegOrg:string);
var
reg:TRegistry;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
if reg.OpenKey('SoftWare\MicroSoft\Windows NT\CurrentVersion',False) then
begin
RegName:=reg.ReadString('RegisteredOwner');//取得本机用户名
RegOrg:=Reg.ReadString('RegisteredOrganization');//取得本机注册的机构
end;
reg.Free;
end;
procedure GetMemoryInfo(var count:Cardinal);
var
TM:TMemoryStatus;
begin
TM.dwLength:=SizeOf(TM);
GlobalMemoryStatus(TM);
count:=Tm.dwTotalPhys;
end;
function GetMonth(indate:TDateTime):string;
var
year,month,day:word;
begin
Decodedate(indate,year,month,day);
Result:=inttostr(year)+'-'+inttostr(month);
end;
///////设置用户可用菜单///////
procedure SetMenu;
var
menustr:TStrings;
begin
menustr:=TStringList.Create;
try
menustr:=DM.GetMenu(curusername);
MainForm.T21.Enabled:=(menustr[0]='y');
Mainform.T22.Enabled:=(menustr[1]='y');
MainForm.T24.Enabled:=(menustr[2]='y');
Mainform.T25.Enabled:=(menustr[3]='y');
MainForm.T31.Enabled:=(menustr[4]='y');
Mainform.T32.Enabled:=(menustr[5]='y');
MainForm.T34.Enabled:=(menustr[6]='y');
Mainform.T35.Enabled:=(menustr[6]='y');
MainForm.T36.Enabled:=(menustr[6]='y');
Mainform.T37.Enabled:=(menustr[6]='y');
MainForm.T41.Enabled:=(menustr[7]='y');
Mainform.T43.Enabled:=(menustr[7]='y');
MainForm.T44.Enabled:=(menustr[7]='y');
Mainform.T45.Enabled:=(menustr[7]='y');
finally
menustr.Free;
end;
end;
///////关闭除了主窗体和登录窗体外的所有窗体///////
procedure CloseAllForm;
var
i:integer;
begin
for i:=0 to screen.FormCount-1 do
if screen.Forms[i].ClassType<>TMainForm then
screen.Forms[i].Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -