home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / zkuste / delphi / kompon / d56 / MSYSINFO.ZIP / Demos / GUI / RefsDlg.pas < prev    next >
Pascal/Delphi Source File  |  2001-05-14  |  1KB  |  76 lines

  1. unit RefsDlg;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   ComCtrls, StdCtrls, ExtCtrls;
  8.  
  9. type
  10.   TdlgRefs = class(TForm)
  11.     Panel2: TPanel;
  12.     Panel8: TPanel;
  13.     bOK: TButton;
  14.     Panel1: TPanel;
  15.     PageControl1: TPageControl;
  16.     tsRefs: TTabSheet;
  17.     Panel3: TPanel;
  18.     lv: TListView;
  19.     RefsPanel: TPanel;
  20.   private
  21.     FImageName: string;
  22.     FRefList: string;
  23.   public
  24.     property Imagename: string read FImageName write FImageName;
  25.     property RefList: string read FRefList write FRefList;
  26.     procedure Refresh;
  27.   end;
  28.  
  29. procedure ShowRefsDlg(AImagename,ARefList: string);
  30.  
  31. var
  32.   dlgRefs: TdlgRefs;
  33.  
  34. implementation
  35.  
  36. {$R *.DFM}
  37.  
  38. procedure ShowRefsDlg(AImagename,ARefList: string);
  39. begin
  40.   with TdlgRefs.Create(Application.MainForm) do begin
  41.     ImageName:=AImageName;
  42.     RefList:=ARefList;
  43.     Refresh;
  44.     ShowModal;
  45.     Free;
  46.   end;
  47. end;
  48.  
  49. { TdlgRefs }
  50.  
  51. procedure TdlgRefs.Refresh;
  52. var
  53.   p: integer;
  54.   s: string;
  55. begin
  56.   Caption:=ImageName;
  57.   with lv, Items do begin
  58.     Clear;
  59.     BeginUpdate;
  60.     p:=Pos(',',RefList);
  61.     while p>0 do begin
  62.       s:=Copy(RefList,1,p-1);
  63.       with Add do begin
  64.         Caption:=ExtractFilename(s);
  65.         SubItems.Add(ExtractFilePath(s));
  66.       end;
  67.       Reflist:=Copy(Reflist,p+1,1023);
  68.       p:=Pos(',',RefList);
  69.     end;
  70.     EndUpdate;
  71.   end;
  72.   Refspanel.Caption:=Format('%d processes',[lv.Items.Count]);
  73. end;
  74.  
  75. end.
  76.