|
|
|
| DEFDBL | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| DEFINT | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| DEFINTL | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| DEFSNG | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| DEFSTR | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| DEG | |
| Typ: | Befehl |
| Syntax: | DEG |
| Erklärung: | Schaltet für trigonometrische Funktionen auf Berechnung nach Gradmaß um (0 bis 360). Standardeinstellung ist Bogenmaß (0 bis 2PI), siehe RAD . |
| Beispiel: | DEG: PRINT SIN(45) RAD: PRINT SIN(45) |
| Ergebnis: | 0.707106781186548 0.850903524534119 |
| siehe auch: | RAD |
| DET | |
| Typ: | Funktion |
| Syntax: | DET(<Matrixname>([<num.Ausdruck>],[<num.Ausdruck>])) |
| Erklärung: | Diese Funktion berechnet die Determinante einer quadratischen Matrix. Die Matrix
muß in Form eines zweidimensionalen Fließkommafeldes vorliegen. Die Größe
der Matrix muß für beide Dimensionen angegeben werden. Wenn die Größenangabe fehlt, werden automatisch die beim Dimensionieren verwendeten Maximalwerte verwendet. |
| Beispiel: | DATA 1.,2.,3.,4.,5.,6.,7.,8.,9. DIM Matrix!(2,2) FOR I=0 TO 2 FOR J=0 TO 2 READ Matrix!(I,J) NEXT J NEXT I PRINT DET(Matrix!(,)) |
| Ergebnis: | 0 |
| DIM | |
| Typ: | Befehl |
| Syntax: | DIM <Variable>(<num.Ausdruck>[[,<num.Ausdruck]])[[,<Variable>(<num.Ausdruck>[[,<num. Ausdruck]])]] |
| Erklärung: | Dimensioniert eine oder mehrere Feldvariablen, wobei durch die numerischen Ausdrücke
deren maximale Feldgrößen angegeben werden müssen. Das Feld kann maximal 2 Gigabyte groß werden. Für die Anzahl der Elemente in den einzelnen Dimensionen gibt es dabei keine Einschränkungen. Die Benutzung von Feldvariablen ist erst nach einer DIM-Anweisung möglich. Nach einer Definition können Feldgrößen nur noch mit folgenden Einschränkungen verändert werden: Wird eine andere als die letzte Dimension eines Feldes verändert, verschieben sich die Feldinhalte. Wird das Feld um eine weitere Dimension erweitert, gehen die Feldinhalte verloren. Hinweis: Die Variablentypen Flag (Postfix %F) und Byte (Postfix %B) können nur als Felder verwendet werden. |
| Beispiel: | DIM A%(10),Flags%F(100),Wert#(50,50) |
| Ergebnis: | Die angegebenen Felder werden zur späteren Verwendung im Programm dimensioniert. |
| DMA_SOUND | |
| Erklärung: | Reserviert für zukünftige Anwendungen! Dieses Wort bitte nicht verwenden!! |
| DPEEK | |
| Typ: | Funktion |
| Syntax: | DPEEK(<num.Ausdruck>) DPEEK(<Adresse>) |
| Erklärung: | Liest an der durch den numerischen Ausdruck gegebenen Adresse eine Fließkommazahl mit doppelter Genauigkeit. Sie können diesen Befehl z.B. dazu verwenden, um Omikron Basic fremde Datenstrukturen, die vom Betribssystem oder anderen Programmen stammen in Omikron Basic Fließkommazahlen einzulesen. <Adresse> sollte eine durch 8 teilbare Zahl sein, sonst wird die Funktion erheblich langsamer ausgeführt. |
| Beispiel: | Speicher=MEMORY(10) DPOKE Speicher,-PI Minus_Pi# = DPEEK(Speicher) PRINT Minus_Pi# |
| Ergebnis: | -3.14159265358979 |
| siehe auch: | PEEK WPEEK LPEEK SPEEK POKE WPOKE LPOKE SPOKE DPOKE |
| DPOKE | |
| Typ: | Befehl |
| Syntax: | DPOKE <num.Ausdruck>,<num. Ausdruck> DPOKE <Adresse>,<Wert> |
| Erklärung: | Legt den Wert an der gegebenen Adresse als eine Double-Float-Zahl ab. Damit können Sie also Fließkommazahlen direkt in den Speicher schreiben. Dieser Befehl ist nützlich, wenn man eigene Datenstrukturen mit Fließkommazahlen aufbauen will. <Adresse> sollte eine durch 8 teilbare Zahl sein, sonst wird der Befehl erheblich langsamer ausgeführt. |
| siehe auch: | PEEK WPEEK LPEEK SPEEK DPEEK POKE WPOKE LPOKE SPOKE |
| DRAW | |
| Typ: | Befehl |
| Syntax: | DRAW [TO] <num.Ausdruck>,<num.Ausdruck>[[ TO <num.Ausdruck>,<num.Ausdruck>]] DRAW [TO] <X>,<Y>[[ TO <Xn>,<Yn>]] |
| Erklärung: | Zeichnet an der durch X und Y gegebenen Koordinate einen quadratischen Punkt. Durch
Angabe von TO vor dieser Koordinate wird eine Linie von der aktuellen Position des
Grafikstifts aus gezeichnet. Optional können weitere durch TO abgetrennte Koordinaten
angegeben werden, die dann durch Linien verbunden werden. Achtung: Der Grafikstift wird durch andere Zeichenbefehle und auch durch TEXT und PRINT verändert. Darum müssen DRAW TO X,Y Befehle unmittelbar aufeinander folgen. Auf keinen Fall dürfen andere Grafikbefehle dazwischen stehen. Farbe, Linienstil und Linienbreite 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. Statt mit einem quadratischen Stift kann auch mit einem rechteckigen gezeichnet werden. Breite und Höhe des rechteckigen Zeichenstifts können Sie mit der Prozedur Set_Pen_Size aus der Extension Library einstellen. Hinweis: DRAW X,Y zeichnet nur einen einzelnen Pixel, auch wenn die eingestellte Linienbreite größer als 1 ist. Andere Linienattribute werden in diesem Fall ebenfalls nicht beachtet. Will man größere Punkte zeichnen, die auch den eingestellten MODE berücksichtigen, kann man das mit DRAW X,Y TO X,Y erreichen. Dieses Verhalten wurde eingeführt, um mit einer vereinfachten Funktion möglichst schnell einzelne Pixel zeichnen zu können. |
| Beispiel: | DRAW 100,100 DRAW 150,100 DRAW TO 100,150 DRAW 70,70 TO 20,30 TO 60,40 |
| Ergebnis: | Es werden diverse Punkte und Linien auf den Bildschirm gezeichnet. |
| siehe auch: | POLYGON |
| DUMP | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| EDIT | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| ELLIPSE | |
| Typ: | Befehl |
| Syntax: | ELLIPSE <num.Ausdruck>,<num.Ausdruck>,<num.Ausdruck>, <num.Ausdruck>[,<num.Ausdruck>,<num.Ausdruck>]
ELLIPSE <X>,<Y>,<X-Radius>,<Y-Radius>[,<Startwinkel>,<Endwinkel>] |
| Erklärung: | Zeichnet um den Mittelpunkt X,Y eine Ellipse mit den angegebenen Radien. 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 Linienbreite können über LINE COLOR, LINE STYLE bzw. LINE WIDTH bestimmt werden. Ist mittels CLIP ein Bildfenster definiert, wird außerhalb dieses Bereiches nicht gezeichnet. |
| siehe auch: | CIRCLE PELLIPSE PCIRCLE |
| ELSE | |
| Typ: | Befehl |
| Syntax: | ELSE |
| Erklärung: | Steht nach einer IF ... THEN ... Struktur und wird genau dann ausgeführt, wenn die letzte IF ... THEN ... Bedingung nicht erfüllt, also falsch ist. |
| Beispiel: | IF 0=1 THEN PRINT "0 ist gleich 1" PRINT "Hamlet philosophiert über seine Existenz." ELSE PRINT "0 ist ungleich 1" PRINT "Sein oder nicht sein - das ist hier die Frage!" ENDIF |
| Ergebnis: | 0 ist ungleich 1 Sein oder nicht sein - das ist hier die Frage! |
| siehe auch: | IF THEN ENDIF |
| END | |
| Typ: | Befehl |
| Syntax: | END |
| Erklärung: | Beendet den Programmablauf und schließt alle Dateien. |
| siehe auch: | CLEAR |
| ENDIF | |
| Typ: | Befehl |
| Syntax: | ENDIF |
| Erklärung: | ENDIF beendet den Programmzweig, der mit einer IF-Anweisung begonnen wurde. Bei einzeiligen IF ... THEN ... ELSE ... ENDIF Strukturen kann das ENDIF auch weggelassen werden, wenn dahinter keine weiteren Befehle stehen. |
| Beispiel: | IF Count>Maximum THEN Count=0 Max_Count+=1 ENDIF IF Tag%=Montag% THEN PRINT "Heute ist Montag" ENDIF Tag%+=1 'Hier wird Tag% in jedem Fall um 1 erhöht, da die IF-Anweisung voher durch ENDIF abgeschlossen wurde. |
| Ergebnis: | |
| siehe auch: | IF |
| END_FN | |
| Typ: | Befehl |
| Syntax: | END_FN |
| Erklärung: | Mit END_FN wird eine mehrzeilige Funktionsdefinition abgeschlossen. END_FN wirkt
genau wie RETURN, kann jedoch keine Werte zurückgeben.
END_FN sollte jedoch immer am Ende einer Funktion verwendet werden. So wird eindeutig festgelegt, an welcher Stelle die Funktion zu Ende ist, besonders, wenn sie mehrere Ausgänge hat. |
| Beispiel: | PRINT FN Factorial(10) END 'Die Funktion ruft sich solange selbst auf, bis die Fakultät berechnet ist (rekursive Programmierung). DEF FN Factorial(N) IF N=1 THEN RETURN 1 ELSE RETURN FN Factorial(N-1)*N ENDIF END_FN |
| Ergebnis: | 3628800 |
| siehe auch: | DEF FN END_PROC RETURN |
| END_PROC | |
| Typ: | Befehl |
| Syntax: | END_PROC |
| Erklärung: | Mit END_PROC wird eine Prozedurdefinition abgeschlossen. END_PROC entspricht etwa dem Befehl RETURN, darf jedoch nur genau einmal (und zwar am Ende der Prozedur) verwendet werden. So wird eindeutig festgelegt, an welcher Stelle die Prozedur zu Ende ist, besonders, wenn sie mehrere Ausgänge hat. |
| Beispiel: | DEF PROC Zentriere(Text$) PRINT TAB((W_CHAR-LEN(Text$))/2);Text$; END_PROC |
| Ergebnis: | Text$ wird zentriert auf dem Bildschirm ausgegeben. |
| siehe auch: | DEF PROC END_FN RETURN |
| END_SELECT | |
| Typ: | Befehl |
| Syntax: | END_SELECT |
| Erklärung: | Beendet eine SELECT ... CASE Anweisung. Wenn alle möglichen Alternativen aufgezählt sind, wird die SELECT-Anweisung mit END_SELECT abgeschlossen. |
| Beispiel: | INPUT "Wert 1-3 : ";Wert SELECT Wert CASE 1 : PRINT "Der Wert war eins" CASE 2 : PRINT "Der Wert war zwei" CASE 3 : PRINT "Der Wert war drei" DEFAULT : PRINT "Es sind nur Werte zwischen 1 und 3 zugelassen" END_SELECT END |
| Ergebnis: | In Abhängigkeit vom eingegebenen Wert wird der entsprechende Text ausgegeben. |
| EOF | |
| Typ: | Funktion |
| Syntax: | EOF(<num.Ausdruck>) EOF(<Dateinummer>) |
| Erklärung: | Ergibt -1 (=wahr), wenn das Ende der Datei erreicht ist, sonst 0 (=falsch). Die Datei muß zuvor mit OPEN geöffnet worden sein. |
| Beispiel: | OPEN "I",1,FN Get_Fsspec$(0,0,"NEWOMBAS.INF")
WHILE NOT EOF(1) In$=INPUT$(1,1) PRINT In$; WEND CLOSE 1 |
| Ergebnis: | Gibt den Inhalt von NEWOMBAS.INF als Zeichenfolge aus. |
| siehe auch: | LOC LOF OPEN |
| EQV | |
| Typ: | Operator |
| Syntax: | <num.Ausdruck>EQV <num.Ausdruck> |
| Erklärung: | Verknüpft die beiden Ausdrücke bitweise äquivalent. |
| Beispiel: | PRINT BIN$((%1010 EQV %1100)+%10000) |
| Ergebnis: | 1001 |
| ERL | |
| Typ: | Funktion |
| Syntax: | ERL |
| Erklärung: | Liefert immer die Nummer der Zeile, in der zuletzt ein Fehler aufgetreten ist. Diese Funktion kann z. B. nach ON ERROR GOTO benutzt werden, um die Fehlerzeile zu ermitteln. |
| siehe auch: | ERR ERR$ ERROR |
| ERR | |
| Typ: | Funktion |
| Syntax: | ERR |
| Erklärung: | Wenn während des Programmlaufs ein Fehler auftritt, so kann dessen Nummer mit
ERR abgefragt werden. Wenn Sie z. B. versuchen, eine Datei zum Lesen zu öffnen,
die gar nicht existiert, so können Sie dies herausfinden, indem Sie gleich nach
dem OPEN-Befehl die Funktion ERR abfragen. Hinweis: Viele BASIC-Befehle setzen ERR auf 0 zurück. Um einen möglichen Fehler mitzubekommen, sollten Sie die Abfrage direkt hinter der kritischen Stelle durchführen und für den Fall einer späteren Verwendung die Fehlernummer in eine Variable retten. |
| Beispiel: | OPEN "I",1,FN Get_Fsspec$(0,0,"NichtExistent")
Fehler%=ERR If Fehler% THEN PRINT "Datei existiert nicht!" END |
| Ergebnis: | Datei existiert nicht! |
| siehe auch: | ERL ERR$ ERROR |
| ERR$ | |
| Typ: | Funktion |
| Syntax: | ERR$ |
| Erklärung: | Funktioniert wie ERR, nur mit dem Unterschied, daß statt einer Nummer ein Fehlertext zurückgeliefert wird. |
| siehe auch: | ERL ERR ERROR |
| ERROR | |
| Typ: | Befehl |
| Syntax: | ERROR(<num.Ausdruck>) ERROR(<Fehlernummer>) |
| Erklärung: | Erzeugt den durch den numerischen Ausdruck angegebenen Fehler. Der Befehl kann dazu benutzt werden, um innerhalb einer Fehlerbehandlungsroutine diejenigen Fehler, die man nicht selbst bearbeiten möchte, an das BASIC weiterzureichen, wodurch dann vom Omikron Basic eine entsprechende Fehlermeldung ausgegeben wird. |
| Beispiel: | ERROR 5 |
| Ergebnis: | Unerlaubter Funktionsaufruf in Zeile Nr: 0 |
| siehe auch: | ERL ERR ERR$ Fehlermeldungen des Omikron Basics |
| EXEC | |
| Typ: | Befehl |
| Syntax: | EXEC <String-Ausdruck>[,<String-Ausdruck>] EXEC <Dateiname>[,<HighLevelEvent>] |
| Erklärung: | Startet ein beliebiges ausführbares Programm als Child-Prozess. <Dateiname> muß einen FileSpecificationRecord enthalten. In dem zweiten String-Ausdruck können Sie einen HighLevelEvent an das Child-Programm schicken. Dadurch können Sie diesem z.B. gleich einen Dateinamen übergeben, so daß die Datei gleich nach dem Start von dem Child-Programm geöffnet wird. Eine genaue Beschreibung der verschiedenen Event-Typen finden Sie in "Inside Macintosh, Toolbox Essentials" und "Inside Macintosh, Interapplication Communication". |
| Beispiel: | PRINT "Welches Programm soll gestartet werden?"
R=0:FILESELECT(P$,F$,R) If R THEN EXEC F$ END |
| Ergebnis: | Wenn die FILESELECT-Box mit 'Öffnen' verlassen wurde, wird das ausgewählte Programm als Child-Prozess gestartet. |
| EXIT | |
| Typ: | Befehl |
| Syntax: | EXIT {[<num.Ausdruck>]|TO <Marke> EXIT {[<Zahl der Strukturen>]|TO <Marke> |
| Erklärung: | Mit EXIT kann eine Struktur, also eine Schleife, ein Unterprogramm oder ein SELECT
... CASE vorzeitig verlassen werden. Die Programmausführung wird direkt
hinter dem Strukturende fortgesetzt. Auf diese Weise können also zusätzliche
Abbruchbedingung in eine Schleife eingebaut werden. Für <Zahl der Strukturen>
kann in Omikron Basic 6 nur 1 oder -1 angegeben werden. 1 wirkt wie EXIT ohne Parameter,
während im zweiten Fall eine Prozedur oder Funktion verlassen wird, ohne daß
die globalen Variablen restauriert werden. Sie behalten also die ihnen zugewiesenen
lokalen Werte. Dabei wird der Stack auf seinen Anfangswert (wie nach Programmstart)
zurückgesetzt. Darum kann man mit EXIT -1 auch nur aus einem Unterprogramm zurück
ins Hauptprogramm gelangen, nicht aber aus mehrfach geschachtelten Strukturen. Befindet
sich das Programm nicht in einer Struktur, so wird es ganz beendet. Wird hinter TO noch ein Sprungziel angegeben, so wird nicht direkt am Strukturende weitergemacht, sondern erst an der angegebenen Marke. Trotzdem darf auch hier nicht mehr als eine Struktur verlassen werden. Das Sprungziel muß also in der nächsthöheren Ebene liegen. Mit EXIT TO z.B. zwei Schleifen auf einmal zu verlassen ist verboten. Ebenso dürfen Prozeduren und mehrzeilige Funktionen nicht mit EXIT TO verlassen werden. |
| Beispiel: | REPEAT INPUT "Geben Sie einen Wert ein (nur RETURN -> ENDE): ";W$ IF W$="" THEN EXIT Summe!+=VAL(W$) UNTIL 0 PRINT Summe! |
| Ergebnis: | Der Wert von Summe! wird auf dem Bildschirm ausgegeben. |
| EXP | |
| Typ: | Funktion |
| Syntax: | EXP(<num.Ausdruck>) |
| Erklärung: | Ergibt den Wert der Potenz von e (Eulersche Zahl) und dem numerischen Ausdruck. Die Umkehrfunktion ist LN. |
| Beispiel: | PRINT EXP(0) PRINT "Die Eulersche Zahl:"; EXP(1) |
| Ergebnis: | 1 Die Eulersche Zahl: 2.71828182845905 |
| siehe auch: | SQR LN LOG |
| EXPORT | |
| Typ: | Befehl |
| Syntax: | EXPORT <Statement>[[<,Statement>]] |
| Erklärung: | Mit diesem Befehl können Sie festlegen, welche Variablen und Funktionen exportiert werden sollen. Dabei werden die Namen der zu exportierenden Statements einfach durch Kommata getrennt hinter dem Befehl aufgelistet. Man benötigt EXPORT hauptsächlich für die Programmierung von Shared-Libraries und Plugins. |
| Beispiel: | COMPILER "shlb" A=3 B#=1.2345 C$="Sample String" EXPORT A,B#,C$,FNEX Square#() DEF FNEX Square#(X#)=X#*X# |
| Ergebnis: | Es werden diverse Symbole exportiert, die dann von einem anderen Programm importiert werden können. |
| siehe auch: | COMPILER "shlb"
MAC_OS EXPORT_EXIT
EXPORT_INIT EXPORT_MAIN
DEF FNEX Beispielprogramm "SharedLib.BAS" im DEMO-Ordner |
| EXPORT_EXIT | |
| Typ: | Befehl |
| Syntax: | EXPORT_EXIT <FNEX Function> |
| Erklärung: | Mit diesem Befehl können Sie festlegen, welche Function als Termination-Routine dienen soll. Diese Function wird automatisch aufgerufen, bevor das Programm beendet wird. Wichtig ist dieser Befehl vor allem für die Programmierung von Shared-Libraries und Plugins, da man in diesen Fällen keine Kontrolle darüber hat, wann die Library beendet wird. Wenn der Anwender das Hauptprogramm, das Ihre Library benutzt, beendet, entfernt der Code-Fragment-Manager auch alle Libraries, die dann nicht mehr gebraucht werden, aus dem Speicher. Vorher wird aber noch die durch EXPORT_EXIT definierte Termination-Funktion aufgerufen, so daß Ihr Programm die Möglichkeit hat, noch notwendige Arbeiten auszuführen (z.B. die geänderten Daten zu speichern). |
| Beispiel: | COMPILER "shlb" EXPORT_EXIT FNEX Library_Exit ... 'Ihr Library-Programm ... DEF FNEX Library_Exit 'Ihr Termination-Programmcode END_FN |
| Ergebnis: | Nachdem der Anwender das Hauptprogramm beendet hat, wird noch die Funktion 'FNEX Library_Exit' aufgerufen, bevor auch die Library beendet wird. |
| siehe auch: | COMPILER "shlb"
MAC_OS EXPORT
EXPORT_INIT EXPORT_MAIN
DEF FNEX Beispielprogramm "SharedLib.BAS" im DEMO-Ordner |
| EXPORT_INIT | |
| Typ: | Befehl |
| Syntax: | EXPORT_INIT <FNEX Function> |
| Erklärung: | Mit diesem Befehl können Sie festlegen, welche Function als Initialisierungs-Routine dienen soll. Diese Function wird automatisch aufgerufen, bevor das Programm das erste Mal benutzt wird. Wichtig ist dieser Befehl vor allem für die Programmierung von Shared-Libraries und Plugins, da man in diesen Fällen keine Kontrolle darüber hat, wann die Library benutzt wird. Wenn der Anwender das Hauptprogramm, das Ihre Library benutzt, startet, läd der Code-Fragment-Manager auch alle Libraries, die von dem Hauptprogramm gebraucht werden, in den Speicher. Danach wird sofort die durch EXPORT_INIT definierte Initialisierungs-Funktion aufgerufen, so daß Ihr Programm die Möglichkeit hat, alle nötigen Initialisierungen durchzuführen (z.B. Felder dimensionieren, globale Variablen initialisieren, Dateien laden). |
| Beispiel: | COMPILER "shlb" EXPORT_EXIT FNEX Library_Init ... 'Ihr Library-Programm ... DEF FNEX Library_Init 'Ihr Initialisierungs-Programmcode END_FN |
| Ergebnis: | Nachdem der Anwender das Hauptprogramm gestartet hat, wird auch die Library in den Speicher geladen und die Funktion 'FNEX Library_Init' aufgerufen. |
| siehe auch: | COMPILER "shlb"
MAC_OS EXPORT
EXPORT_EXIT EXPORT_MAIN
DEF FNEX Beispielprogramm "SharedLib.BAS" im DEMO-Ordner |
| EXPORT_MAIN | |
| Typ: | Befehl |
| Syntax: | EXPORT_MAIN <String-Constant> |
| Erklärung: | Mit diesem Befehl können Sie ein sogenanntes Main-Symbol definieren. Bei normalen
Applikationen hat dieser Befehl keine Wirkung, da in diesen Fällen das Main-Symbol
immer der Entry-Point (Transition-Vector auf den Anfang des Programmcodes) das Main-Symbol
ist. Wichtig ist dieser Befehl für Plugins, da in diesen Fällen wichtige
Informationen für das Hauptprogramm im Main-Symbol untergebracht werden müssen
(z.B. Plugin-Name, Versionsnummer ...). Was in dem Main-Symbol stehen muß,
können Sie beim Hersteller des Hauptprogramms erfragen, für das Sie ein
Plugin schreiben möchten. Achtung: Das Main-Symbol muß ein konstanter String sein, da die Information schon zur Compilierungszeit bekannt sein muß. |
| Beispiel: | COMPILER "shlb" EXPORT_MAIN "SampleLibrary, Version 1.23" ... 'Ihr Library-Programm ... |
| Ergebnis: | Nachdem der Anwender das Hauptprogramm gestartet hat, erfragt dieses Informationen über Ihr Plugin aus dem Main-Symbol. |
| siehe auch: | COMPILER "shlb" MAC_OS EXPORT EXPORT_EXIT EXPORT_INIT DEF FNEX |
| FACT | |
| Typ: | Funktion |
| Syntax: | FACT(<num.Ausdruck>) |
| Erklärung: | Berechnet die Fakultät des numerischen Ausdrucks. Da die Berechnung über die Gammafunktion (stetige Fortsetzung der Fakultät) erfolgt, können auch Fließkommazahlen als Argumente angegeben werden. Ganze negative Zahlen ergeben ein NAN (Not A Number) als Ergebnis (Polstellen). Positive Zahlen >170 ergeben INF (+unendlich). |
| Beispiel: | PRINT FACT(10) PRINT FACT(171) PRINT FACT(-1) |
| Ergebnis: | 3628800 INF NAN |
| FIELD | |
| Typ: | Befehl |
| Syntax: | FIELD [#]<num.Ausdruck>,<num.Ausdruck> [AS <String-Variable>]
[[,<num.Ausdruck> [AS <String-Variable>]]] FIELD [#]<Dateinummer>,<Satzlänge> [AS <Puffervariable>] [[,<Satzlänge> AS <Puffervariable>]] |
| Erklärung: | Definiert für die durch die Dateinummer gegebene Random-Access-Datei die Datenstruktur.
Die Datei muß zuvor mit OPEN "R" geöffnet
worden sein. Die Datensatzlänge muß den summierten Satzlängen der
FIELD- Anweisung entsprechen. Ist die Datenstruktur zu umfangreich, um in einer Zeile
definiert zu werden, so kann sie in zwei Zeilen aufgeteilt werden. Man verwendet
hierzu eine zweite FIELD-Anweisung, wobei die erste Anzahl ohne Puffervariable die
Summe aller bereits aufgezählten repräsentiert. Nach einem Lese-Vorgang durch GET enthalten die Puffervariablen den gelesenen Dateisatz. Bei einem Schreib-Vorgang mit PUT werden die Inhalte der Puffervariablen als Datensatz gespeichert. Es ist darauf zu achten, daß die Länge der Puffervariablen zu keiner Zeit verändert wird. Hierzu können die Feldinhalte mit LSET oder RSET übergeben werden. Weiterhin sind als Puffervariablen nur einfache Strings, aber keine Feldelemente zugelassen. Puffervariablen für FIELD-Anweisungen dürfen niemals lokal verwendet werden (LOCAL). Sie sollten wirklich ausschließlich der Nutzung als Dateipuffer vorbehalten bleiben. |
| Beispiel: | OPEN "R",1,FN Get_Fsspec$(0,0,"Adressen")
FIELD 1,130,40 AS Name$,40 AS Strasse$,10 AS Plz$,40 AS Ort$ WHILE NOT EOF(1) GET 1,0 LPRINT Name$:LPRINT Strasse$:LPRINT Plz$;Ort$ WEND CLOSE 1 |
| Ergebnis: | Eine Adressenliste wird auf dem Drucker ausgegeben. Es muß natürlich schon vorher eine Datei mit den Adressen angelegt worden sein. |
| siehe auch: | OPEN GET PUT |
| FILES | |
| Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht
verwenden. Hinweis: Wenn Sie Inhaltsverzeichnisse auslesen möchten, können Sie OPEN "F" verwenden. |
| FILESELECT oder FSEL_INPUT | |
| Typ: | Befehl |
| Syntax: | FILESELECT (<Stringvariable>, <Stringvariable>,
<num.Variable>) FILESELECT (<Filetyp Liste|Prompt|FileReplyRecord>,<Default-Name|Prompt|Fsspec>, <R>) FSEL_INPUT (<Stringvariable>, <Stringvariable>, <num.Variable>) FSEL_INPUT (<Filetyp Liste|Prompt|FileReplyRecord>,<Default-Name|Prompt|Fsspec>, <R>) |
| Erklärung: | Das MacOS stellt zum Laden und Speichern verschiedene Fileselect-Boxen zur Verfügung. 1. R=0 : Es wird 'StandardGetFile' aufgerufen. In der ersten Variablen kann eine Filetyp-Liste übergeben werden, die vorschreibt, welche Filetypen in der Box überhaupt angezeigt werden. Zum Beispiel würde "TEXTOBAS" bewirken, daß alle Textdateien und alle Omikron Basic Programmdateien angezeigt werden. Nach dem Verlassen der Box erhält man in R das Erfolgsflag zurück: R=1 bedeutet, daß die Box mit 'Öffnen' verlassen wurde, R=0, daß Abbruch angeklickt wurde. In der ersten Variablen wird der FileReplyRecord zurückgegeben, dessen genaue Struktur in "Inside MacIntosh, Files" nachgelesen werden kann. In der zweiten Variablen bekommt man den FileSpecificationRecord, der das ausgewählte File eindeutig bestimmt und z.B. bei OPEN übergeben werden muß. 2. R=1 : Es wird 'StandardPutFile' aufgerufen. In der ersten Variablen kann ein Prompt übergeben werden. Das ist ein Text, der über dem Namensfeld des Files angezeigt wird. In der zweiten Variablen kann der gewünschte Filename übergeben werden. Nach dem Verlassen enthält R wieder das Erfolgsflag, die erste Variable den FileReplyRecord und die Zweite den FileSpecificationRecord. Ab System 8.5 hat Apple neue Fileselect-Boxen eingeführt, die sogenannten File-Navigation-Services. Falls dieser Betribssystemteil vorhanden ist, wird er von FILESELECT automatisch anstelle der alten Funktionen 'StandardGetFile' und 'StandardPutFile' benutzt. Wenn die File-Navigation-Services vorhanden sind, können Sie beim Öffnen von Dateien im zweiten Parameter noch einen Prompt übergben. Außerdem können in <R> zusätzliche Werte übergeben werden: R=2 : Es wird "NavChooseFile" aufgerufen. Das ist eine Dateiauswahlbox, die kein Show-Menü enthält und normalerweise zur Auswahl einer einzelnen Datei dient. R=3 : Es wird "NavChooseVolume" aufgerufen. Diese Dialogbox können Sie verwenden, um den Anwender aufzufordern, ein Volume (Laufwerk) auszuwählen. R=4 : Es wird "NavChooseFolder" aufgerufen. Damit kann ein Ordner oder ein Volume ausgewählt werden. R=5 : Es wird "NavChooseObject" aufgerufen. Wenn der Anwender die Möglichkeit haben soll, ein beliebiges Objekt (Volume, Ordner oder Datei) auszuwählen, ist dies die geeignete Dialogbox. R=6 : Es wird "NavNewFolder" aufgerufen. Diese Dialogbox dient dazu, einen neuen Ordner anzulegen. Achtung: Die File-Navigation-Services funktionieren nicht korrekt, wenn Ihr Programm keine Signatur hat. Verwenden Sie also das Compiler-Steuerwort COMPILER "SIGNATURE SIGN" um Ihrem Programm eine Signatur zu geben. Der <FileReplyRecord> hat einen geänderden Aufbau, wenn die File-Navigation-Services benutzt werden. Die genaue Struktur dieses Datentyps ist in "Inside Macintosh, Programming With Navigation Services" erläutert. Hinweis: Es wird in jedem Fall eine nicht verschiebbare und in der Größe nicht veränderbare Fileselect-Box erzeugt. Wenn Sie erweiterte Möglichkeiten wünschen, können Sie die EasyGem Library ab Version 3.10 verwenden. |
| Beispiel: | 'Es muß zuvor die Extension Library
vom Editor aus geladen worden sein. Extension_Init REPEAT P$="":R=0 FILESELECT(P$,F$,R) IF R THEN PRINT "Die gewählte Datei ist: ";FN Get_Filename$(F$) PRINT "Der Datei-Typ ist: ";FN Get_File_Type(F$) PRINT "Der Datei-Creator ist: ";FN Get_File_Creator(F$) PRINT "Die VolumeReferenceNumber ist: ";FN Get_Vrefnum(F$) PRINT "Die DirectoryIdentificationNumber ist: ";FN Get_Dirid(F$) ENDIF UNTIL R=0 Entension_Exit |
| Ergebnis: | Das Programm fordert Sie in einer Fileselect-Box auf,
eine Datei auszuwählen und stellt den Namen, den Datei-Typ, die VolumeReferenceNumber
und die DirectoryIdentificationNumber auf dem Bildschirm dar. Das Programm wird beendet, sobald man die Fileselect-Box mit 'Abbruch' verläßt. |
| siehe auch: | Programm "FILESELECT.BAS" im DEMO-Ordner |
| FILL | |
| Typ: | Befehl |
| Syntax: | FILL <num.Ausdruck>,<num.Ausdruck>,<num.Ausdruck> FILL <X>,<Y>,<Umriß-Farbe> |
| Erklärung: | Füllt eine Fläche ab der durch <X> und <Y> gegebenen Koordinate.
Als Flächenrand gilt jeder Punkt, der die Umriß-Farbe hat. Bei <Umriß-Farbe>=-1
gilt jeder Punkt als Flächenrand, der eine andere Farbe hat, als der an der
Koordinate (<X>,<Y>). Gibt man für <X> = -1 an, so werden
alle Gebiete gefüllt, die von der Umriß-Farbe eingeschlossen sind, sowie
auch einzelne Punkte und Linien in der Umriß-Farbe. Wird auch <Y> = -1
gesetzt, so wird der Füllvorgang invertiert. Das heißt, es wird jetzt
der Bereich außerhalb der durch <Umriß-Farbe> eingeschlossenen
Gebiete gefüllt. Gefüllt wird mit der durch FILL COLOR definierten Farbe und dem durch FILL STYLE definierten Füllmuster. Die Befehle PBOX, PRBOX, PCIRCLE, PELLIPSE und PPOLYGON füllen eine Fläche wesentlich schneller als der entsprechende Zeichenbefehl mit anschließendem FILL und sind deshalb nach Möglichkeit vorzuziehen. Ist mittels CLIP ein Bildfenster definiert, wird außerhalb dieses Bereiches nicht gefüllt. |
| Beispiel: | LINE COLOR =1:LINE WIDTH =5:LINE STYLE =1 CIRCLE 100,100,80 CIRCLE 200,100,80 CIRCLE 150,180,80 FILL COLOR =2:FILL 80,80,-1 FILL COLOR =3:FILL 220,80,-1 FILL COLOR =4:FILL 150,200,-1 FILL COLOR =6:FILL 150,80,-1 FILL COLOR =7:FILL 130,150,-1 FILL COLOR =5:FILL 170,150,-1 FILL COLOR =0:FILL 150,120,-1 PRINT "Ende mit Taste";:A$=INPUT$(1) END |
| Ergebnis: | Mit den drei Grundfarben wird die additive Farbmischung dargestellt. |
| FILL COLOR | |
| Typ: | Befehl |
| Syntax: | FILL COLOR=<num.Ausdruck> |
| Erklärung: | Der numerische Wert ist ein Index in die interne Farbtabelle (CLUT) des Omikron Basics. Die tatsächlichen Rot- Grün- und Blauanteile können Sie der Beschreibung über die 'Interne Farbtabelle des Omikron Basics' im Anhang entnehmen |
| Beispiel: | |
| Ergebnis: | |
| siehe auch: | FILL FILL PATTERN FILL STYLE PALETTE Interne Farbtabelle des Omikron Basics |
| FILL PATTERN | |
| Typ: | Befehl |
| Syntax: | FILL PATTERN = <num.Ausdruck>,<num.Ausdruck> FILL PATTERN =<Füllmuster>,<Füllmuster> |
| Erklärung: | In den numerischen Ausdrücken müssen Long-Integer-Zahlen übergeben
werden. Aus den zusammengenommen 64 Bit der beiden Zahlen wird ein 8 x 8 Bit-Muster
erzeugt, das als Füllmuster für Flächen dient, wenn FILL STYLE= 0,0
eingestellt ist. Jedes gesetzte Bit wird gezeichnet, jedes gelöschte bleibt
frei. Tip: Weil führende Nullen vom Editor nicht dargestellt werden und Binärzahlen, bei denen das höchste Bit gesetzt ist, als negative Zahlen interpretiert werden, ist es manchmal schwierig, festzustellen, welche Bits im Muster gesetzt sind und welche nicht. Man kann dieses Problem dadurch vermeiden, daß man Strings anstelle von Zahlen verwendet. Hinweis: Farbige Füllmuster können auf diese Weise nicht definiert werden. Sie können sich aber mit einem Resource Editor (z.B. ResEdit von Apple) eigene, auch farbige Füllmuster erstellen. |
| Beispiel: | FILL PATTERN= %00110011110011000011001111001100, %00110011110011000011001111001100 FILL STYLE =0,0 PBOX 100,100, 200,150 'Using strings for defining the pattern. FILL PATTERN= VAL("%11101110111011101110111011101110"), VAL("%10111011101110111011101110111011") PBOX 100,300, 200,150 |
| Ergebnis: | Es werden zwei gerasterte Rechtecke gezeichnet. |
| siehe auch: | FILL FILL COLOR FILL STYLE LINE PATTERN |
| FILL STYLE | |
| Typ: | Befehl |
| Syntax: | FILL STYLE=<num.Ausdruck>,<num.Ausdruck> FILL STYLE=<Füllart>,<Füllstil> |
| Erklärung: | Wählt den bei Füll-Befehlen verwendeten Füllstil. Mit <Füllart> kann gewählt werden: 0: nicht Füllen 1: komplett Füllen 2: Punktmuster 3: Strichmuster 4: Farbige Füllmuster Bei FILL STYLE= 0,0 wird das mit FILL PATTERN definierte Füllmuster verwendet. In der Füllstiltabelle in Kapitel 7 finden Sie eine Übersicht über alle Werte, die hier übergeben werden können. Hinweis: Die einzelnen Füllstilgruppen sind jeweils in einer Reihe zusammengefasst. Wenn Sie also eine Nummer übergeben, die größer ist als die höchste Nummer in dieser Reihe, erhalten Sie einen Füllstil aus der nächsten Gruppe. Zum Beispiel ergibt FILL STYLE = 2,25 das gleiche Ergebnis wie FILL STYLE = 3,1. |
| siehe auch: | FILL FILL COLOR FILL PATTERN Füllstiltabelle |
| FIX | |
| Typ: | Befehl |
| Syntax: | FIX(<num.Ausdruck>) |
| Erklärung: | Rundet den numerischen Wert auf eine ganze Zahl ab. Im Gegensatz zu INT wird auch im negativen Bereich abgerundet. Das Gegenstück zu FIX ist FRAC. |
| Beispiel: | PRINT FIX( PI ) PRINT FIX(-12.5), INT(-12.5) |
| Ergebnis: | 3 -12 -13 |
| siehe auch: | INT FRAC |
|
Support | Bestellen | Start | Home: http://www.berkhan.de |
|
© 1997-2001 |