home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 02 / grdlagen / listing1.asc < prev    next >
Encoding:
Text File  |  1990-01-04  |  1.2 KB  |  44 lines

  1. const AnzEreignisse=100;
  2. type  Datum=real; -- Für PCs: real;
  3.                   -- Für Minis und Mainframes: integer;
  4. type  Ereignis = element
  5.           (Art:     symbol;
  6.            Was:     name;
  7.            Wann:    Datum;
  8.            Wo:      name
  9.           )
  10. type  EreignisListe = array(AnzEreignisse : Ereignis);
  11.  
  12. ------------------------------------------------------------
  13.  
  14. --
  15. -- &Pos = Sport1(&Table,&Nach,&StartIndex)
  16. --
  17. -- Die Funktion Sport1 sucht in der Ereignisliste &Table
  18. -- beginnend mit Listenposition &StartIndex
  19. -- nach dem ersten Ereignis vom Typ Sport, das am bzw.
  20. -- nach dem Datum &Nach stattgefunden hat.
  21. -- Als Ergebnis wird der Index des gefundenen Elementes
  22. -- zurückgegeben, bzw. 0, falls kein passendes Ereignis
  23. -- gefunden wurde
  24. --
  25. simple private function Sport1
  26. (&Table:       EreignisListe,
  27.  &Nach:        Datum,
  28.  &StartIndex:  integer)
  29. ): integer
  30. {
  31.      local &i,&Ergebnis: integer, &Eintrag: Ereignis;
  32.      &Ergebnis=0;
  33.      for &i=(&StartIndex to AnzEreignisse)
  34.      {    &Eintrag=&Table[&i];
  35.           if (&Eintrag.Art=EndOfList
  36.            || &Eintrag.Art=Sport
  37.            && &Eintrag.Wann >= &Nach)
  38.           {    &Ergebnis=&i;
  39.                break
  40.           }
  41.      };
  42.      return (&Ergebnis)
  43. }
  44.