home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / zkuste / delphi / kompon / d56 / MSYSINFO.ZIP / Demos / Console / GetSysInfo.dpr next >
Text File  |  2002-01-04  |  3KB  |  68 lines

  1. program GetSysInfo;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   Classes,
  7.   SysUtils,
  8.   MSI_Console,
  9.   MiTeC_Routines;
  10.  
  11. var
  12.   SI: TMSI;
  13. begin
  14.   SI:=TMSI.Create([soMachine,soCPU,soOS,soDisplay,soMemory,soMedia,soNetwork,soPrinters]);
  15.   with SI do begin
  16.     Writeln(About);
  17.     writeln;
  18.     write('Gathering information...please wait...');
  19.     try
  20.       Refresh;
  21.       writeLn('OK');
  22.       writeln;
  23.       writeln(Format('Machine: %s (User: %s)',[Machine.Name, Machine.User]));
  24.       writeln(Format('System Up Time: %s',[formatseconds(Machine.SystemUpTime,true,false,False)]));
  25.       writeln(Format('CPU: %s %s - %d Mhz',[CPU.Vendor,
  26.                                             CPU.VendorID,
  27.                                             CPU.Frequency]));
  28.       writeln(Format('Memory: %d MB (%d KB free)',[Memory.PhysicalTotal div 1024 div 1024,Memory.PhysicalFree div 1024]));
  29.       writeln(Format('OS: %s [%d.%d.%d]',[OSVersion,
  30.                                           OS.MajorVersion,
  31.                                           OS.MinorVersion,
  32.                                           OS.BuildNumber]));
  33.       writeln(Format('Video: %s (%d x %d - %d bit)',[Display.Adapter,
  34.                                                      Display.HorzRes,
  35.                                                      Display.VertRes,
  36.                                                      Display.ColorDepth]));
  37.       if Media.Devices.Count>0 then begin
  38.         if Media.SoundCardIndex>-1 then
  39.           writeln(Format('Sound: %s',[Media.Devices[Media.SoundCardIndex]]))
  40.         else
  41.           writeln(Format('Sound: %s',[Media.Devices[0]]));
  42.       end;
  43.       if Network.Adapters.Count>0 then begin
  44.         if Network.CardAdapterIndex>-1 then
  45.           writeln(Format('Network: %s',
  46.                          [Network.Adapters[Network.CardAdapterIndex]]))
  47.         else
  48.           writeln(Format('Network: %s',
  49.                          [Network.Adapters[0]]));
  50.       end;
  51.  
  52.       writeln(Format('IP Address: %s',[Network.IPAddresses[0]]));
  53.       if Network.MACAddresses.Count>0 then
  54.         writeln(Format('MAC Address: %s',[Network.MACAddresses[0]]));
  55.       if Printers.Names.Count>0 then
  56.         writeln(Format('Printer: %s on %s',[Printers.Names[Printers.DefaultIndex],
  57.                                                       Printers.Ports[Printers.DefaultIndex]]));
  58.     except
  59.       on e: exception do begin
  60.         writeln(e.message);
  61.       end;
  62.     end;
  63.   end;
  64.   writeln;
  65.   writeln('press [enter] to exit...');
  66.   readln;
  67. end.
  68.