(******************************************************************************) (* This MODULE is Public Domain. Copy me like a beast! *) (* Christian Ledermann *) (* W”lfelkofen 2 *) (* 84166 Adlkofen *) (******************************************************************************) (* *) (* Started: 20.12.92 03:54:30 *) (* Version: 20.01.94 04:12:54 *) (* *) (******************************************************************************) (* *) (* Diese Software ist ohne jede Garantie. Ich verspreche *) (* keinerlei Wartung und bernehme keine Verantwortung fr Sch„den die *) (* durch die Benutzung dieses Programmes entstehen. *) (* Jegliche Ersatzansprche lehne ich ab. *) (* *) (******************************************************************************) DEFINITION MODULE BListe; (* Entnommen ST-Computer 10/89*) TYPE List; TYPE STRING15=ARRAY [0..15] OF CHAR; TYPE Kunde = RECORD Name :STRING15; Uebertrag :LONGINT; Biere,Limos:INTEGER; Rechnung :LONGINT; BiereIsg, LimosIsg :INTEGER; Umsatz :LONGINT; END(*RECORD*); VglProc = PROCEDURE (Kunde, Kunde):BOOLEAN; PROCEDURE MakeList(VAR L:List); PROCEDURE KillList(VAR L:List); PROCEDURE First(VAR L:List); PROCEDURE Last(VAR L:List); PROCEDURE Next(VAR L:List); PROCEDURE Prev(VAR L:List); PROCEDURE Empty(VAR L:List):BOOLEAN; PROCEDURE AtFirst(VAR L:List):BOOLEAN; PROCEDURE AtLast(VAR L:List):BOOLEAN; PROCEDURE Find(VAR L:List;VAR Value:Kunde; VAR Finde:VglProc; Key:Kunde ):BOOLEAN; (* Vgl Proc liefert TRUE fr Value1=Value2 *) PROCEDURE FindFirst(VAR L:List;VAR Value:Kunde; VAR Finde:VglProc; Key:Kunde):BOOLEAN; (* Vgl Proc liefert TRUE fr Value1=Value2 *) PROCEDURE FindNext(VAR L:List;VAR Value:Kunde; VAR Finde:VglProc; Key:Kunde):BOOLEAN; (* Vgl Proc liefert TRUE fr Value1=Value2 *) PROCEDURE BubbleSort(VAR L:List;VAR Vgl:VglProc); (* Vgl Proc liefert TRUE fr Value1>Value2 *) PROCEDURE GetValue(VAR L:List; VAR Value:Kunde):BOOLEAN; PROCEDURE SetValue(VAR L:List; Value:Kunde); PROCEDURE EnterElement(VAR L:List); PROCEDURE AppendElement(VAR L:List); PROCEDURE RemoveElement(VAR L:List); END BListe.