|
|
|
| CINTL | |
| Typ: | Funktion |
| Syntax: | CINTL(<num.Ausdruck>) |
| Erklärung: | Wandelt einen beliebigen numerischen Wert in Long-Integer-Format (ganze Zahlen von -2147483648 bis +2147483647) um. Der Definitionsbereich der Funktion umfaßt den Long-Integer-Bereich. Andere Werte führen zu der Fehlermeldung "Integer Überlauf", wenn zuvor mit COMPILER "FPUEXON" die Fließkomma-Exceptions aktiviert wurden. |
| Beispiel: | A=1 B=3 PRINT CINTL(A/B) PRINT CINTL(A)/CINTL(B) PRINT CINTL(1E+10) |
| Ergebnis: | 0 0.333333333333333 Integer Überlauf in Zeile Nr: 4 |
| siehe auch: | CDBL CINT CSNG |
| CIRCLE | |
| Typ: | Befehl |
| Syntax: | CIRCLE <num.Ausdruck>,<num.Ausdruck>,<num.Ausdruck>[,<num.
Ausdruck>,<num.Ausdruck>] CIRCLE <X>,<Y>,<Radius>[,<Startwinkel>,<Endwinkel>] |
| Erklärung: | Zeichnet einen nicht gefüllten Kreis auf den Bildschirm. <X> und <Y>
geben den Kreismittelpunkt an. Optional können Start- und Endwinkel in Zehntel-Graden
angegeben werden. Hierbei ist Winkel=0 rechts vom Mittelpunkt, Winkel=900 oberhalb
des Mittelpunkts etc.. Farbe, Linienstil und -breite können über LINE COLOR, LINE STYLE bzw. LINE WIDTH bestimmt werden. Ist mittels CLIP ein Bildfenster definiert, wird außerhalb dieses Bereichs nicht gezeichnet. |
| Beispiel: | CIRCLE 70,50,40 CIRCLE 70,50,30,0,1800 CIRCLE 60,50,20,1800,3200 CIRCLE 70,50,25,500,600 CIRCLE 70,50,25,1200,1300 |
| Ergebnis: | Es werden diverse Kreise und Kreisbögen auf den Bildschirm gezeichnet. |
| siehe auch: | ELLIPSE PCIRCLE PELLIPSE |
| CLEAR | |
| Typ: | Befehl |
| Syntax: | CLEAR [<num. Ausdruck>][,<num. Ausdruck>] CLEAR [<Heap-Speicher>][,<Stack-Größe>] |
| Erklärung: | Löscht alle Variableninhalte und Dimensionierungen. Offene Dateien werden geschlossen, eventuell noch vorhandene Daten im Druckerpuffer werden ausgegeben, ON ERROR GOTO, ON HELP GOSUB, ON MOUSEBUT GOSUB, ON KEY GOSUB und ON TIMER GOSUB Aufrufe werden abgeschaltet. Dieser Befehl hat in Omikron Basic 6 nur ohne Parameter eine Bedeutung. Um die Größe des Heap-Speichers bzw. des Stacks einzustellen verwenden Sie bitte die entsprechenden Compilersteuerwörter. |
| siehe auch: | COMPILER "PRE_SIZE X" COMPILER "STACK X" |
| CLIP | |
| Typ: | Befehl |
| Syntax: | CLIP [<num.Ausdruck>,<num.Ausdruck>{ TO <num.Ausdruck>,<num.Ausdruck>|,<num.Ausdruck>,<num.Ausdruck>}]
CLIP [<X>,<Y>{ TO <X2>,<Y2>|,Breite,Höhe}] |
| Erklärung: | Definiert ein Grafik-Fenster, das den Zeichenbereich für folgende Zeichenbefehle
begrenzt: BITBLT, BOX,
CIRCLE, DRAW, ELLIPSE,
FILL, PBOX, PCIRCLE,
PELLIPSE, POLYGON,
PPOLYGON, PRBOX,
RBOX, TEXT, PRINT,
WRITE. Außerhalb dieses Fenster wird die Zeichenoperation zwar ausgeführt, der Bildschirm wird dabei jedoch nicht verändert. Das Fenster kann entweder durch Angabe zweier gegenüberliegender Eckpunkte oder eines Eckpunktes mit Höhe und Breite definiert werden. Ohne Parameterangaben wird das Grafik-Fenster ausgeschaltet (dies ist auch die Standard-Einstellung). |
| Beispiel: | CLIP 30,30,20,20 PCIRCLE 30,30,20 CLIP 60,60 TO 150,100 PRBOX 65,65,200,200 |
| Ergebnis: | Es wird ein durch CLIP begrenzter Kreis und ein begrenztes Rechteck gezeichnet. |
| siehe auch: | |
| CLOSE | |
| Typ: | Befehl |
| Syntax: | CLOSE [<num.Ausdruck>[[<num.Ausdruck>]]] CLOSE [<Dateinummer>[[<Dateinummer>]]] |
| Erklärung: | Schließt den oder die mit der Dateinummer assozierte(n) Datei(en). Ohne Angabe von Parametern werden alle Dateien geschlossen. |
| Beispiel: | CLOSE CLOSE 1,7,Om |
| Ergebnis: | Dateien werden geschlossen. |
| siehe auch: | OPEN |
| CLS | |
| Typ: | Befehl |
| Syntax: | CLS |
| Erklärung: | Der gesamte Bildschirm wird gelöscht und der PRINT-Cursor wird auf seine Home-Position ( linke obere Ecke) gesetzt. |
| Beispiel: | PELLIPSE 50,50,40,20 WAIT .5 CLS PRINT "Programm beenden mit [Return]";E |
| Ergebnis: | Zuerst wird eine Ellipse gezeichnet. Nach 0.5 s wird der Bildschirm wieder gelöscht. |
| CMD | |
| Typ: | Funktion |
| Syntax: | CMD <num.Ausdruck> CMD <Dateinummer> |
| Erklärung: | Lenkt die Ausgaben von PRINT und WRITE
auf eine Datei um. Die der Dateinummer entsprechende Datei muß zuvor mittels
OPEN geöffnet worden sein. Durch die Möglichkeit, Dateien auch auf den
Drucker zu öffnen (siehe OPEN), kann die Ausgabe
auch auf den Drucker oder die serielle Schnittstelle umgelenkt werden. Ist der numerische
Ausdruck null, so kommen die Ausgaben wieder zum Bildschirm. Hinweis: Unter dem MacOS ist es nicht üblich, den Drucker direkt anzusteuern. Wenn Sie Ihre Bildschirmausgaben auf den Drucker umleiten wollen, sollten Sie dafür den Befehl GRAF_PORT 1 verwenden. |
| Beispiel: | OPEN "O",3,FN Get_Fsspec$(0,0,"Macintosh
HD:CMD-Test") CMD 3 PRINT "Dieser Text wird jetzt in eine Datei geschrieben." CMD 0 |
| Ergebnis: | Zuerst wird über Kanal 3 eine Datei geöffnet und mit CMD 3 werden alle Ausgaben in diese Datei umgelenkt. Dadurch erscheint der Text hinter PRINT nicht mehr auf dem Bildschirm, sondern wird in die Datei geschrieben. |
| siehe auch: | GRAF_PORT |
| COLOR | |
| siehe auch: | BITBLT LINE COLOR FILL COLOR TEXT COLOR |
| COMMON | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| COMPILER als Befehl | |
| Typ: | Befehl |
| Syntax: | COMPILER {OFF|ON|<String-Ausdruck>} |
| Erklärung: | Zwischen COMPILER OFF und COMPILER ON stehende Programmteile werden beim Compilieren
nicht mitübersetzt und fallen so aus dem Programm. In <String-Ausdruck>
können dem Compiler Steuerwörter übergeben werden. Wichtig: Um ein sicher lauffähiges Compilat zu erhalten, sollten einige der nachfolgenden Steuerwörter zu Beginn eines jeden Programms stehen (siehe auch das Programm 'Mandelbrot.BAS' im Ordner DEMO). Folgende Steuerwörter sind möglich: COMPILER "BAS_MEM X" Diese Einstellung teilt dem Compiler die benötigte Menge an Basic-Speicher mit. X steht dabei für die erforderliche Anzahl an Bytes. Fehlt dieses Steuerwort, so wird ein Wert von 262144 angenommen. COMPILER "CONST_IF_EXCLUDE" oder COMPILER "CIE" Durch dieses Compiler-Steuerwort wird das Auslassen redundanter Programmteile beim Compilieren zugelassen. Damit ist folgendes gemeint: Immer wenn eine IF-Bedingung einen konstanten Wert liefert, wenn die Bedingung also entweder immer oder nie erfüllt ist, dann wird der Teil, welcher sowieso nicht benutzt wird, einfach ganz weggelassen. Im Zusammenhang mit Konstanten (siehe DEF_CONST) wird es dadurch möglich, ein Programm auf verschiedene Weise zu übersetzen. Die Konstanten wirken wie Schalter, die je nach zugewiesenem Wert die Übersetzung steuern. Beispielsweise wäre eine Konstante "Demo" denkbar, die,- wenn ungleich Null, bestimmte Teile des Programms ausklammert. Die Teile des Programms, die nicht in die Demoversion gehören, werden dann gar nicht mitübersetzt und machen es daher unmöglich, aus der Demoversion wieder eine Vollversion zu basteln. Auf ähnliche Weise lassen sich auch mehrsprachige Programmversionen erzeugen, die, abhängig von der "Language"-Konstanten, immer die richtigen, länderspezifischen Texte und Unterprogramme enthalten. COMPILER "CONST_IF_INCLUDE oder COMPILER "CII" schaltet die normale Behandlung nicht verwendeter IF-Zweige wieder ein. Es wird also immer alles übersetzt. Dies ist auch die Voreinstellung des Compilers. COMPLER "CTRL_C ON|OFF" Hiermit kann man festlegen, ob das compilierte Programm jederzeit durch die Tastenkombination [Ctrl]+[C] abgebrochen werden kann oder nicht. Die Voreinstellung ist CTRL_C OFF. COMPILER "CUT_ON|OFF" Wenn CUT eingeschaltet ist, kürzt der Compiler alle Funktionen und Prozeduren heraus, die in dem Programm nirgendwo verwendet werden. Voraussetzung dafür ist, daß sämtliche Prozeduren und Funktionen sauber getrennt sind, d.h. mit END_PROC bzw. END_FN jeweils ihr Ende markiert ist. Prozeduren und Funktionen können auch mit RETURN abgeschlossen sein. In diesem Fall gilt das erste unbedingte (nicht hinter einem IF stehende) RETURN als Abschluß. COMPILER "DEBUG ON|OFF" Dieses Steuerwort ist eine Zusammenfassung von "IUEX", "FPUEX", "RC" und "SC". Bei neuentwickelten Programmen empfehlen wir dringend, dieses Steuerwort zu setzen. Sie werden dann vom Omikron Basic auf Programmierfehler (z.B. Division durch Null, zu klein dimensionierte Felder, zu gering bemessener Stack, falscher Variablentyp bei READ etc.) hingewiesen. Wenn solche Fehler nicht bemerkt werden, kommt es meist irgendwann zum Absturz, ohne daß die eigentliche Ursache erkennbar ist. Hinweis: Durch Setzen dieses Steuerwortes wird Ihr Programm länger und die Ausführungsgeschwindigkeit verringert sich, da ja zur Laufzeit ständig Überprüfungen vorgenommen werden müssen. Dieses sollte jedoch während der Entwicklungszeit in Kauf genommen werden, um ein möglichst fehlerfreies Produkt zu erhalten. COMPILER "DEF_CONST" Dieses Steuerwort leitet eine Konstantendefinition ein. Alle nachfolgenden Zuweisungen an Einzelvariablen (Felder und Strings sind nicht erlaubt!) definieren nun eine Konstante. Die Verwendung solcher Konstanten hat mehrere Vorteile: 1. Solche symbolischen Namen sind leichter zu lesen als "echte" konstante Ausdrücke und sie lassen sich auch leichter ändern, da sie ja nur einmal zugewiesen werden. 2. Soweit es sich bei den konstanten Ausdrücken um Berechnungen handelt, können diese schon vom Compiler durchgeführt und ersetzt werden. Dadurch wird das Compilat schneller und kürzer. 3. Bedingte Compilierung mit CONST_IF_EXCLUDE und CONST_IF_INCLUDE wird durch die Verwendung von Konstanten vereinfacht: Wenn an verschiedenen Stellen im Programm einzelne Teile für verschiedene Programmversionen nur unter bestimmten, aber gleichen Bedingungen compiliert werden sollen, dann braucht die Konstante nur einmal bei der Deklaration verändert zu werden. Konstanten sollten immer zu Beginn des Programmcodes definiert werden, allerdings erst nach dem ersten CLEAR. Wie sich aus dem Namen schon ergibt, darf den Konstanten natürlich nur einmal im gesamten Programm ein Wert zugewiesen werden. COMPILER "END_CONST" Dieses Compiler-Steuerwort muß am Ende einer Konstantendeklaration stehen, die mit DEF_CONST eingeleitet wurde. COMPILER "EVENT" Es wird an dieser Stelle ein 'WaitNextEvent' in das Programm hineincompiliert, wenn das Omikron Basic Ausgabefenster aktiv ist. COMPILER "FILE_TYPE XXXX" Auf dem Mac hat jede Datei einen bestimmten Typ, der aus 4 Zeichen besteht. Normalerweise erzeugt Omikron Basic ausführbare Programme vom Typ "APPL". Wenn Sie aber z. B. eine Shared Library, ein Plugin oder eine Systemerweiterung schreiben möchten, müssen Sie der Datei einen entsprechenden Typ zuweisen. Systemerweiterungen haben den Typ "INIT", Shared-Libraries "shlb" und bei Plugins hängt der Typ von dem Programm ab, mit dem das Plugin benutzt werden soll. COMPILER "FPU_EXCEPTIONS ON|OFF" oder COMPILER "FPUEXON|OFF" Falls die Fießkomma-Unit im Prozessor eine Exception meldet, z.B. wenn das Ergebnis einer Rechenoperation eine nicht darstellbare Zahl ist oder eine ungültige Operation stattgefunden hat, wird Alarm geschlagen. Hinweis: Durch Setzen dieses Steuerwortes wird Ihr Programm länger und die Ausführungsgeschwindigkeit verringert sich, da ja zur Laufzeit ständig Überprüfungen vorgenommen werden müssen. Dieses sollte jedoch während der Entwicklungszeit in Kauf genommen werden, um ein möglichst fehlerfreies Produkt zu erhalten. COMPILER "IU_EXCEPTIONS ON|OFF" oder COMPILER "IUEXON|OFF" Falls die Integer-Unit im Prozessor eine Exception meldet, wie z.B. "Zahlenbereich überschritten" oder "Division durch Null", wird Alarm geschlagen. Hinweis: Durch Setzen dieses Steuerwortes wird Ihr Programm länger und die Ausführungsgeschwindigkeit verringert sich, da ja zur Laufzeit ständig Überprüfungen vorgenommen werden müssen. Dieses sollte jedoch während der Entwicklungszeit in Kauf genommen werden, um ein möglichst fehlerfreies Produkt zu erhalten. COMPILER "LIB_MAKER ON|OFF" Dieses Steuerwort wird vom Compiler ignoriert und nur vom Library Maker ausgewertet. COMPILER "MEMORY_MOVE_BACK" oder COMPILER "MMB" MEMORY_MOVE kopiert jetzt Speicherbereiche von hinten nach vorne. Die Kopierrichtung ist von Bedeutung, wenn sich Quell- und Zielbereich überschneiden. COMPILER "MEMORY_MOVE_FORWARD" oder COMPILER "MMF" MEMORY_MOVE kopiert jetzt Speicherbereiche von vorne nach hinten. Dies ist auch die Default-Einstellung. Die Kopierrichtung ist von Bedeutung, wenn sich Quell- und Zielbereich überschneiden. COMPILER "MIN_SIZE X" X gibt an, wieviel Application-Heap Ihrem Programm nach dem Start mindestens zugewiesen werden muß, damit es überhaupt lauffähig ist. Bedenken Sie bitte, daß z. B. das Omikron Basic Ausgabefenster im Applicationheap gepuffert wird. Wenn dieses Steuerwort fehlt, wird ein Default-Wert von 262144 Bytes eingetragen. Diese Einstellung kann auch vom Finder aus über den Menüpunkt 'Information' erfolgen. COMPILER "NO LINENUMBERS" oder COMPILER "NOLNR" Um im Fehlerfall oder für RESUME (siehe auch TRACE ON) die Zugehörigkeit einer Programmstelle zu einer bestimmten Zeile festzustellen, wird normalerweise eine Tabelle angelegt. Diese benötigt 6 Bytes pro Zeile und verlängert somit größere Programme um einige kByte. Mit NO LINENUMBERS kann man das Anlegen dieser Tabelle unterdrücken. Allerdings ist ohne diese Tabelle das Ermitteln einer bestimmten Zeile unmöglich, so daß man im Fehlerfall dann immer die Zeile 0 gemeldet bekommt. Während der Programmentwicklungszeit sollte die Zeilennummerntabelle deshalb nicht unterdrückt werden. COMPILER "OUTPUT_WINDOW X*Y" oder COMPILER "OPW X*Y" Es wird das Omikron Basic Ausgabefenster in der Breite X und der Höhe Y angelegt. Achtung: Diese Steuerwort muß angegeben werden, wenn mit SCREEN weitere Omikron Basic Ausgabefenster geöffnet werden sollen oder wenn die Pseudo-Multitasking-Befehle ON TIMER, ON MOUSEBUT etc. benutzt werden sollen. COMPILER "PRE_SIZE X" X gibt an, wieviel Application-Heap Ihrem Programm nach dem Start bevorzugt zugewiesen werden soll. Bedenken Sie bitte, daß z. B. das Omikron Basic Ausgabefenster im Application-Heap gepuffert wird. Wenn dieses Steuerwort fehlt, wird ein Default-Wert von 262144 Byte eingetragen. Diese Einstellung kann auch vom Finder aus über den Menüpunkt 'Information' erfolgen. COMPILER "RANGE_CONTROL ON|OFF" oder COMPILER "RCON|OFF" Es wird während der Laufzeit Ihres Programms bei jedem Zugriff auf eine Feldvariable geprüft, ob die angegebenen Indices innerhalb des dimensionierten Bereichs liegen. Außerdem wird darauf geachtet, daß die Bit-Nummer beim BIT-Befehl einen zulässigen Wert hat und daß bei CINT das Argument im erlaubten Zahlenbereich liegt. Falls nicht, bricht das Programm mit einer Fehlermeldung ab. Hinweis: Durch Setzen dieses Steuerwortes wird Ihr Programm länger und die Ausführungsgeschwindigkeit verringert sich, da ja zur Laufzeit ständig Überprüfungen vorgenommen werden müssen. Dieses sollte jedoch während der Entwicklungszeit in Kauf genommen werden, um ein möglichst fehlerfreies Produkt zu erhalten. COMPILER "SHARED_LIBRARY|SHLB" Der Compiler wird angewiesen, statt eines ausführbaren Programms eine sogenannte Shared-Library zu erzeugen. Eine solche Library besteht aus Funktionen (DEF FNEX) und Daten, die von anderen Programmen aufgerufen werden. Im Unterschied zu den statischen Omikron Basic Libraries, die mit dem jeweiligen Programm fest verbunden sind, können Shared-Libraries parallel von verschiedenen Programmen genutzt werden. Diesem Vorteil steht der Nachteil entgegen, daß die Funktionen wegen der standardisierten Parameterübergabe und des aufwendigen Aufrufverfahrens langsamer ausgeführt werden, als Funktionen aus einer Omikron Basic Library. Wenn Sie Plugins schreiben möchsten, müssen Sie ebenfalls dieses Steuerwort setzen und außerdem noch mit COMPILER "FILE_TYPE XXXX" den Filetyp passend einstellen, so daß das Programm, für das Ihr Plugin vorgesehen ist, dieses auch erkennt. Siehe auch das Beispielprogramm "SharedLib.BAS" im DEMO-Ordner. COMPILER "SIGNATURE SIGN" Auf dem Mac bekommt jedes Programm eine eigene Signatur, die aus 4 Zeichen besteht. Das MacOS identifiziert die installierten Programme mit dieser Signatur und nicht, wie unter anderen Betriebssystemen üblich, durch deren Namen. Wenn Sie also ein neues Programm schreiben, sollten Sie diesem auch eine eigene Signatur geben. Soll das Programm verbreitet werden, so muß eine Signatur bei Apple beantragt werden, um die Eindeutigkeit zu gewährleisten. Signaturen, die nur aus Kleinbuchstaben bestehen oder Sonderzeichen enthalten, sind für Apple selbst reserviert. Wenn Sie keine Signatur angeben, so werden vier Fragezeichen eingetragen. COMPILER "STACK_CONTROL ON|OFF" oder COMPILER "SCON|OFF" Es wird während der Laufzeit Ihres Programms zu Beginn einer jeden Programmzeile geprüft, ob noch genügend Platz auf dem Stack vorhanden ist. Falls nicht, bricht das Programm mit einer Fehlermeldung ab. Hinweis: Durch Setzen dieses Steuerwortes wird Ihr Programm länger und die Ausführungsgeschwindigkeit verringert sich, da ja zur Laufzeit ständig Überprüfungen vorgenommen werden müssen. Dieses sollte jedoch während der Entwicklungszeit in Kauf genommen werden, um ein möglichst fehlerfreies Produkt zu erhalten. COMPILER "STACK X" Diese Einstellung teilt dem Compiler die benötigte Stackgröße mit. X steht dabei für die erforderliche Anzahl an Bytes. Fehlt dieses Steuerwort, so wird ein Wert von 16384 angenommen. COMPILER "STRING +|*X" Omikron Basic verfügt über eine sehr schnelle und effektive String-Vervaltung, die durch dieses Steuerwort noch besser den Bedürfnissen Ihres Programms angepaßt werden kann. Sie können damit festlegen, wieviel Platz zusätzlich reserviert werden soll, wenn ein String angelegt wird. Dieser zusätzliche Bereich vermeidet sehr viele Kopiervorgänge im Speicher (z.B. wenn weitere Zeichen an den String angehängt werden). Dadurch steigt die Gesamt-Performance deutlich an. Vor dem X kann ein Plus- oder ein Mal-Zeichen angegeben werden, wobei im ersten Fall einfach die mit X bestimmte Anzahl Bytes zusätzlich zur Länge des Strings reserviert wird während im zweiten Fall die Länge des Strings mit X multipliziert wird und sich die daraus ergebende Anzahl an Bytes reserviert wird. Das Ergebnis wird in beiden Fällen noch auf eine durch 8 teilbare Zahl aufgerundet. Z.B. würde COMPILER "STRING +64" bewirken, daß der Befehl A$="Test-String" im Speicher 11+64=75 aufgerundet auf eine durch 8 teilbare Zahl =80 Byte für den String reserviert. Werden dann später weitere Zeichen (weniger als 70) an den String angehängt, so muß nicht erst ein freier Speicherbereich gesucht und der neue String dorthin kopiert werden, sondern die zusätzlichen Zeichen können einfach an den bestehenden String angehängt werden. Wenn auf der anderen Seite die Verarbeitungsgeschwindigkeit für Sie nicht so wichtig ist, stattdessen aber ein minimaler Speicherverbrauch im Vordergrund steht (z.B. weil Sie mit sehr großen Stringfeldern arbeiten), können Sie mit COMPILER "STRING +0" dafür sorgen, daß nur der minimal nötige Speicher verbraucht wird. Allerdings wird auch in diesem Fall auf die nächste durch 8 teilbare Zahl aufgerundet. Der obige "Test-String" würde also 16 Byte belegen. Die Voreinstellung für dieses Steuerwort ist: COMPILER "STRING *2", es wird also immer doppelt soviel Speicher reserviert, wie der String lang ist. COMPILER "TRACE ON|OFF" oder COMPILER "TRON|OFF" Vor jeder Programmzeile wird auf Tastatur-, Timer- und Mausunterbrechungen gepfüft. Dies ist für die Pseudo-Multitaskingbefehle ON TIMER, ON HELP, ON KEY und ON MOUSEBUT zwingend erforderlich. Zusätzlich werden der aktuelle Programm- und gegebenenfalls auch der Stapelzeiger gespeichert. Nur dadurch ist es im Fehlerfall möglich, die Zeile, in der der Fehler auftrat, überhaupt festzustellen. Während der Programmentwicklungszeit sollte TRACE ON immer eingestellt sein, damit man bei Fehlermeldungen auch die fehlerhafte Zeile erfährt. Wenn man mit ON ERROR GOTO und RESUME eine eigene Fehlerroutine programmiert hat, muß TRACE ON eingeschaltet sein, da diese Befehle sonst nicht funktionieren. Hinweis: Durch TRACE ON wird Ihr Programm länger und die Ausführungsgeschwindigkeit verringert sich. COMPILER "WARNINGS ON|OFF" Während der Übersetzung eines Programms kann es zu Warnmeldungen des Compilers kommen, die den Programmierer auf eventuelle Fehler aufmerksam machen sollen. Diese Fehler sind aber nicht so schwerwiegend, daß kein lauffähiges Programm mehr entstünde. Darum wird die Compilierung auch nicht abgebrochen, sondern nur eine Warnung ausgegeben. Mit WARNINGS OFF kann dieses unterdrückt werden. |
| Beispiel: | COMPILER "DEF_CONST" Deutsch%=1 Englisch%=2 Spanisch%=3 Language%=Deutsch% COMPILER "END_CONST" COMPILER "CIE" IF Language%=Deutsch% THEN PRINT "Wir sprechen deutsch." ELSE IF Language%=Englisch% THEN PRINT "We are speaking english." ELSE IF Language%=Spanisch% THEN PRINT "Hablamos espa¤ol" ENDIF ENDIF COMPILER "CII" |
| Ergebnis: | Da Language%=Deutsch% gesetzt wurde und "CIE" eingeschaltet ist, wird beim Compilieren nur der deutsche Teil übersetzt. Die anderen Zeige werden übersprungen und sind dadurch im fertigen Programm gar nicht enthalten. |
| siehe auch: | COMPILER als Funktion Programm 'Mandelbrot' im Ordner DEMO |
| COMPILER als Funktion | |
| Typ: | Funktion |
| Syntax: | COMPILER |
| Erklärung: | Ergibt immer den Wert -1 und hat damit in Omikron Basic 6 keine sinnvolle Verwendung. |
| Beispiel: | IF COMPILER THEN PRINT "Compiler!" |
| Ergebnis: | Compiler! |
| siehe auch: | COMPILER als Befehl |
| CONT | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| CONTINUE | |
| Typ: | Befehl |
| Syntax: | CONTINUE |
| Erklärung: | CONTINUE innerhalb einer SELECT ... CASE-Anweisung übergeht jeweils die nächste CASE-Bedingung und führt das Programm hinter dem CASE weiter aus. |
| Beispiel: | A$="Q" SELECT A$ CASE "Q" :PRINT "Das Zeichen war ein Q" CONTINUE CASE "0" TO "9":PRINT "Das Zeichen war eine Ziffer" END_SELECT |
| Ergebnis: | Das Zeichen war ein Q Das Zeichen war eine Ziffer |
| siehe auch: | SELECT CASE |
| COPY | |
| Typ: | Befehl |
| Syntax: | COPY <Dateiname>TO <Dateiname> COPY <Quell-Dateiname>TO <Ziel-Dateiname> |
| Erklärung: | Erstellt von <Quell-Dateiname> eine Kopie, mit dem Namen <Ziel-Dateiname>.
Für Quell- und Ziel-Datei muß jeweils ein FileSpecificationRecord
angegeben werden, wie man ihn z.B. von FILESELECT
oder FN Get_Fsspec$
aus der ExtensionsLibrary zurückerhält. Jokerzeichen im Dateinamen sind nicht zugelassen. Kann die Datei nicht gefunden werden, wird der Befehl abgebrochen und eine Fehlermeldung ausgegeben, wenn Error_Messages aktiviert ist. |
| Beispiel: | COPY Fn GetFsspec$(0,0,"OmikronBasic") TO Fn GetFsspec$(0,0,"OmikronBasic.Kopie") |
| Ergebnis: | Die Datei OmikronBasic wird kopiert. Die neue Datei erhält den Namen OmikronBasic.Kopie |
| siehe auch: | BACKUP |
| COS | |
| Typ: | Funktion |
| Syntax: | COS(<num.Ausdruck>) |
| Erklärung: | Berechnet den Cosinus des numerischen Ausdrucks. Das Ergebnis ist abhängig vom eingestellten Winkelmodus (siehe DEG, RAD). |
| Beispiel: | PRINT COS( PI ) DEG PRINT COS(90) |
| Ergebnis: | -1 0 |
| siehe auch: | ARCCOS |
| COSEC | |
| Typ: | Funktion |
| Syntax: | COSEC(<num.Ausdruck>) |
| Erklärung: | Berechnet den Cosecans des numerischen Ausdrucks. Das Ergebnis ist abhängig vom eingestellten Winkelmodus (siehe auch DEG , RAD). |
| Beispiel: | PRINT COSEC( PI /2) DEG PRINT COSEC(135) |
| Ergebnis: | 1 1.4142135623731 |
| COSECH | |
| Typ: | Funktion |
| Syntax: | COSECH(<num.Ausdruck>) |
| Erklärung: | Berechnet den Cosecans-Hyperbolicus des numerischen Ausdrucks. |
| Beispiel: | PRINT COSECH(1) |
| Ergebnis: | 0.850918128239322 |
| COSH | |
| Typ: | Funktion |
| Syntax: | COSH(<num.Ausdruck>) |
| Erklärung: | Berechnet den Cosinus-Hyperbolicus des numerischen Ausdrucks. |
| Beispiel: | PRINT COSH(0.5) |
| Ergebnis: | 1.12762596520638 |
| COT | |
| Typ: | Funktion |
| Syntax: | COT(<num.Ausdruck>) |
| Erklärung: | Berechnet den Cotangens des numerischen Ausdrucks. Das Ergebnis ist abhängig vom eingestellten Winkelmodus (siehe auch DEG , RAD) |
| Beispiel: | PRINT COT(3) DEG PRINT COT(90) |
| Ergebnis: | -7.01525255143454 0 |
| siehe auch: | |
| COTH | |
| Typ: | Funktion |
| Syntax: | COTH(<num.Ausdruck>) |
| Erklärung: | Berechnet den Cotangens-Hyperbolicus des numerischen Ausdrucks. Der numerische Wert muß ungleich null sein. |
| Beispiel: | PRINT COTH(1) |
| Ergebnis: | 1.31303528549933 |
| CSNG | |
| Typ: | Funktion |
| Syntax: | CSNG(<num.Ausdruck>) |
| Erklärung: | Wandelt einen beliebigen numerischen Ausdruck in Single-Float-Format um. |
| Beispiel: | A#=1# B#=3# PRINT CSNG(A#/B#) PRINT CSNG(A#)/CDBL(B#) |
| Ergebnis: | 0 .3333333 0 .333333333333333 |
| siehe auch: | CDBL CINT CINTL |
| CSRLIN | |
| Typ: | Funktion |
| Syntax: | CSRLIN |
| Erklärung: | Ergibt die Zeile, in der sich der Cursor gerade befindet. Die oberste Zeile hat die Nummer eins, im Gegensatz zu "@", bei dem die oberste Zeile die Nummer null hat. |
| Beispiel: | PRINT @(10,0);"Hier ist Zeile: "; CSRLIN |
| Ergebnis: | Hier ist Zeile: 11 |
| siehe auch: | POS LOCATE PRINT @ |
| CVD | |
| Typ: | Funktion |
| Syntax: | CVD(<String-Ausdruck>) |
| Erklärung: | Die ersten 8 Zeichen des String-Ausdrucks werden in eine Double-Float-Zahl umgewandelt.
CVD ist die Umkehrfunktion zu MKD$. Die Funktion dient
in erster Linie zum Lesen von Binär-Dateien, welche Double-Float-Zahlen nicht
in ihrer lesbaren ASCII-Darstellung, sondern in ihrer binären Darstellung enthalten.
Achtung: ASC(A$) gibt als Ergebnis null zurück, wenn A$ aus weniger als 8 Zeichen besteht und die nichtfatalen Fehlermeldungen abgeschaltet sind (Error_messages 0). Andernfalls erscheint die Meldung "Unerlaubter Funktionsaufruf". |
| Beispiel: | PRINT CVD("12345678") PRINT CVD( MKD$(12345678)) |
| Ergebnis: | 1.03008436562014D-71 12345678 |
| siehe auch: | CVI CVIL CVS MKD$ |
| CVI | |
| Typ: | Funktion |
| Syntax: | CVI(<String-Ausdruck>) |
| Erklärung: | Die ersten beiden Zeichen des String-Ausdrucks werden in eine Short-Integer-Zahl
umgewandelt. CVI ist die Umkehrfunktion zu MKI$. Die
Funktion dient in erster Linie zum Lesen von Binär-Dateien, welche Short-Integer-Zahlen
nicht in ihrer lesbaren ASCII-Darstellung, sondern in ihrer binären Darstellung
enthalten. Achtung: ASC(A$) gibt als Ergebnis null zurück, wenn A$ aus weniger als 2 Zeichen besteht und die nichtfatalen Fehlermeldungen abgeschaltet sind (Error_messages 0). Andernfalls erscheint die Meldung "Unerlaubter Funktionsaufruf". |
| Beispiel: | PRINT CVI("12") PRINT CVI( MKI$(12)) |
| Ergebnis: | 12594 12 |
| siehe auch: | CVD CVIL CVS MKI$ |
| CVIL | |
| Typ: | Funktion |
| Syntax: | CVIL(<String-Ausdruck>) |
| Erklärung: | Die ersten 4 Zeichen des String-Ausdrucks werden in eine Long-Integer-Zahl umgewandelt.
CVIL ist die Umkehrfunktion zu MKIL$. Die Funktion
dient in erster Linie zum Lesen von Binär-Dateien, welche Long-Integer-Zahlen
nicht in ihrer lesbaren ASCII-Darstellung, sondern in ihrer binär Darstellung
enthalten. Achtung: ASC(A$) gibt als Ergebnis null zurück, wenn A$ aus weniger als 4 Zeichen besteht und die nichtfatalen Fehlermeldungen abgeschaltet sind (Error_messages 0). Andernfalls erscheint die Meldung "Unerlaubter Funktionsaufruf". |
| Beispiel: | PRINT CVIL("1234") PRINT CVIL( MKIL$(1234)) |
| Ergebnis: | 825373492 1234 |
| siehe auch: | CVD CVI CVS MKIL$ |
| CVS | |
| Typ: | Funktion |
| Syntax: | CVS(<String-Ausdruck>) |
| Erklärung: | Die ersten 4 Zeichen des String-Ausdrucks werden in eine Single-Float-Zahl umgewandelt.
CVS ist die Umkehrfunktion zu MKS$. Die Funktion dient
in erster Linie zum Lesen von Binär-Dateien, welche Single-Float-Zahlen nicht
in ihrer lesbaren ASCII- Darstellung, sondern in ihrer binär Darstellung enthalten.
Achtung: ASC(A$) gibt als Ergebnis null zurück, wenn A$ aus weniger als 4 Zeichen besteht und die nichtfatalen Fehlermeldungen abgeschaltet sind (Error_messages 0). Andernfalls erscheint die Meldung "Unerlaubter Funktionsaufruf". |
| Beispiel: | PRINT CVS("1234") PRINT CVS( MKS$(1234)) |
| Ergebnis: | 2.593151E-9 1234 |
| siehe auch: | CVD CVI CVIL MKS$ |
| DATA | |
| Typ: | Befehl |
| Syntax: | DATA <Ausdruck>[[,<Ausdruck>]] |
| Erklärung: | Die numerischen Ausdrücke bzw. String-Ausdrücke sind der Reihe nach als
offene Zuweisungen im Programm gespeichert. Die DATA-Zuweisung
hat auch dann Gültigkeit, wenn sie vom Programm noch nicht durchlaufen wurde.
Mittels READ können die Ausdrücke wiederum der Reihe nach einer entsprechenden Variablen zugewiesen werden. RESTORE verschiebt den Zeiger, der auf die nächste offene Zuweisung zeigt. Wichtig: Achten Sie unbedingt darauf, daß numerischen Variablen nur numerische Ausdrücke und Stringvariablen nur String-Ausdrücke zugewiesen werden. |
| Beispiel: | DATA "Hund",A$ Inh=2 READ A$,B$,C$,A PRINT A$,B$,C$,A DATA "Katze",23*Inh |
| Ergebnis: | Hund Hund Katze 46 |
| siehe auch: | READ RESTORE |
| DATE$ | |
| Typ: | Befehl |
| Syntax: | DATE$=<String-Ausdruck> |
| Erklärung: | Weist der Systemuhr das Datum <String-Ausdruck> zu. <String-Ausdruck> ist in dem Format "TT.MM.JJJJ" anzugeben. (T=Tag, M=Monat, J=Jahr) |
| Beispiel: | DATE$="08.11.1997" |
| Ergebnis: | Das aktuelle Datum wird auf den 08.11.1997 eingestellt. |
| siehe auch: | DATE$ als Funktion TIME$ als Befehl |
| DATE$ | |
| Typ: | Funktion |
| Syntax: | DATE$ |
| Erklärung: | Gibt einen String-Ausdruck des Datums entsprechend dem eingestellten Format Ihres Computers. Das Format können Sie mit dem Kontrollfeld 'Datum & Zeit' ändern. |
| Beispiel: | PRINT DATE$ |
| Ergebnis: | Das aktuelle Datum wird auf dem Bildschirm ausgegeben. |
| siehe auch: | DATE$ als Befehl TIME$ als Funktion |
| DEFAULT | |
| Typ: | Befehl |
| Syntax: | DEFAULT |
| Erklärung: | Innerhalb einer SELECT ... CASE Anweisung wird mit DEFAULT oder OTHERWISE der Programmzweig eingeleitet, der ausgeführt werden soll, wenn keine der anderen Alternativen zutraf. Der DEFAULT-Zweig muß immer die letzte Möglichkeit innerhalb der SELECT ... CASE Anweisung sein. Ein weiteres CASE darf nicht folgen. |
| siehe auch: | OTHERWISE |
| DEFER | |
| Erklärung: | Reserviert für zukünftige Anwendungen! Dieses Wort bitte nicht verwenden!! |
| DEF FN | |
| Typ: | Befehl |
| Syntax: | DEF FN <Variable>[(<Variable>[[,<Variable>]])][=<Ausdruck>]
DEF FN <Funktions-Variable>[(<Parameter>[[,Parameter]])][=<Ausdruck>] |
| Erklärung: | Weist der Funktionsvariablen die Funktion zu. Es können ein oder mehrere Parameter
definiert werden, die beim Aufruf angegeben werden müssen. Die Parameter sind
lokale Variablen (siehe auch LOCAL). Der Wert
der Funktion kann direkt durch =<Ausdruck> angegeben werden oder alternativ
nach einer ein- oder mehrzeiligen Berechnung durch RETURN
<Ausdruck>. Die Funktion ist im Programm über FN<Funktions-Variable>[(<Parameter>[[,Parameter]])] aufrufbar. Die Funktionsdefinition kann an beliebiger Stelle im Programm erscheinen. Eine mehrzeilige Funktionsdefinition darf während des Programmablaufs nicht durchlaufen werden. Eine mehrzeilige Funktionsdefinition sollte mit END_FN beendet werden. Diese Anweisung wirkt wie ein normales RETURN und dient in erster Linie der besseren Strukturierung des Programms. |
| Beispiel: |
PRINT FN Doppelt(13) DEF FN Doppelt(A)=2*A DEF FN Primzahl$(A) |
| Ergebnis: | 26 Primzahl |
| siehe auch: | DEF PROC DEF USR |
| DEF FNEX | |
| Typ: | Befehl |
| Syntax: | DEF FNEX <num.Variable>[(<num.Variable>[[,<num.Variable>]])][=<num.Ausdruck>]
DEF FNEX <Funktions-Variable>[(<num.Parameter>[[,num.Parameter]])][=<num.Ausdruck>] |
| Erklärung: | Definiert eine Funktion, die Sie an andere Programme oder das Betriebssystem exportieren
möchten. Es können ein oder mehrere numerische Parameter definiert werden,
die beim Aufruf von einem anderen Programm angegeben werden müssen. Die Parameter
sind lokale Variablen (siehe auch LOCAL). Der
Wert der Funktion kann direkt durch =<num.Ausdruck> angegeben werden
oder alternativ nach einer ein- oder mehrzeiligen Berechnung durch RETURN
<num.Ausdruck>. Eine mit DEF FNEX definierte Funktion kann von dem Programm aus, in dem die Funktion definiert wurde, nicht aufgerufen werden. Das wäre auch nicht besonders sinnvoll, da der von Apple standardisierte Aufrufformalismus recht kompliziert ist und dadurch wesentlich länger dauert, als der optimierte Aufruf einer mit DEF FN definierten Omikron Basic Funktion. Die Funktionsdefinition kann an beliebiger Stelle im Programm erscheinen. Eine mehrzeilige Funktionsdefinition darf während des Programmablaufs nicht durchlaufen werden. Eine mehrzeilige Funktionsdefinition sollte mit END_FN beendet werden. Diese Anweisung wirkt wie ein normales RETURN und dient in erster Linie der besseren Strukturierung des Programms. Es können mit DEF FNEX keine Stringfunktionen definiert werden. Wenn Strings bearbeitet werden sollen, kann dies dadurch geschehen, daß man einen Zeiger auf den String übergibt. Wenn mehr als ein Ergebnis zurückgegeben werden soll, muß man ebenfalls Zeiger auf die zusätzlichen Variablen übergeben, so daß das aufrufende Programm das Ergebnis dann an diesen Stellen ablegen kann. Wenn Sie Shared-Libraries oder Plugins schreiben möchten, können Sie die mit DEF FNEX definierten Funktionen mit EXPORT als exportiert markieren. Einige Funktionen des Macintosh-Betriebssystems benötigen Zeiger auf Callback-Routinen als Parameter, um z.B. den Fensterinhalt ständig zu aktualisieren, während der Anwender den Fensterschieber bewegt oder als sogenannte Completion-Routine bei asynchroner Datenübertragung. Für solche Zwecke können Sie ebenfalls mit DEF FNEX definierte Funktionen verwenden, indem Sie die mit "&" ermittelte Adresse der Funktion an den MAC_OS Befehl übergeben. Achtung: Bei der Definition der Funktionen und beim Aufruf ist genauestens darauf zu achten, daß die passenden Datentypen verwendet werden. Wenn z.B. die mit DEF FNEX definierte Funktion eine Integer-Zahl erwartet, darf keine Fließkommazahl übergeben werden. Im Unterschied zu internen Omikron Basic Funktionsaufrufen (DEF FN) kann zur Laufzeit keine automatische Typanpassung vorgenommen werden. Falsche Datentypen führen besonders bei der Übergabe von Pointern meistens zum totalen Systemabsturz. |
| Beispiel: | Beispielprogramm "SharedLib.BAS" im DEMO-Ordner |
| Ergebnis: | |
| siehe auch: | DEF FN EXPORT EXPORT_INIT EXPORT_EXIT COMPILER "shlb" MAC_OS |
| DEF PROC | |
| Typ: | Befehl |
| Syntax: | DEF PROC <Prozedurname>[([R]<Variable>[[,[R ]<Variable>]])] |
| Erklärung: | Leitet eine Prozedurdefinition ein. Es können ein oder mehrere Parameter definiert
werden. Die Parameter sind lokale Variablen (siehe auch LOCAL).
Durch ein vorangestelltes R werden die Werte nach Beendigung der Prozedur an die
im Prozeduraufruf genannten Variablen übergeben. Die Prozedur wird durch ein
RETURN oder besser durch ein END_PROC
beendet. Zum Aufruf ist der Prozedurname zu nennen und gegebenenfalls die in Klammern gesetzten und durch Kommata getrennten Ausrücke. Ist in der Definition an einer Stelle ein "R" vor die Variable gestellt, so muß an entsprechender Stelle im Aufruf eine Variable stehen. An diese wird am Ende der Prozedur der Inhalt der Prozedurvariablen übergeben. Beim Prozeduraufruf können die Klammern auch weggelassen werden. Die Prozedurdefinition kann an beliebiger Stelle im Programm erscheinen. Die Prozedurdefinition darf während des Programmablaufs nicht durchlaufen werden. |
| Beispiel: |
Zentriere "Dieser Text erscheint zentriert"
DEF PROC Zentriere(Text$) DEF PROC Gesperrt(Text$,Anzahl_Leerzeichen)
|
| Ergebnis: | Dieser Text erscheint zentriert O M I K R O N - B A S I C |
| siehe auch: | DEF FN DEF USR |
| DEF USR | |
| Typ: | Befehl |
| Syntax: | DEF USR=<num.Ausdruck> |
| Erklärung: | Legt die Adresse fest, die beim Aufruf eines Maschinensprache-Programms durch USR angesprungen wird. |
| Beispiel: | DEF USR Scroll_Screen |
| Ergebnis: | Das Maschinenprogramm kann jetzt mit USR(Parameter) aufgerufen werden. |
| siehe auch: | DEF FN DEF PROC |
|
Support | Bestellen | Start | Home: http://www.berkhan.de |
|
© 1997-2001 |