[Ocs-comps-commits] OCS2/Samples/VCL/AddinManager/Simple/Plugins/SysInfo sysinf.cfg,NONE,1.1 sysinf.
Brought to you by:
tectsoft
|
From: Si C. <tec...@us...> - 2005-11-21 10:33:49
|
Update of /cvsroot/ocs-comps/OCS2/Samples/VCL/AddinManager/Simple/Plugins/SysInfo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10593/Samples/VCL/AddinManager/Simple/Plugins/SysInfo Added Files: sysinf.cfg sysinf.dof sysinf.dpr sysinf.res SYSPICS.RES Log Message: Initially added to source control --- NEW FILE: sysinf.res --- (This appears to be a binary file; contents omitted.) --- NEW FILE: SYSPICS.RES --- (This appears to be a binary file; contents omitted.) --- NEW FILE: sysinf.dpr --- library SysInf; uses Windows, SysUtils, Graphics, OrckaButton, Menus, Classes, OrckaAddinManagerShared; {$R *.RES} {$R syspics.res} type TPluginInfo = class private Service: TOToolServices; mnuInfo: TOMenuItem; mnuUserName: TOMenuItem; mnuCompName: TOMenuItem; mnuFreeRam: TOMenuItem; btnUserName: TOButtonItem; btnCompName: TOButtonItem; btnFreeRam: TOButtonItem; btnSeperator: TOButtonItem; procedure ShowUserName; procedure ShowCompName; procedure ShowFreeRam; public constructor Create(AService: TOToolServices); destructor Destroy; override; procedure UserNameMenuClick(Sender: TOMenuItem); procedure CompNameMenuClick(Sender: TOMenuItem); procedure FreeRamMenuClick(Sender: TOMenuItem); procedure UserNameButtonClick(Sender: TOButtonItem); procedure CompNameButtonClick(Sender: TOButtonItem); procedure FreeRamButtonClick(Sender: TOButtonItem); procedure OtherButtonClick(Sender: TOButtonItem); end; var Info: TPluginInfo; resourcestring sUserHint = 'User Name|Displays The User Name for the currently logged on user'; sHolder = 'SystemInfo'; sCompHint = 'Computer Name|Displays the name of the computer'; sRamHint = 'Memory|Displays amount of available and free RAM'; sInfoHint = 'Displays System Information'; SMemory = 'Total Memory %d KB'#13'Available Memory %d KB'; procedure PluginExit; stdcall; begin Info.Free; end; function Plugin (InParams: TOrckaAddinManagerParams; var ExitProc: Pointer): Boolean; stdcall; begin Info := TPluginInfo.Create(InParams.Service); ExitProc := @PluginExit; Result := True; end; exports Plugin name OrckaAddinManagerExportProc; { TPluginInfo } procedure TPluginInfo.CompNameButtonClick(Sender: TOButtonItem); begin ShowCompName; end; procedure TPluginInfo.CompNameMenuClick(Sender: TOMenuItem); begin ShowCompName; end; constructor TPluginInfo.Create(AService: TOToolServices); var bmp: TBitmap; begin Service := AService; {Add Menu's} mnuInfo := Service.InsertMenu(1, nil, '&Info', nil); mnuInfo.SetHint(StringToOString(sInfoHint)); mnuUserName := Service.InsertMenu(0, mnuInfo, '&User Name', UserNameMenuClick); mnuUserName.SetHint(StringToOString(sUserHint)); mnuCompName := Service.InsertMenu(1, mnuInfo, '&Computer Name', CompNameMenuClick); mnuCompName.SetHint(StringToOString(sCompHint)); mnuFreeRam := Service.InsertMenu(2, mnuInfo, 'Free &RAM', FreeRamMenuClick); mnuFreeRam.SetHint(StringToOString(sRamHint)); mnuFreeRam.SetShortCut(ShortCut(Word('R'), [ssCtrl])); {Add Buttons} btnUserName := Service.InsertButton(0, StringToOString(sHolder), StringToOString(sUserHint), UserNameButtonClick); btnSeperator := Service.InsertButton(2, StringToOString(sHolder), '', nil); btnSeperator.SetStyle(obVSeperator); btnCompName := Service.InsertButton(1, StringToOString(sHolder), StringToOString(sCompHint), CompNameButtonClick); btnFreeRam := Service.InsertButton(3, StringToOString(sHolder), StringToOString(sRamHint), FreeRamButtonClick); bmp := TBitmap.Create; try bmp.LoadFromResourceName(Hinstance, 'person'); btnUserName.SetImageIndex(Service.AddPicture(bmp.Handle)); mnuUserName.SetImageIndex(btnUserName.GetImageIndex); bmp.LoadFromResourceName(Hinstance, 'computer'); btnCompName.SetImageIndex(Service.AddPicture(bmp.Handle)); mnuCompName.SetImageIndex(btnCompName.GetImageIndex); bmp.LoadFromResourceName(Hinstance, 'ram'); btnFreeRam.SetImageIndex(Service.AddPicture(bmp.Handle)); mnuFreeRam.SetImageIndex(btnFreeRam.GetImageIndex); finally bmp.Free; end; end; destructor TPluginInfo.Destroy; begin {RemoveMenu's} Service.RemoveMenu(mnuFreeRam); Service.RemoveMenu(mnuCompName); Service.RemoveMenu(mnuUserName); Service.RemoveMenu(mnuInfo); {Remove Buttons} Service.RemoveButton(btnCompName); Service.RemoveButton(btnFreeRam); Service.RemoveButton(btnSeperator); Service.RemoveButton(btnUserName); end; procedure TPluginInfo.FreeRamButtonClick(Sender: TOButtonItem); begin ShowFreeRam; end; procedure TPluginInfo.FreeRamMenuClick(Sender: TOMenuItem); begin ShowFreeRam; end; procedure TPluginInfo.OtherButtonClick(Sender: TOButtonItem); begin end; procedure TPluginInfo.ShowUserName; var UsrName: array[0..100] of Char; Len: Cardinal; begin Len := 100; if GetUserName(UsrName, Len) then Service.MsgBox(StringToOString(Copy(UsrName, 1, Len)), MB_OK or MB_ICONINFORMATION) else Service.MsgBox(StringToOString(SysErrorMessage(GetLastError)), MB_OK or MB_ICONSTOP); end; procedure TPluginInfo.ShowFreeRam; var MS: TMemoryStatus; begin GlobalMemoryStatus(MS); Service.MsgBox(StringtoOString(Format(sMemory, [MS.dwTotalPhys div 1024, MS.dwAvailPhys div 1024])), MB_OK or MB_ICONINFORMATION); end; procedure TPluginInfo.ShowCompName; var UsrName: array[0..100] of Char; Len: Cardinal; begin Len := 100; if GetComputerName(UsrName, Len) then Service.MsgBox(StringToOString(Copy(UsrName, 1, Len)), MB_OK or MB_ICONINFORMATION) else Service.MsgBox(StringToOString(SysErrorMessage(GetLastError)), MB_OK or MB_ICONSTOP); end; procedure TPluginInfo.UserNameButtonClick(Sender: TOButtonItem); begin ShowUserName; end; procedure TPluginInfo.UserNameMenuClick(Sender: TOMenuItem); begin ShowUserName; end; begin end. --- NEW FILE: sysinf.cfg --- -$A1 -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I- -$J+ -$K- -$L+ -$M- -$N+ -$O- -$P+ -$Q- -$R- -$S- -$T+ -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -E"D:\Program Files\Other\TB2K\Demo" -LE"d:\program files\borland\delphi6\Projects\Bpl" -LN"d:\program files\borland\delphi6\Projects\Bpl" -U"D:\packages\CDGen\Source;D:\packages\CDMail\Source;D:\packages\CDSubCls\Source" -O"D:\packages\CDGen\Source;D:\packages\CDMail\Source;D:\packages\CDSubCls\Source" -I"D:\packages\CDGen\Source;D:\packages\CDMail\Source;D:\packages\CDSubCls\Source" -R"D:\packages\CDGen\Source;D:\packages\CDMail\Source;D:\packages\CDSubCls\Source" --- NEW FILE: sysinf.dof --- [FileVersion] Version=6.0 [Compiler] A=1 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=0 J=1 K=0 L=1 M=0 N=1 O=0 P=1 Q=0 R=0 S=0 T=1 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription= [Directories] OutputDir=D:\Program Files\Other\TB2K\Demo UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath=D:\packages\CDGen\Source;D:\packages\CDMail\Source;D:\packages\CDSubCls\Source Packages=Vcl50;Vclx50;VclSmp50;Qrpt50;Vcldb50;Vclbde50;ibevnt50;vcldbx50;TeeUI50;TeeDB50;Tee50;TeeQR50;VCLIB50;vclie50;Inetdb50;Inet50;NMFast50;dclocx50;dclaxserver50 Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication=D:\Program Files\Other\TBX\DemoProj\Demo.exe Launcher= UseLauncher=0 DebugCWD= [Language] ActiveLang= ProjectLang=$00000409 RootDir= [Version Info] IncludeVerInfo=1 AutoIncBuild=1 MajorVer=1 MinorVer=0 Release=0 Build=6 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=1033 CodePage=1252 [Version Info Keys] CompanyName=Orcka FileDescription= FileVersion=1.0.0.6 InternalName= LegalCopyright=Copyright © 2000. Orcka Development. LegalTrademarks= OriginalFilename= ProductName= ProductVersion=1.0.0.0 Comments= [HistoryLists\hlUnitAliases] Count=1 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [HistoryLists\hlOutputDirectorry] Count=1 Item0=D:\Program Files\Other\TB2K\Demo |