home *** CD-ROM | disk | FTP | other *** search
- PROGRAM Bspl;
- (* TXT2EXE und TXT2EXE-Interprogram-Communication-Area *)
-
- (*****************************************************************************)
- (* *)
- (* A C H T U N G !!! *)
- (* *)
- (* *)
- (* Dieses Programm ist nur korrekt lauffähig, wenn es aus der Stapeldatei *)
- (* "START.BAT" gestartet wird. *)
- (* Über diese Stapeldatei wird zuerst T2EICA, anschließend das TSR HELP.EXE *)
- (* geladen *)
- (* *)
- (*****************************************************************************)
-
- USES crt, dos { wg TYPE Registers } ;
-
- TYPE
- TXT2EXEMode = (Zeile, Seite, UeberSchrift);
-
- FUNCTION TXT2EXEset(mode : TXT2EXEMode; value : LongInt) : Boolean;
- (*************************************************************************)
- (* Setzt Zeile, Seite, Ueberschrift für die Stelle an der mit TXT2EXE *)
- (* erzeugte Programme mit der Anzeige beginnen sollen. Jedoch muß *)
- (* zuvor das TSR T2EICA (600 Bytes) installiert sein. *)
- (* AUFRUF INT 2Fh *)
- (* AX = 5547h *)
- (* Bh = Function : 0 -- installed // 1 -- set val // 2 -- get val *)
- (* Bl = Modus : 0 -- Zeile // 1 -- Seite // 2 -- Ueberschrift *)
- (* CX = Wert div 65536 (Hi-Word) *)
- (* DX = Wert mod 65536 (Lo-Word) *)
- (* Zurück : *)
- (* AX = 524Eh wenn OK *)
- (*************************************************************************)
- CONST
- TXT2EXE_ICA_KENNUNG = $5547; { "GU" }
- TXT2EXE_ICA_ANTWORT_OK = $524e; { "NR" }
- TYPE
- Long = RECORD
- l, h : Word;
- END;
- VAR
- r : registers;
- BEGIN
- r.ax := TXT2EXE_ICA_KENNUNG; { Kennung in AX }
- r.bh := 0; { ICA installiert ? }
- intr($2f, r);
- IF r.ax = TXT2EXE_ICA_ANTWORT_OK THEN { OK=Antwort }
- BEGIN
- CASE mode OF
- Zeile : r.bl := 0; { Zeile : bl = 0 }
- Seite : r.bl := 1; { Seite : bl = 1 }
- UeberSchrift : r.bl := 2 { Ueberschrift : bl = 2 }
- END;
- r.bh := 1; { Funktion PUT-Value to ICA }
- r.ax := TXT2EXE_ICA_KENNUNG;
- r.cx := Long(value).h; { Typecasting longint --> word }
- r.dx := Long(value).l; { Typecasting longint --> word }
- intr($2f, r);
- IF r.ax = TXT2EXE_ICA_ANTWORT_OK THEN { OK=Antwort }
- TXT2EXEset := True { Alles glatt gegangen }
- ELSE
- TXT2EXEset := False { schiefgeganen ... }
- END
- ELSE
- TXT2EXEset := False { T2EICA nicht installiert }
- END;
-
-
-
- (* Programm-Abbruch mit Meldung via String S *)
- PROCEDURE Abort(s : String);
- BEGIN
- WriteLn(s);
- Halt(1);
- END;
-
- (* MAIN *)
- BEGIN
-
- textattr := Blue SHL 4+White;
- clrscr;
-
- WriteLn('Beispiel-Programm zu TXT2EXE und T2EICA');
- WriteLn;
-
- IF NOT TXT2EXEset(UeberSchrift, 1) THEN
- Abort(^g+'T2EICA nicht installiert'+^g);
-
- WriteLn('Wenn Sie jetzt <F1> drücken, so wird HELP.EXE aktiviert und');
- WriteLn('bekommt von T2EICA die Information "Überschrift Nr. 1"');
- WriteLn;
- WriteLn('Weiter mit <ESC>');
-
- REPEAT
- UNTIL readkey = #27;
-
- TXT2EXEset(Seite, 1);
-
- WriteLn('Wenn Sie jetzt <F1> drücken, so wird HELP.EXE aktiviert und');
- WriteLn('bekommt von T2EICA die Information "Seite Nr. 1"');
- WriteLn;
- WriteLn('Weiter mit <ESC>');
-
- REPEAT
- UNTIL readkey = #27;
-
- TXT2EXEset(UeberSchrift, 18);
-
- WriteLn('Wenn Sie jetzt <F1> drücken, so wird HELP.EXE aktiviert und');
- WriteLn('bekommt von T2EICA die Information "Überschrift 18"');
- WriteLn;
- WriteLn('Weiter mit <ESC>');
-
- REPEAT
- UNTIL readkey = #27;
-
-
- TXT2EXEset(Zeile, 56);
-
- WriteLn('Wenn Sie jetzt <F1> drücken, so wird HELP.EXE aktiviert und');
- WriteLn('bekommt von T2EICA die Information "Zeile 56"');
- WriteLn;
- WriteLn('Weiter mit <ESC>');
-
- REPEAT
- UNTIL readkey = #27;
-
- END.
- (* MAIN Ends *)