home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 August / VPR9608A.BIN / del20try / install / data.z / AUTOFORM.PAS < prev    next >
Pascal/Delphi Source File  |  1996-05-08  |  3KB  |  116 lines

  1. { Important Note:
  2.  
  3.   Before running this AutoDemo application,
  4.   make sure that the MemoEdit application has
  5.   been registered using a "MemoEdit /regserver" 
  6.   command line. }
  7.       
  8. unit AutoForm;
  9.  
  10. interface
  11.  
  12. uses
  13.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  14.   StdCtrls;
  15.  
  16. type
  17.   TMainForm = class(TForm)
  18.     CreateButton: TButton;
  19.     AddTextButton: TButton;
  20.     TileButton: TButton;
  21.     CascadeButton: TButton;
  22.     CloseButton: TButton;
  23.     ExitButton: TButton;
  24.     procedure FormCreate(Sender: TObject);
  25.     procedure FormDestroy(Sender: TObject);
  26.     procedure CreateButtonClick(Sender: TObject);
  27.     procedure AddTextButtonClick(Sender: TObject);
  28.     procedure TileButtonClick(Sender: TObject);
  29.     procedure CascadeButtonClick(Sender: TObject);
  30.     procedure CloseButtonClick(Sender: TObject);
  31.     procedure ExitButtonClick(Sender: TObject);
  32.   private
  33.     MemoEdit: Variant;
  34.     Memos: array[1..3] of Variant;
  35.     procedure CloseMemos;
  36.   end;
  37.  
  38. var
  39.   MainForm: TMainForm;
  40.  
  41. implementation
  42.  
  43. {$R *.DFM}
  44.  
  45. uses OleAuto;
  46.  
  47. procedure TMainForm.FormCreate(Sender: TObject);
  48. begin
  49.   try
  50.     MemoEdit := CreateOleObject('MemoEdit.Application');
  51.   except
  52.     MessageDlg(
  53.       'An instance of the "MemoEdit.Application" OLE Automation class ' +
  54.       'could not be created. Make sure that the MemoEdit application has ' +
  55.       'been registered using a "MemoEdit /regserver" command line.',
  56.       mtError, [mbOk], 0);
  57.     Halt;
  58.   end;
  59. end;
  60.  
  61. procedure TMainForm.FormDestroy(Sender: TObject);
  62. begin
  63.   CloseMemos;
  64. end;
  65.  
  66. procedure TMainForm.CloseMemos;
  67. var
  68.   I: Integer;
  69. begin
  70.   for I := 1 to 3 do
  71.     if not VarIsEmpty(Memos[I]) then
  72.     begin
  73.       Memos[I].Close;
  74.       Memos[I] := Unassigned;
  75.     end;
  76. end;
  77.  
  78. procedure TMainForm.CreateButtonClick(Sender: TObject);
  79. var
  80.   I: Integer;
  81. begin
  82.   CloseMemos;
  83.   for I := 1 to 3 do Memos[I] := MemoEdit.NewMemo;
  84. end;
  85.  
  86. procedure TMainForm.AddTextButtonClick(Sender: TObject);
  87. var
  88.   I: Integer;
  89. begin
  90.   for I := 1 to 3 do
  91.     if not VarIsEmpty(Memos[I]) then
  92.       Memos[I].Insert('This text was added through OLE Automation'#13#10);
  93. end;
  94.  
  95. procedure TMainForm.TileButtonClick(Sender: TObject);
  96. begin
  97.   MemoEdit.TileWindows;
  98. end;
  99.  
  100. procedure TMainForm.CascadeButtonClick(Sender: TObject);
  101. begin
  102.   MemoEdit.CascadeWindows;
  103. end;
  104.  
  105. procedure TMainForm.CloseButtonClick(Sender: TObject);
  106. begin
  107.   CloseMemos;
  108. end;
  109.  
  110. procedure TMainForm.ExitButtonClick(Sender: TObject);
  111. begin
  112.   Close;
  113. end;
  114.  
  115. end.
  116.