home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9303 / tv / easyvis.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-05-04  |  1.8 KB  |  77 lines

  1. (* ------------------------------------------------------ *)
  2. (*                      EASYVIS.PAS                       *)
  3. (*   Arbeiten mit Write und WriteLn unter Turbo Vision    *)
  4. (*             (c) 1993 Wolfhard Rinke & DMV              *)
  5. (* ------------------------------------------------------ *)
  6. UNIT EasyVis;
  7.  
  8. {$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q+,R+,S+,T-,V-,X+,Y+}
  9. {$M 16384,0,655360}
  10.  
  11. INTERFACE
  12.  
  13. USES Objects, Views, App, Redir, MsgBox, Browser, StdDlg;
  14.  
  15. TYPE
  16.   tEasyApp = OBJECT (tApplication)
  17.     Error : WORD;
  18.  
  19.     CONSTRUCTOR Init;
  20.     PROCEDURE   Browse(FileName : STRING; Open : BOOLEAN);
  21.     PROCEDURE   Work; VIRTUAL;
  22.     DESTRUCTOR  Done; VIRTUAL;
  23.   END;
  24.  
  25. IMPLEMENTATION
  26.  
  27. CONST
  28.   mfErrorBox : WORD = mfError + mfOkButton;
  29.  
  30.   PROCEDURE tEasyApp.Work;
  31.   BEGIN
  32.     WriteLn('Hello Turbo Vision!');
  33.   END;
  34.  
  35.   CONSTRUCTOR tEasyApp.Init;
  36.   VAR
  37.     f : File;
  38.   BEGIN
  39.     inherited Init;
  40.  
  41.     Error := RedirectStdOut('STDOUT.RED');
  42.     IF Error <> 0 THEN
  43.       MessageBox(RedirectErrMsg(Error), NIL, mfErrorBox);
  44.  
  45.     Work;
  46.     Browse('STDOUT.RED', TRUE);
  47.     Assign(f, 'STDOUT.RED');
  48.     Erase(f);
  49.   END;
  50.  
  51.   PROCEDURE tEasyApp.Browse(FileName : STRING;
  52.                             Open : BOOLEAN);
  53.   VAR
  54.     N : STRING;
  55.     W : pWindow;
  56.     R : tRect;
  57.   BEGIN
  58.     N := FileName;
  59.     GetExtent(R);
  60.     Dec(R.B.Y, 2);
  61.     W := pWindow(ValidView(New(pFileWindow, Init(R, N))));
  62.     IF W <> NIL THEN Desktop^.Insert(W);
  63.   END;
  64.  
  65.   DESTRUCTOR tEasyApp.Done;
  66.   BEGIN
  67.     Error := RestoreStdOut;
  68.     IF Error <> 0 THEN
  69.       MessageBox(RedirectErrMsg(Error), NIL, mfErrorBox);
  70.  
  71.     inherited Done;
  72.   END;
  73.  
  74. END.
  75. (* ------------------------------------------------------ *)
  76. (*                 Ende von EASYVIS.PAS                   *)
  77.