›››››››››>>>>>>> PROCEDURE MANIPULATION <<<<<<<››››››››››››››Wie man weiss ist der Action! Compiler››ein "ONE-PASS" Compiler. Dass heisst,››man kann im Programm nur auf Adressen ››oder Proceduren verweisen, die vorher››im Programmtext schon einmal definiert ››worden sind. Daraus ergibt sich ››logischerweise, dass man innerhalb einer››bestimmten Procedur nicht eine Procedur››aufrufen kann, die erst spaeter im Pro-››gramm vorkommt, was aber manchmal ››wuenschenswert waere (z.B.: bei Program-››neustart). Obwohl es sicher stilistisch››nicht gut ist, gibt es dennoch einen››Trick. Man muss dazu nur wissen, dass››Procedurnamen eigentlich wie normale››CARD Variablen gehandhabt werden. Diese››kann man natuerlich auch mit ver-››schiedenen Werten belegen. Wenn man also››eine PROCedur ,die am Anfang des Pro-››grammes steht gleich nach dem Start des››Programms (im Programmtext natuerlich››die letzte PROC) auf den Wert der ››"letzten" PROC setzt, so kann jede PROC››aus dem Programm natuerlich die 1. PROC››anspringen, die aber auf der Addresse ››der letzten PROC ist. So beginnt das ››Programm wieder von vorne. Schwierig ??››Na ja ... was waeren die ganzen An- ››leitungen ohne Beispiel:›››; 'RESTART' DEMO›;›››PROC RESTART()››RETURN››PROC IRGENDWAS()›BYTE A ›› PRINTE("Druecke TASTE fuer 'RESTART'")›› A=GETD(7) ›› RESTART()›RETURN››PROC START()››PUTE() ›PRINTE("'RESTART' DEMO")›› RESTART=START ; PROC 'RESTART' AUF START SETZEN›› IRGENDWAS()››RETURN››››*************************************››