¢¢¢¢¢¢¢¢¢>>>>>>> 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¢¢¢¢*************************************¢¢