DIREKT.KRS¢*************************************¢* *¢* *¢* C O M P I L E R - *¢* *¢* D I R E K T I V E N *¢* *¢*************************************¢¢¢¢Dieses Kapitel zaehlt eigentlich¢nicht mit zum RICHTIGEN Sprachkurs,¢da es Befehle erklaert, die mit¢dem eigentlichen Action! Programm¢nichts zu tun haben.¢¢Compilerdirektiven sind Befehle,die¢nur waehren des Compilierens von¢Bedeutung sind, nicht aber waehrend¢des Programmablaufs.¢¢1. DEFINE¢¢ definiert Zeichenketten oder¢ Konstanten¢ Beispiel:¢¢ DEFINE ACTION="PRINTE"¢¢ Nun schreiben wir in einem Pro-¢ gramm z.B.:¢ ¢ ACTION("HALLO")¢¢ Jedesmal wenn der Compiler also¢ auf 'ACTION' stoesst, wandelt er¢ es in 'PRINTE' um, da es mit¢ DEFINE definiert wurde.¢¢¢ Natuerlich koennen so auch ¢ Konstante Zahlen definiert werden.¢¢ DEFINE ZAHL="10"¢¢ Jedesmal, wenn im Programm 'ZAHL'¢ steht, setzt der Compiler '10'¢ dafuer ein.¢¢ Man sieht, man kann damit also¢ ganz nette Spaesse treiben. So¢ z.B. "neue" Befehle definieren.¢¢ Die DEFINES stehen am Anfang des¢ Programms.¢¢ DEFINE PR="PRINTE",IN="INPUTMD"¢¢2. INCLUDE¢¢ Mit INCLUDE kann man waehrend¢ des Compilierens andere Action-¢ programme (Source) hinzuladen¢ (einbinden).¢¢ Man stelle sich vor , dass man¢ schon eine ganze Reihe eigener¢ Proceduren entwickelt hat, die¢ von verschiedenen Programmen¢ aus genutzt werden koennen.¢ Nun kann man ein Programm schreiben¢ das diese Proceduren auch benutzt,¢ die aber nicht im Quelltext extra¢ erscheinen sollen. Dazu kann man¢ sie mit INCLUDE beim Compilieren¢ einfach hinzuladen.¢ Das Programm wurde dann so aus-¢ sehen:¢¢ INCLUDE "D:MYPROCS.ACT"¢¢ PROC MAIN()¢ .¢ . ¢ .¢ u.s.w.¢¢ Hat man das Hauptprogramm im¢ Speicher, so kann auch ein Pro-¢ grammteil INCLUDEn, der bereits¢ INCLUDEt wird.¢ Ist das nicht der Fall, so kann¢ man nur auf einer Ebene INCLUDEN,¢ was ja auch eigentlich reicht.¢¢ Natuerlich kann ein Programm¢ mehrmals hintereinander INCLUDEN.¢¢ INCLUDE "D:TEIL1.ACT"¢¢ INCLUDE "D:TEIL2.ACT"¢¢ INCLUDE "D:TEIL3.ACT"¢ ¢¢3. MODULE¢¢ Diese Direktive ist im Zusammen-¢ hang mit INCLUDE sehr wichtig,da¢ man nach einem INCLUDE meistens¢ ein MODULE setzten muss¢ (s. Runtime - Cardridge - Library)¢¢ Diese Direktive wurde ja schon in ¢ dem Kapitel "GLOBAL.KRS" erklaert.¢¢4. SET¢ ¢ Set kann man sich wie ein POKE¢ Befehl vorstellen, der aber¢ NUR waehrend des Compilerens¢ wirksam ist.¢¢ z.B.:¢ ¢ SET 710=0¢ ¢ ¢**************************************¢¢