home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* VIEW.PAS *)
- (* Demonstration zur Unit DataWin *)
- (* Ersetzt immerhin schon das "DOS-List" *)
- (* (c) 1990 R.Reichert & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM View;
-
- USES DataWin, Crt, Buffer5;
-
- VAR
- DW : DataWinObjPtr;
- ch : CHAR;
- Err : INTEGER;
-
- BEGIN
- FreeHeap := 4000;
- TextAttr := LightGray;
- ClrScr;
- IF ParamCount = 0 THEN BEGIN
- WriteLn('*** Fehler: Kein Parameter !');
- WriteLn;
- WriteLn('Aufrufsyntax: View <Dateiname>');
- WriteLn;
- WriteLn('Abbruch mit <ESC>, ',
- 'Steuerung mit Cursortasten.');
- WriteLn;
- TextAttr := White;
- WriteLn('Program angehalten.');
- TextAttr := LightGray;
- Halt(1);
- END;
- New(DW, Init);
- IF (DW <> NIL) THEN
- WITH DW^ DO BEGIN
- OnlyBuf := TRUE;
- WITH Buf^ DO BEGIN
- SePath := 'C:';
- SaveData := TRUE;
- Endname := 'Hallo1.$$$';
- END;
- WriteLn('Laden... Bitte einen Augenblick Geduld. ');
- LoadAscii(ParamStr(1), Err);
- IF Err = 0 THEN BEGIN
- OnlyBuf := FALSE;
- Open;
- REPEAT
- ch := ReadKey;
- IF ch = #0 THEN BEGIN
- ch := ReadKey;
- CASE ch OF
- { left } #75 : SetCursor(Pred(CurX), CurY);
- { right } #77 : SetCursor(Succ(CurX), CurY);
- { up } #72 : SetCursor(CurX, Pred(CurY));
- { down } #80 : SetCursor(CurX, Succ(CurY));
- { Home } #71 : SetCursor(1, CurY);
- { End } #79 : SetCursor(Succ(GetLineLength(CurY)),
- CurY);
- { PgUp } #73 : SetCursor(CurX, CurY - GetWinYLength);
- { PgDn } #81 : SetCursor(CurX, CurY + GetWinYLength);
- { ^Home } #119 : SetCursor(1, 1);
- { ^End } #117 : SetCursor(1, GetRows)
- END;
- END;
- UNTIL ch = #27; { ESC }
- END ELSE BEGIN
- WriteLn;
- WriteLn('Fehler beim Laden der Datei. ');
- TextAttr := White;
- WriteLn('Program angehalten.');
- TextAttr := LightGray;
- END;
- Close;
- END ELSE BEGIN
- WriteLn('Interner Fehler, z.B. nicht genĂ¼gend'+
- ' Speicher oder falsch gesetzte '+
- 'Variable.');
- WriteLn('Bitte verbessern.');
- WriteLn;
- TextAttr := White;
- WriteLn('Programm angehalten.');
- TextAttr := LightGray;
- WriteLn;
- END;
- IF DW <> NIL THEN
- Dispose(DW, Done);
- END.
- (* ------------------------------------------------------ *)
- (* Ende von VIEW.PAS *)
-
-