home *** CD-ROM | disk | FTP | other *** search
/ Action! Club Magazin 4B / Action_Club_Magazin_4_1987_Action_User_Group_Side_B.atr / procmani.txt < prev    next >
Text File  |  2023-02-26  |  2KB  |  1 lines

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