! 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.



Schatten