DEFINITION MODULE FormAusLib;
(*------------------------------------------------------------------------*)
(* Routinen die gemeinsam von {T|F|S}FormAus genutzt werden. *)
(* Routines used by {T|F|S}FormAus. NOT for direct use !!! *)
(*------------------------------------------------------------------------*)
(* Letzte Bearbeitung: *)
(* *)
(* 05.09.94, MRi: Durchsicht *)
(* 22.06.15, MRi: Einf"uhren des "An"-Formats in WriteN,dWriteN *)
(* 02.10.16, MRi: Aufsplitten der Module FormAus und SFormAus in *)
(* TFormAus,FFormAus,SFormAus und FormAusLib *)
(*------------------------------------------------------------------------*)
(* Offene Punkte *)
(* *)
(* - ByteToLongInt und ByteToReal fehelen *)
(*------------------------------------------------------------------------*)
(* Implementation : Michael Riedl *)
(* Licence : GNU Lesser General Public License (LGPL) *)
(*------------------------------------------------------------------------*)
(* $Id: FormAusLib.def,v 1.3 2018/01/05 13:41:07 mriedl Exp mriedl $ *)
FROM SYSTEM IMPORT BYTE;
FROM Deklera IMPORT STRING;
TYPE StrPrt = POINTER TO STRING;
PROCEDURE WrByteStr(Str : ARRAY OF BYTE; (* F"ur Mocka *)
Laenge : CARDINAL);
(*-----------------------------------------------------------------*)
(* Schreibt eine als BYTE-Feld uebergebene Zeichenkette auf den *)
(* Standardausgebekanal *)
(*-----------------------------------------------------------------*)
PROCEDURE WrByteStrN(Str : ARRAY OF BYTE; (* F"ur Mocka *)
Laenge : CARDINAL);
(*-----------------------------------------------------------------*)
(* Schreibt eine als BYTE-Feld uebergebene Zeichenkette mit fester *)
(* Laenge auf den Standardausgebekanal *)
(*-----------------------------------------------------------------*)
PROCEDURE ByteToStr(Str : ARRAY OF BYTE;
Laenge : CARDINAL) : StrPrt;
(*-----------------------------------------------------------------*)
(* Konvertiert eine als BYTE-Feld uebergebene Zeichenkette in *)
(* einen Zeiger auf ein Zeichenkettenfeld (ARRAY OF CHAR) *)
(*-----------------------------------------------------------------*)
PROCEDURE ByteToInt(i : ARRAY OF BYTE;
Laenge : CARDINAL) : INTEGER;
(*-----------------------------------------------------------------*)
(* Konvertiert eine als BYTE-Feld uebergebene vorzeichenbehatete *)
(* Ganzzahl in eine INTEGER. Laenge gibt hier die Anzahl der *)
(* uebergebenen BYTEs an. *)
(*-----------------------------------------------------------------*)
PROCEDURE ByteToCard(i : ARRAY OF BYTE;
Laenge : CARDINAL) : CARDINAL;
(*-----------------------------------------------------------------*)
(* Konvertiert eine als BYTE-Feld uebergebene nicht vorzeichen- *)
(* behafete Ganzzahl in eine CARDINAL. Laenge gibt hier die Anzahl *)
(* uebergebenen BYTEs an. *)
(*-----------------------------------------------------------------*)
PROCEDURE ByteToLngCard(i : ARRAY OF BYTE;
Laenge : CARDINAL) : LONGCARD;
(*-----------------------------------------------------------------*)
(* Konvertiert eine als BYTE-Feld uebergebene nicht vorzeichen- *)
(* behafete Ganzzahl in eine LINGCARD. Laenge gibt hier die Anzahl *)
(* uebergebenen BYTEs an und muss fuer den Typ LONGCARD passen. *)
(*-----------------------------------------------------------------*)
PROCEDURE ByteToLngReal(x : ARRAY OF BYTE;
Laenge : CARDINAL) : LONGREAL;
(*-----------------------------------------------------------------*)
(* Konvertiert eine als BYTE-Feld uebergebene Gleitkommazahl *)
(* in eine LONGREAL. Laenge gibt hier die Anzahl uebergebenen *)
(* BYTEs an und muss fuer den Typ LONGREAL passen. *)
(*-----------------------------------------------------------------*)
END FormAusLib.