! ListenBereiche.obas (c) Andre Koppel Software 2013
! Dieses kleine Programm zeigt, wie man in Listen
! Bereiche angeben und abfragen kann
DEF POOL 500000
INIT VARSPACE
DIM liste$[10000],elem$[80]
! mit DISPLAY IS definieren wir ein eigenes Ausgabefenster
! Wenn wir die Ausgabe in diesem Fenster sehen wollen,
! so kommentieren wir die Zeile einfach aus
DISPLAY IS MESSAGE WINDOW
CLRSCR
IsDescription=0
! Wir definieren eine kleine Liste, die jedoch sämtliche
! wichtigen Bestandteile enthält
liste$="{ 1 ; 3 ; Area -> 10...15 ; { 17 ; 19 } ; 20 }"
l=LIST LEN(liste$)
DISP "Wir durchsuchen eine Liste mit " l " Elementen\n"
UebFormat$="4A';'4A';'15A';'KL"
ZeilFormat$="DDDD';'DDDD';'15A';'KL"
FOR IsSublist=0 TO 1
IF IsSublist THEN
DISP "Es wird rekursiv gesucht\n"
ELSE
DISP "Rekursionen werden vermieden\n"
END IF
DISP USING UebFormat$ : "Wert" "Pos" "Inhalt" "Name"
FOR OLoop=1 TO 99999
elem$=VAL$(OLoop)
n=LIST POS(liste$ ; elem$ ; IsSublist ; 0)
! Wenn das Ergebnis ungleich 0 ist, so haben wir den
! Wert in der Liste gefunden
IF n<>0 THEN
l$=LIST GET$(liste$ ; n)
e$=LIST GET NAME$(liste$ ; n)
DISP USING ZeilFormat$ : OLoop n l$ e$
! Wenn das der letzte gefundene Wert ist, sind wir fertig
IF n==l THEN BREAK
END IF
NEXT
DISP "\n"
NEXT
DUMP MESSAGE WINDOW TO "bereiche.csv"
Das ist interessant
OBAS enthält mehrere Funktionen zum Aufbau, zur Manipulation und zum Durchsuchen von Listen. Mit Listen können z.B. Datensammlungen zusammengestellt und gegliedert werden. Listen können auch verwendet werden, um Positionsangaben oder Werte umzuwandeln. Eine der wichtigen Funktionen ist das Durchsuchen von Listen, das in diesem kleinen Beispiel dargestellt wird.
Die INVEP-Buchhaltungs-Forensik-Module greifen auf diese Funktionen zurück, um die Konten zu strukturieren und zusammenzufassen. Schlussendlich sind Konten und darauf enthaltene Buchungen auch nur mehrdimensionale Listen, die mit den entsprechenden Funktionen analisiert werden können.
Beispiel in INVEP laden
Sie können dieses Beispielprogramm in den INVEP-OBAS-Interpreter laden, indem Sie im Interpreter über den Button "Neu/laden" die Option OBAS-Web auswählen. Geben Sie als Nummer für das Beispiel die 9 ein.


