home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 11 / grdlagen / view.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1990-10-05  |  2.7 KB  |  91 lines

  1. (* ------------------------------------------------------ *)
  2. (*                     VIEW.PAS                           *)
  3. (*           Demonstration zur Unit DataWin               *)
  4. (*        Ersetzt immerhin schon das "DOS-List"           *)
  5. (*           (c) 1990 R.Reichert & TOOLBOX                *)
  6. (* ------------------------------------------------------ *)
  7. PROGRAM View;
  8.  
  9. USES DataWin, Crt, Buffer5;
  10.  
  11. VAR
  12.   DW  : DataWinObjPtr;
  13.   ch  : CHAR;
  14.   Err : INTEGER;
  15.  
  16. BEGIN
  17.   FreeHeap := 4000;
  18.   TextAttr := LightGray;
  19.   ClrScr;
  20.   IF ParamCount = 0 THEN BEGIN
  21.     WriteLn('*** Fehler: Kein Parameter !');
  22.     WriteLn;
  23.     WriteLn('Aufrufsyntax: View <Dateiname>');
  24.     WriteLn;
  25.     WriteLn('Abbruch mit <ESC>, ',
  26.             'Steuerung mit Cursortasten.');
  27.     WriteLn;
  28.     TextAttr := White;
  29.     WriteLn('Program angehalten.');
  30.     TextAttr := LightGray;
  31.     Halt(1);
  32.   END;
  33.   New(DW, Init);
  34.   IF (DW <> NIL) THEN
  35.     WITH DW^ DO BEGIN
  36.       OnlyBuf := TRUE;
  37.       WITH Buf^ DO BEGIN
  38.         SePath   := 'C:';
  39.         SaveData := TRUE;
  40.         Endname  := 'Hallo1.$$$';
  41.       END;
  42.       WriteLn('Laden... Bitte einen Augenblick Geduld. ');
  43.       LoadAscii(ParamStr(1), Err);
  44.       IF Err = 0 THEN BEGIN
  45.         OnlyBuf := FALSE;
  46.         Open;
  47.         REPEAT
  48.           ch := ReadKey;
  49.           IF ch = #0 THEN BEGIN
  50.             ch := ReadKey;
  51.             CASE ch OF
  52. { left   }    #75 : SetCursor(Pred(CurX), CurY);
  53. { right  }    #77 : SetCursor(Succ(CurX), CurY);
  54. { up     }    #72 : SetCursor(CurX, Pred(CurY));
  55. { down   }    #80 : SetCursor(CurX, Succ(CurY));
  56. { Home   }    #71 : SetCursor(1, CurY);
  57. { End    }    #79 : SetCursor(Succ(GetLineLength(CurY)),
  58.                               CurY);
  59. { PgUp   }    #73 : SetCursor(CurX, CurY - GetWinYLength);
  60. { PgDn   }    #81 : SetCursor(CurX, CurY + GetWinYLength);
  61. { ^Home  }   #119 : SetCursor(1, 1);
  62. { ^End   }   #117 : SetCursor(1, GetRows)
  63.             END;
  64.           END;
  65.         UNTIL ch = #27;   { ESC }
  66.       END ELSE BEGIN
  67.         WriteLn;
  68.         WriteLn('Fehler beim Laden der Datei. ');
  69.         TextAttr := White;
  70.         WriteLn('Program angehalten.');
  71.         TextAttr := LightGray;
  72.       END;
  73.       Close;
  74.     END ELSE BEGIN
  75.       WriteLn('Interner Fehler, z.B. nicht genĂ¼gend'+
  76.               ' Speicher oder falsch gesetzte '+
  77.               'Variable.');
  78.       WriteLn('Bitte verbessern.');
  79.       WriteLn;
  80.       TextAttr := White;
  81.       WriteLn('Programm angehalten.');
  82.       TextAttr := LightGray;
  83.       WriteLn;
  84.     END;
  85.     IF DW <> NIL THEN
  86.     Dispose(DW, Done);
  87. END.
  88. (* ------------------------------------------------------ *)
  89. (*                  Ende von VIEW.PAS                     *)
  90.  
  91.