DEFINITION MODULE Terminal2;
(*$ LargeVars:=FALSE LongAlign:=FALSE NameChk:=FALSE *)
(* 24.2.90/bp  -icon, +alles Assembler, + ein paar Format-Prozeduren *)
(* 28.2.90/bp Write(0C) forciert Flush des Buffers, wichtig für m2c,
 *	wenn interaktiv
 *)
FROM SYSTEM IMPORT ADDRESS;

VAR waitCloseGadget: BOOLEAN;

PROCEDURE BusyRead(VAR ch: CHAR);
PROCEDURE Read(VAR ch: CHAR);

(* ACHTUNG: setzt letztes Zeichen IMMER auf 0C !!!!!!!!! *)
PROCEDURE ReadLn(VAR st: ARRAY OF CHAR; VAR len: INTEGER);

PROCEDURE Write(ch: CHAR);
PROCEDURE WriteLn;
PROCEDURE WriteString(string: ARRAY OF CHAR);

PROCEDURE Format(str:ARRAY OF CHAR; dats:ADDRESS);

PROCEDURE FormatS(str:ARRAY OF CHAR; VAR innerStr:ARRAY OF CHAR);

(* Speziell fuer eine Zahl: %l muß immer mit 'l'!!!!!
 * z.B. ('count: %-5ld',4*5+x-y)
 *)
PROCEDURE FormatNr(str:ARRAY OF CHAR; nr:LONGINT);

(* n<0: linksbündig *)
PROCEDURE WriteInt(x:LONGINT; n:INTEGER);
PROCEDURE WriteHex(x:LONGINT; n:INTEGER);

END Terminal2.
