home *** CD-ROM | disk | FTP | other *** search
/ Delphi Programming Unleashed / Delphi_Programming_Unleashed_SAMS_Publishing_1995.iso / misc / explorer / about.pas < prev    next >
Pascal/Delphi Source File  |  1995-03-20  |  2KB  |  111 lines

  1. unit About;
  2.  
  3. { Program copyright (c) 1995 by Charles Calvert & Steve Teixeira }
  4. { Project Name: EXPLORER }
  5.  
  6. interface
  7.  
  8. uses
  9.   WinTypes, WinProcs, SysUtils, Classes, Graphics,
  10.   Forms, Controls, StdCtrls, Buttons, ToolHelp,
  11.   Messages, ExtCtrls;
  12.  
  13. type
  14.   TAboutDlg = class(TForm)
  15.     Label1: TLabel;
  16.     Label2: TLabel;
  17.     Label3: TLabel;
  18.     BitBtn1: TBitBtn;
  19.     Bevel1: TBevel;
  20.     Label4: TLabel;
  21.     Label5: TLabel;
  22.     Bevel2: TBevel;
  23.     Label6: TLabel;
  24.     Label7: TLabel;
  25.     Image1: TImage;
  26.     Timer1: TTimer;
  27.     Label8: TLabel;
  28.     FaceHits: TLabel;
  29.     procedure BitBtn1Click(Sender: TObject);
  30.     procedure Timer1Timer(Sender: TObject);
  31.     procedure Image1Click(Sender: TObject);
  32.     procedure FormDblClick(Sender: TObject);
  33.     procedure FormActivate(Sender: TObject);
  34.   private
  35.     NumHits : Longint;
  36.     procedure StartFace(var M: TWMChar); message wm_Char;
  37.   public
  38.     { Public declarations }
  39.   end;
  40.  
  41. var
  42.   AboutDlg: TAboutDlg;
  43.  
  44. implementation
  45.  
  46. {$R *.DFM}
  47.  
  48. procedure TAboutDlg.BitBtn1Click(Sender: TObject);
  49. begin
  50.   Timer1.Enabled := False;
  51.   Close;
  52. end;
  53.  
  54. procedure TAboutDlg.StartFace(var M: TWMChar);
  55. begin
  56.   if M.CharCode = 73 then
  57.   begin
  58.     Timer1.Enabled := True;
  59.     Image1.Visible := True;
  60.   end;
  61.   inherited;
  62. end;
  63.  
  64. procedure TAboutDlg.Timer1Timer(Sender: TObject);
  65. begin
  66.   Image1.Left := Image1.Left + 2;
  67.   if Image1.Left = ClientRect.Right then
  68.   begin
  69.     Timer1.Enabled := False;
  70.     Image1.Visible := False;
  71.     Image1.Left := 0;
  72.   end;
  73. end;
  74.  
  75. procedure TAboutDlg.Image1Click(Sender: TObject);
  76. begin
  77.   FaceHits.Visible := True;
  78.   Inc(NumHits);
  79.   Label8.Caption := IntToStr(NumHits);
  80.   Label8.Visible := True;
  81. end;
  82.  
  83. procedure TAboutDlg.FormDblClick(Sender: TObject);
  84. begin
  85.     Timer1.Enabled := True;
  86.     Image1.Visible := True;
  87. end;
  88.  
  89. procedure TAboutDlg.FormActivate(Sender: TObject);
  90. var
  91.   Info: TSysHeapInfo;
  92.   W: word;
  93.   S: String;
  94. begin
  95.   FaceHits.Visible := False;
  96.   NumHits := 0;
  97.   Label8.Visible := False;
  98.   Info.dwSize := SizeOf(TSysHeapInfo);
  99.   SystemHeapInfo(@Info);
  100.   W := Info.wUserFreePercent;
  101.   Str(W, S);
  102.   Label6.Caption := S + '%';
  103.   W := Info.wGDIFreePercent;
  104.   Str(W, S);
  105.   Label7.Caption := S + '%';
  106.     Image1.Visible := False;
  107.   Image1.Left := 0;
  108. end;
  109.  
  110. end.
  111.