home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 09 / openwork.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-08-09  |  1.6 KB  |  50 lines

  1. (*------------------------------------------------------------*)
  2. (*                      OPENWORK.PAS                          *)
  3. (* Demonstration, wie mit den BDOS- und BIOS-Funktionen fuer  *)
  4. (* das JRT-Pascal die Funktion Open-Workstation des GSX aus-  *)
  5. (* gefuehrt werden kann.                                      *)
  6.  
  7. Extern
  8. CONST
  9. $ImpFile(B:GSXP.LIB) (* Damit oeffnet mein Source-Linker *)
  10.                      (* meine GSX-Lib.                   *)
  11. $Import(CONST)       (* Holt die GSX-Konstanten.         *)
  12.  
  13. TYPE
  14. $Import(Types)       (* Holt die GSX-Typdeklarationen    *)
  15.  
  16. VAR
  17. $Import(Variables)   (* Holt die GSX-Variablen           *)
  18.  
  19.  
  20.  
  21. PROCEDURE OpenWork(Device : INTEGER);
  22.  
  23. TYPE Register = RECORD
  24.                   CASE INTEGER OF
  25.                     1 : (Flag,A,C,B,E,D,L,H : CHAR);
  26.                     2 : (AF,BC,DE,HL : INTEGER);
  27.                   END;
  28.  
  29. VAR PB : ARRAY[1..5] OF INTEGER;
  30.     BDOSReg, ResReg : Register;
  31.  
  32. BEGIN
  33.   Contrl[1] := 1; Contrl[2] := 0; Contrl[4] := 10;
  34.   (* ... Hier kommen die Wertzuweisungen an die Felder ... *)
  35.   (* ... Statt VDI_Call folgende Anweisungen einfuegen ... *)
  36.   PB[1] := Addr(Contrl);
  37.   PB[2] := Addr(IntIn);
  38.   PB[3] := Addr(PtsIn);
  39.   PB[4] := Addr(IntOut);
  40.   PB[5] := Addr(PtsOut);
  41.   BDOSReg.C := Chr(115);
  42.   BDOSReg.DE := Addr(PB);
  43.   VDIError := Contrl[3] <> 6;
  44.     (* Normalerweise VDIError := Contrl[3] <> 0 *)
  45.   (* Hier kommt dann der Quelltext der IntOut-Auswertung *)
  46. END;
  47.  
  48. (*------------------------------------------------------------*)
  49. (*                    Ende OPENWORK.PAS                       *)
  50.