home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / zkuste / delphi / kompon / d56 / MSYSINFO.ZIP / Demos / GUI / Main.pas < prev    next >
Pascal/Delphi Source File  |  2001-07-23  |  5KB  |  155 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, MSI_GUI, MSI_CPUUsage, Gauges, ExtCtrls, Buttons;
  8.  
  9. type
  10.   TfrmMain = class(TForm)
  11.     MCPUUsage: TMCPUUsage;
  12.     Panel2: TPanel;
  13.     ListBox: TListBox;
  14.     TitlePanel: TPanel;
  15.     sbMail: TSpeedButton;
  16.     Panel3: TPanel;
  17.     Button3: TButton;
  18.     Button5: TButton;
  19.     Panel4: TPanel;
  20.     Button4: TSpeedButton;
  21.     Button2: TSpeedButton;
  22.     Button1: TSpeedButton;
  23.     Label1: TLabel;
  24.     Gauge: TGauge;
  25.     procedure Button1Click(Sender: TObject);
  26.     procedure MCPUUsageInterval(Sender: TObject; Value: Cardinal);
  27.     procedure Button2Click(Sender: TObject);
  28.     procedure Button3Click(Sender: TObject);
  29.     procedure sbMailClick(Sender: TObject);
  30.     procedure Button4Click(Sender: TObject);
  31.     procedure FormCreate(Sender: TObject);
  32.     procedure Button5Click(Sender: TObject);
  33.   private
  34.   public
  35.     procedure Refresh;
  36.   end;
  37.  
  38. var
  39.   frmMain: TfrmMain;
  40.  
  41. implementation
  42.  
  43. uses ShellAPI, WI, MiTeC_Routines, PL;
  44.  
  45. {$R *.DFM}
  46.  
  47. procedure TfrmMain.Button1Click(Sender: TObject);
  48. begin
  49.   with TMSystemInfo.Create(Self) do
  50.     ShowOverview;
  51. end;
  52.  
  53. procedure TfrmMain.MCPUUsageInterval(Sender: TObject; Value: Cardinal);
  54. begin
  55.   Gauge.Progress:=Value;
  56. end;
  57.  
  58. procedure TfrmMain.Button2Click(Sender: TObject);
  59. begin
  60.   try
  61.     frmWI.Show;
  62.   except
  63.     frmWI:=TfrmWI.Create(Self);
  64.     with frmWI do begin
  65.       GetWinList;
  66.       Show;
  67.     end;
  68.   end;
  69. end;
  70.  
  71. procedure TfrmMain.Button3Click(Sender: TObject);
  72. begin
  73.   Close;
  74. end;
  75.  
  76. procedure TfrmMain.sbMailClick(Sender: TObject);
  77. begin
  78.   ShellExecute(handle,'open','mailto:michal.mutl@atlas.cz',nil,nil,SW_NORMAL);
  79. end;
  80.  
  81. procedure TfrmMain.Button4Click(Sender: TObject);
  82. begin
  83.   try
  84.     frmPerfLib.Show;
  85.   except
  86.     frmPerfLib:=TfrmPerfLib.Create(Self);
  87.     with frmPerfLib do begin
  88.       Refresh;
  89.       Show;
  90.     end;
  91.   end;
  92. end;
  93.  
  94. procedure TfrmMain.FormCreate(Sender: TObject);
  95. begin
  96.   Refresh;
  97. end;
  98.  
  99. procedure TfrmMain.Refresh;
  100. begin
  101.   TitlePanel.Caption:='          '+cCopyright;
  102.   with TMSystemInfo.Create(Self) do
  103.     try
  104.       Screen.Cursor:=crHourGlass;
  105.       Caption:=cCompName+' '+cVersion;
  106.       ListBox.Items.Clear;
  107.       Refresh;
  108.       ListBox.Items.Add(Format('Machine: %s (User: %s)',[Machine.Name, Machine.User]));
  109.       ListBox.Items.Add(Format('System Up Time: %s',[formatseconds(Machine.SystemUpTime,true,false,False)]));
  110.       ListBox.Items.Add(Format('CPU: %s %s - %d Mhz',[CPU.Vendor,
  111.                                                       CPU.VendorID,
  112.                                                       CPU.Frequency]));
  113.       ListBox.Items.Add(Format('Memory: %d MB (%d KB free)',[Memory.PhysicalTotal div 1024 div 1024,Memory.PhysicalFree div 1024]));
  114.       ListBox.Items.Add(Format('OS: %s [%d.%d.%d]',[OSVersion,
  115.                                                      OS.MajorVersion,
  116.                                                      OS.MinorVersion,
  117.                                                      OS.BuildNumber]));
  118.       ListBox.Items.Add(Format('Video: %s (%d x %d - %d bit)',[Display.Adapter,
  119.                                                              Display.HorzRes,
  120.                                                              Display.VertRes,
  121.                                                              Display.ColorDepth]));
  122.       if Media.Devices.Count>0 then begin
  123.         if Media.SoundCardIndex>-1 then
  124.           ListBox.Items.Add(Format('Sound: %s',[Media.Devices[Media.SoundCardIndex]]))
  125.         else
  126.           ListBox.Items.Add(Format('Sound: %s',[Media.Devices[0]]));
  127.       end;
  128.       if Network.Adapters.Count>0 then begin
  129.         if Network.CardAdapterIndex>-1 then
  130.           ListBox.Items.Add(Format('Network: %s',
  131.                             [Network.Adapters[Network.CardAdapterIndex]]))
  132.         else
  133.           ListBox.Items.Add(Format('Network: %s',
  134.                             [Network.Adapters[0]]));
  135.       end;
  136.  
  137.       ListBox.Items.Add(Format('IP Address: %s',[Network.IPAddresses[0]]));
  138.       if Network.MACAddresses.Count>0 then
  139.         ListBox.Items.Add(Format('MAC Address: %s',[Network.MACAddresses[0]]));
  140.       if Printers.Names.Count>0 then
  141.         ListBox.Items.Add(Format('Printer: %s on %s',[Printers.Names[Printers.DefaultIndex],
  142.                                                       Printers.Ports[Printers.DefaultIndex]]));
  143.     finally
  144.       Free;
  145.       Screen.Cursor:=crDefault;
  146.     end;
  147. end;
  148.  
  149. procedure TfrmMain.Button5Click(Sender: TObject);
  150. begin
  151.   Refresh;
  152. end;
  153.  
  154. end.
  155.