home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 September / Chip_2002-09_cd1.bin / zkuste / delphi / navody / JBOOSTER.ZIP / Source / ViewerForm.pas < prev   
Pascal/Delphi Source File  |  2002-04-21  |  2KB  |  90 lines

  1. (*************************************************************************)
  2. (*                                jBooster                               *)
  3. (*                        (c) pulsar@mail.primorye.ru                    *)
  4. (*************************************************************************)
  5.  Unit ViewerForm;
  6.  {$H+,A+,B-,I-}
  7.  
  8.  Interface
  9.  
  10.  Uses
  11.   { standart }
  12.     Windows, SysUtils, Classes,
  13.   { vcl }
  14.     Graphics, StdCtrls, Controls, Forms, ExtCtrls,
  15.   { private }
  16.     Support;
  17.  
  18.  Type
  19.     TFormViewer = class(TForm)
  20.       Image: TImage;
  21.       Memo: TMemo;
  22.       procedure FormHide(Sender: TObject);
  23.       procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  24.     public
  25.       function View (var Info: TImageInfo): boolean;
  26.       function Help (const FileName: string): boolean;
  27.     end; { TFormViewer }
  28.  
  29.  Var
  30.     FormViewer: TFormViewer;
  31.  
  32.  Implementation
  33.  
  34. {$R *.DFM}
  35.  
  36.  function TFormViewer.View (var Info: TImageInfo): boolean;
  37.  begin
  38.    { hide memo }
  39.      Memo.Enabled := false;
  40.      Memo.Visible := false;
  41.    { init }
  42.      Image.Enabled := true;
  43.      Image.Visible := true;
  44.    { load }
  45.      if LoadImage (Image.Picture.Bitmap, Info.Name) >= 0 then begin
  46.         Result := true;
  47.       { info }
  48.         With Image.Picture.Bitmap do begin
  49.              Caption := AppName + ': "' + Info.Name + '" ' +
  50.                         SizeStr (Width, Height) + ' ' +  IntToStr (Info.Size);
  51.         end; { With }
  52.       { show }
  53.         if not Visible then Show;
  54.      end { if }
  55.      else Result := false;
  56.  end; { View }
  57.  
  58.  function TFormViewer.Help (const FileName: string): boolean;
  59.  begin
  60.    { hide image }
  61.      Image.Enabled := false;
  62.      Image.Visible := false;
  63.    { init }
  64.      Memo.Enabled := true;
  65.      Memo.Visible := true;
  66.    { load }
  67.      Try
  68.         Memo.Lines.LoadFromFile (FileName);
  69.         Caption := AppName + ': "' + FileName + '"';
  70.         if not Visible then Show;
  71.         Result := true;
  72.      Except
  73.         Result := false;
  74.      end; { try }
  75.  end; { Help }
  76.  
  77.  procedure TFormViewer.FormHide(Sender: TObject);
  78.  begin
  79.    { free }
  80.      Image.Picture.Bitmap.FreeImage;
  81.      Memo.Lines.Clear;
  82.  end; { FormHide }
  83.  
  84.  procedure TFormViewer.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  85.  begin
  86.      if Key = VK_ESCAPE then Close;
  87.  end; { FormKeyDown }
  88.  
  89. End.
  90.