Das Programm Arrays verdeutlicht nochmals den Fehler falls die Grenzen des Arrays ueberschritten werden! TYPE Zahlen = ARRAY 3 OF INTEGER; (Array Index laeuft von 0 bis 2) zahl[3] := 4; Fehlermeldung (bereits bei make), da 3 groesser als 2 ist index := 3; zahl[index] := 4; Bei make gibt's noch keine Fehlermeldung, da der Compiler nicht weiss, welchen Wert die Variable index hat. In diesem Fall ist es fuer uns zwar klar, aber was passiert in folgendem Fall: Read.Int(index) zahl[index] := 4; Falls fuer index 2 eingegeben wird funktionierts, wird 3 eingegeben, dann eben nicht. D.h. erst zur Laufzeit, also wenn das Programm ausgefuehrt wird, kann der Fehler erkannt werden! Damit dieser Fehler (und nicht nur core dump) ausgegeben wird, sollte das Modul Conlusions importiert werden! -------------------------- Das Programm MyStrings.om berechnet wieviele "wirkliche" Zeichen ein Array Of Char enthaelt. Siehe Comments im Programm!!! Eine verkuerzte Version (die direkt auf dem Array arbetet) ist das Programm Laenge.om!!! Die While Schleife bricht erst dann ab, wenn entweder der counter groesser als length ist oder das Nullbyte gelesen wird (ch[counter] # 0X)! Achtung: Da der Name Strings von Oberon bereits vergeben ist, darf das Programm nicht ebenfalls Strings heissen (Daher der Name MyStrings). Strings ist fuer Oberon ein Schluesselwort (ebenso wie z.B. WHILE oder ASCII etc.)!