|
|
|
| LSET | |
| Typ: | Befehl |
| Syntax: | LSET <String-Variable>=<String-Ausdruck> |
| Erklärung: | Der String-Ausdruck wird linksbündig in die String-Variable eingesetzt, ohne daß deren Länge verändert wird. Gegebenenfalls wird der String-Ausdruck hinten abgeschnitten. Dieser Befehl wird besonders bei Zuweisungen an Puffervariablen (siehe FIELD) benutzt. |
| Beispiel: | A$= SPACE$(20) LSET A$="Omikron" PRINT "*";A$;"*" |
| Ergebnis: | *Omikron * |
| siehe auch: | RSET FIELD LEFT$ |
| MAC_OS | |
| Typ: | Befehl |
| Syntax: | MAC_OS [<num.Variable>][[,<num.Variable>]] [;num.Konstante]; {<String-Konstante>|<num.Konstante>},
<String-Konstante> [[,<num.Ausdruck>]] MAC_OS [<Rückgabe-Variable>][[,<Rückgabe-Variable>]] [;Flags]; {<Import-Library-Name>|<Import-Library-Nummer>}, <Funktions-Name> [[,<Parameter>]] |
| Erklärung: | Dies ist ein Universalbefehl, mit dem Funktionen importiert werden können. Er
dient hauptsächlich dazu, Aufrufe an das MacOS zu machen, kann aber auch dazu
benutzt werden, Funktionen aus Shared-Libraries zu importieren. An die <Rückgabe-Variablen>
kann ein Wert zurückgegeben werden. Wieviele und welcher Typ hier angegeben
werden müssen, hängt von der zu importierenden Funktion ab. Wenn die Funktion
nichts zurückgibt, können die Variablen auch ganz weggelassen werden. Ein
Semikolon muß jedoch stehen bleiben. In <Flags> können Sie optional einige Flags übergeben und dadurch den Befehl modifizieren. Zur Zeit sind folgende Bits belegt: Bit 0 : Der Import wird als "weak" markiert. Das bedeutet, daß Ihr Programm auch dann gestartet wird, wenn der Code-Fragment-Manager die gewünschte Funktion gar nicht findet (unresolved import). In solchen Fällen müssen Sie daher selbst dafür Sorge tragen, daß Ihr Programm auf keinen Fall Funktionen aufruft, die nicht vorhanden sind. Das können Sie dadurch erreichen, daß Sie den Gestalt-Manager nach den vorhandenen Betriebssystemteilen fragen (InsideMacintosh, Operating Systems Utilities) oder zunächst den Transition-Vector der Funktion untersuchen, indem Sie die Funktion mit Flags=3 aufrufen. Dabei muß eine Long-Integer-Variable als Rückgabeparameter angegeben werden. Eventuelle Parameter brauchen Sie bei diesem Test nicht zu übergeben. Wenn der zurückgelieferte Wert null ist, ist die Funktion nicht vorhanden und darf auf keinen Fall aufgerufen werden. Bit 1 : Es wird keine Funktion aufgerufen, sondern es werden nur Daten importiert. Sie erhalten einen Wert, wie ihn auch der Adressoperator "&" zurückliefern würde. Wenn die importierten Daten von einer in Omikron Basic geschriebenen Library exportiert werden, können Sie auf diese mit dem Dereferenzoperator "*" zugreifen, andernfalls müssen Sie aus der Dokumentation zu der betreffenden Library ermitteln, ob der gelieferte Wert ein Datum, ein Pointer, ein Handle oder etwas anderes ist. Der <Import-Library-Name> gibt an, aus welcher Shared-Library die gewünschte Funktion importiert werden soll. Statt der String-Konstanten kann an dieser Stelle auch eine numerische Konstante von 1 bis 8 stehen. Dann werden die folgenden vordefinierten Strings eingesetzt: 1: "InterfaceLib" 2: "MathLib" 3: "QuickTimeLib" 4: "SpeechLib" 5: "QuickDrawGXLib" 6: "AppleScriptLib" 7: "ObjectSupportLib" 8: "StdCLib" <Funktions-Name> ist der Name der Funktion, die aufgerufen werden soll. Dabei ist auf Groß- und Kleinschreibung zu achten. Wichtig: <Flags>, <Import-Library-Name> oder <Import-Library-Nummer> und <Funktions-Name> müssen Konstanten sein, da sie schon zur Compilierungszeit bekannt sein müssen. Also keine Variablen angeben, sondern Klartext, wie bei den vordefinierten Einträgen. <Parameter1>,<Parameter2>, ... sind numerische Parameter, die an die Funktion übergeben werden. Strings können nicht direkt übergeben werden. Stattdessen übergibt man einen Pointer auf den String. Dabei ist darauf zu achten, ob die Funktion einen Pascal-String oder einen C-String erwartet. Der String muß also gegebenenfalls mit einem Längenbyte versehen bzw. nullterminiert werden. |
| Beispiel: | Siehe die Programme Import.BAS und SpeekText.BAS im Ordner DEMO |
| Ergebnis: | |
| siehe auch: | DEF FNEX |
| MAT | |
| Typ: | Befehl |
| Syntax: | MAT <Feldvariable>{+|-|*|/}<Feldvariable> MAT <Feldvariable>=<Feldvariable>[ {+|-|*|/}<Feldvariable> ] 1: MAT <Feldvariable>=1 2: MAT <Feldvariable>=<Feldvariable> 3: MAT <Feldvariable>{+|-|*|/}<num.Ausdruck> 4: MAT <Feldvariable>=<Feldvariable>{+|-|*|/}<Feldvariable> |
| Erklärung: | Zunächst ein paar grundsätzliche Dinge: Matrixbefehle funktionieren nur mit zweidimensionalen Fließkommafeldern. Dabei spielt es keine Rolle, ob Sie einfache oder doppelte Genauigkeit verwenden. Die Größe der Matrizen wird durch die angegebenen Indices bestimmt. Die Zählung der Elemente beginnt wie immer bei Null. Matrix!(2,2) meint also eine dreireihige quadratische Matrix. Matrix!(N,M) ist entsprechend eine (N+1,M+1)-Matrix. Wie immer bei der Verwendung von Feldern kann der Index auch weggelassen werden, was genauso behandelt wird, als hätte man den höchsten Index angegeben. Wurde das Feld Matrix! also auf (3,3) dimensioniert, dann ist Matrix!(,) eine vierreihige quadratische Matrix. Bei der Verwendung des Befehls MAT sind vier verschiedene Syntaxen zu unterscheiden: 1. Erzeugen einer Einheitsmatrix. Der quadratischen Matrix wird die Einheitsmatrix zugewiesen. 2. Die Matrixzuweisung: Es werden alle Elemente der rechten Seite der linken zugewiesen. Hinweis: Dieser Befehl funktioniert mit beliebigen Feldern, die nicht die speziellen Anforderungen von Matrizen im Sinne von Omikron Basic genügen. Es wird einfach alles von rechts nach links kopiert, bis zum angegebenen Element. Eine Typkonvertierung ist dabei natürlich nicht möglich. 3. Skalare Matrix-Operationen: Je nach Operator wird - zu jedem Element ein Wert addiert - von jedem Element ein Wert subtrahiert - jedes Element mit einem Wert multipliziert - jedes Element durch einen Wert dividiert 4. Vektorielle Matrix-Operationen: Je nach Operator werden - zwei Matrizen addiert (elementweise) - zwei Matrizen subtrahiert (elementweise) - zwei Matrizen multipliziert - zwei Matrizen dividiert (mit der Inversen multipliziert) Bei der Matrizen-Multiplikation bzw. Division ist auf eine geeignete Wahl der Matrix-Dimensionen zu achten. Es gilt: A(P,Q)=B(P,N)*C(N,Q). Bei der Division muß zusätzlich die Matrix C quadratisch sein. |
| Beispiel: | N=3 DIM Matrix!(N,N),Mat_A!(N,N),Mat_B!(N,N),Mat_C!(N,N) DIM Array(10),Feld(10) MAT Matrix!(,)=1 MAT Mat_A!(1,1)+2 MAT Mat_C!(,)=Mat_B!(,)+Mat_A!(,) MAT Matrix!(1,2)=Mat_A!(1,2) MAT Feld(5)=Array(6):'Der kleinere Index gilt |
| Ergebnis: | |
| siehe auch: | MAT CLEAR MAT INV |
| MAT CLEAR | |
| Typ: | Befehl |
| Syntax: | MAT CLEAR <Feldvariable> |
| Erklärung: | MAT CLEAR löscht ein beliebiges Feld bis zum angegebenen maximalen Index. Wird kein Index angegeben, so wird das gesamte Feld gelöscht. Dieser Befehl ist nicht auf Fließkommafelder beschränkt, sondern kann für beliebige Datentypen und beliebige Dimensionen benutzt werden. |
| Beispiel: | N=3 DIM Matrix!(N,N) DIM Array(10) MAT CLEAR Matrix!(,) MAT CLEAR Array(5) |
| Ergebnis: | Das Feld Matrix!(,) wird vollständig gelöscht, das Feld Array() nur bis zum Element 5. |
| siehe auch: | MAT |
| MAT INV | |
| Typ: | Befehl |
| Syntax: | MAT <Feldvariable>= INV <Feldvariable> |
| Erklärung: | Berechnet die inverse Matrix. Beide Matrizen müssen quadratisch sein. Existiert die inverse Matrix nicht (Determinate = 0), so wird eine Fehlermeldung erzeugt. |
| Beispiel: | N=3 DIM Mat_A!(N,N),Mat_B!(N,N) MAT Mat_A!(,)=1 MAT Mat_B!(,)= INV Mat_A!(,) |
| Ergebnis: | Es wird die Inverse der Einheitsmatrix berechnet. Das ergibt natürlich wieder die Einheitsmatrix. |
| siehe auch: | MAT |
| MAX | |
| Typ: | Funktion |
| Syntax: | MAX (<Ausdruck>,<Ausdruck>) |
| Erklärung: | Gibt den größeren der beiden Ausdrücke als Funktionswert. Vergleiche zwischen numerischen Ausdrücken und String-Ausdrücken sind unzuläsig. |
| Beispiel: | PRINT MAX(1,4), MAX(-6, PI) |
| Ergebnis: | 4 3.14159265358979 |
| siehe auch: | MIN |
| MEMORY | |
| Typ: | Funktion |
| Syntax: | MEMORY(<num.Ausdruck>) MEMORY(<Blocklänge|-1>) |
| Erklärung: | Die MEMORY-Funktion reserviert einen nicht verschiebbaren Speicherblock im Application-Heap
ihres Programms. Der Aufruf mit "-1" als Parameter liefert die Länge
des größten freien Blocks zurück. Ansonsten wird die Speicheradresse
zurückgegeben, ab der der verlangte Speicherblock zur Verfügung steht.
Um genügend große Mengen Speicher mit MEMORY reservieren zu können,
muß der Application-Heap ausreichend groß gewählt werden (siehe
COMPILER "PRE_SIZE ...")
. Steht nicht genug Speicher zur Verfügung, so erscheint eine Fehlermeldung
des Memory-Managers. Speicherblöcke, die mit MEMORY angelegt wurden, können
mit FRE() wieder freigegeben werden. Hinweis: Sie sollten immer etwas Speicher frei lassen (mindestens 512K), da diverse Omikron Basic Befehle bzw. MacOS-Funktionen Speicher im Application-Heap benötigen. X-Note: Unter MacOS X liefert MEMORY(-1) stets sehr große Werte zurück, da jedes Programm über 4 GB virtuellen Speicher verfügt. Aus dem gleichen Grunde kann ein mit MEMORY angeforderter Speicherblock auch eine negative Adresse haben. |
| Beispiel: | Free_Mem=MEMORY(-1) IF Free_Mem>40000 THEN Bild_Puffer=MEMORY(32000) ELSE PRINT "Zu wenig Speicher frei!" ENDIF |
| Ergebnis: | Es wird zunächst nachgefragt, wie groß der größte zusammenhängende und freie Speicherblock ist. Danach wird ein Block von 32000 Bytes als Bild_Puffer reserviert, wenn noch mehr als 40000 Byte frei sind. Ansonsten wird ein Fehler gemeldet. |
| siehe auch: | FRE |
| MEMORY_BLOCK | |
| Typ: | Befehl |
| Syntax: | MEMORY_BLOCK <Zwei Ziffern>, <num.Ausdruck>, <num.Variable>
MEMORY_BLOCK <Name>, <Größe>, <Adressrückgabevariable> |
| Erklärung: | Der MEMORY_BLOCK-Befehl erzeugt schon bei der Eingabe in Ihr Programm einen Speicherblock
der angegebenen Größe, der in Ihrem Programm fortan erhalten bleibt. Dieser
reservierte Speicherblock ist fortan Bestandteil Ihres Programms und wird dementsprechend
auch vom Editor mit abgespeichert bzw. geladen. Dieser Speicherblock wird identifiziert
durch die beiden Ziffern direkt hinter dem MEMORY_BLOCK Befehl. Wird ein weiterer
MEMORY_BLOCK mit gleichen zwei Ziffern erzeugt, der eine geringere Größe
als der erste hat, so wird der erste dabei zerstört. Da der Speicherblock also durch die zwei Ziffern gekennzeichnet ist, sind maximal 100 Speicherblöcke (00-99) in einem Programm möglich. Achtung: Es müssen immmer GENAU zwei Ziffern sein (z.B. 03, 00 oder 23). Die Größe des Blocks muß eine gerade Zahl sein und die Länge darf 32 MB nicht übersteigen. Hiweis: Um größere Memory-Blöcke anzulegen, muß für das Programm im Editor genug Speicher reserviert sein. Verwenden Sie dazu den Dialog Modus/Editoreinstellungen ... . Der MEMORY_BLOCK kann vom Editor aus mit dem Menüpunkt 'MEMORY_BLOCK zuladen' im Bearbeiten-Menü mit Daten gefüllt werden. Die Daten können z.B. ein Bild enthalten, das Sie in Ihrem Programm verwenden wollen oder aber auch ein kurzes Maschinenspracheprogramm, das eine spezielle Aufgabe besonders schnell erledigt. Erst wenn Ihr Programm nach erfolgter Compilierung über den MEMORY_BLOCK-Befehl läuft, wird die Adresse des Speicherblocks in die Rückgabevariable geschrieben. Da vor dem eigentlichen Programmstart die absolute Adresse des MEMORY_BLOCK's also nicht bekannt ist, sollten Maschinenspracheprogramme in durch MEMORY_BLOCK angelegten Speicherbereichen keine absoluten Adressen verwenden! Achtung: In einen MEMORY_BLOCK können sie zur Laufzeit Ihres Programms nicht schreiben, da er sich im Code-Fragment befindet und dadurch schreibgeschützt ist. Ein MEMORY_BLOCK kann nur vom Editor aus mit Daten gefüllt werden. |
| Beispiel: | 'Vor Programmstart muß ein geeignetes Titelbild
vom Editor aus in den MEMORY_BLOCK geladen werden. MEMORY_BLOCK 00,32000,Titelbild BITBLT Titelbild,0,0,W_PIXEL,H_PIXEL WAIT 3 |
| Ergebnis: | Sobald das Programm über den MEMORY_BLOCK Befehl läuft, steht in der Variablen 'Titelbild' die physikalische Adresse des Bildes. Wenn das Bild über ein geeignetes Format verfügt (6 Byte Header wie bei BITBLT beschrieben), kann es danach auf dem Bildschirm dargestellt werden. (z.B. als Hintergrund für ein Spiel) |
| siehe auch: | MEMORY MEMORY_MOVE |
| MEMORY_MOVE[B] | |
| Typ: | Befehl |
| Syntax: | MEMORY_MOVE[B] <Quelladresse>, <Länge>TO <Zieladresse> |
| Erklärung: | Das Kopieren von Speicherbereichen kann man am besten mit dem MEMORY_MOVE Befehl
bewerkstelligen. Das Speicherstück, das bei <Quelladresse> beginnt und
<Länge> lang ist, wird an die <Zieladresse> kopiert. MEMORY_MOVEB
hat die gleiche Funktion wie MEMORY_MOVE und wird nur aus Kompatibilitätsgründen
unterstützt. Hinweis: Die Kopiergeschwindigkeit ist am größten, wenn Quell- und Zieladresse auf einer 8-Byte-Grenze liegen. |
| Beispiel: | Puffer=MEMORY(20000) MEMORY_MOVE Puffer+15000,5000 TO Puffer |
| Ergebnis: | Es werden 5000 Bytes vom hinteren Ende des Puffers an den Anfang kopiert. |
| siehe auch: | MEMORY MEMORY_BLOCK |
| MERGE | |
| Erklärung: | hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| MID$ | |
| Typ: | Befehl |
| Syntax: | MID$(<String-Variable>,<num.Ausdruck>,<num. Ausdruck>)=
<String-Ausdruck> MID$(<String-Variable>,<Stelle>,<Anzahl>)=<String-Ausdruck> |
| Erklärung: | Weist der String-Variablen ab der angegebenen Stelle den String-Ausdruck zu und zwar maximal die angegebene Anzahl Zeichen. Dabei wird die Länge der String-Variablen nicht verändert. |
| Beispiel: | Programm$="Omikron Basic" MID$(Programm$,8,1)="-" PRINT Programm$ |
| Ergebnis: | Omikron-Basic |
| siehe auch: | MID$ als Funktion RIGHT$ LEFT$ |
| MID$ | |
| Typ: | Funktion |
| Syntax: | MID$(<String-Ausdruck,<num.Ausdruck>[,<num.Ausdruck>])
MID$(<String-Ausdruck>,<Stelle>[,<Länge>]) |
| Erklärung: | Ergibt einen Teilstring des String-Ausdrucks beginnend ab der gegebenen Stelle mit der gegebenen Länge. Ist <Länge> nicht gegeben oder größer als der verbleibende Teil des String-Ausdrucks, so endet der Teilstring am Ende des String-Ausdrucks. |
| Beispiel: | A$="Omikron Basic" PRINT MID$(A$,6,7) PRINT MID$("abcdefg",4) |
| Ergebnis: | on Basi defg |
| siehe auch: | MID$ als Befehl LEFT$ RIGHT$ |
| MIN | |
| Typ: | Funktion |
| Syntax: | MIN (<Ausdruck>,<Ausdruck>) |
| Erklärung: | Gibt den kleineren der beiden Ausdrüe als Funktionswert. Vergleiche zwischen numerischen und String-Ausdrücken sind unzulässig. |
| Beispiel: | PRINT MIN(-6,0), MIN(7,7.1) |
| Ergebnis: | -6 7 |
| siehe auch: | MAX |
| MIRROR$ | |
| Typ: | Funktion |
| Syntax: | MIRROR$(<String-Ausdruck>) |
| Erklärung: | Spiegelt den gegebenen String-Ausdruck. Das erste Zeichen wird mit dem letzten vertauscht, das zweite mit dem vorletzten etc. |
| Beispiel: | PRINT MIRROR$("12340") |
| Ergebnis: | 04321 |
| MKD$ | |
| Typ: | Funktion |
| Syntax: | MKD$(<num.Ausdruck>) |
| Erklärung: | Wandelt den numerischen Ausdruck in eine Double-Float-Zahl um, und diese in einen
8 Zeichen langen String. MKD$ ist die Umkehrfunktion zu CVD. |
| Beispiel: | Zahl$=MKD$( PI ) FOR I=1 TO 8 PRINT HEX$(ASC(MID$(Zahl$,I,1))); NEXT I |
| Ergebnis: | $40 $9 $21 $FB $54 $4 $2D $18 |
| siehe auch: | CVD MKI$ MKIL$ MKS$ |
| MKDIR | |
| Typ: | Befehl |
| Syntax: | MKDIR <String-Ausdruck> |
| Erklärung: | Legt einen neuen Ordner an. In <String-Ausdruck> muß ein FileSpecificationRecord übergeben werden. |
| Beispiel: | MKDIR FN Get_Fsspec$(0,0,"Macintosh HD:OmikronBasic:Programme:") |
| Ergebnis: | Legt einen neuen Ordner mit dem Namen Programme im Ordner OmikronBasic an. |
| siehe auch: | RMDIR CHDIR |
| MKI$ | |
| Typ: | Funktion |
| Syntax: | MKI$(<num.Ausdruck>) |
| Erklärung: | Wandelt den numerischen Ausdruck in eine Short-Integert-Zahl um, und diese in einen
2 Zeichen langen String. MKI$ ist die Umkehrfunktion zu CVI. |
| Beispiel: | PRINT MKI$($5445)+MKI$($5354) |
| Ergebnis: | TEST |
| siehe auch: | CVI MKIL$ MKS$ MKD$ |
| MKIL$ | |
| Typ: | Funktion |
| Syntax: | MKIL$(<num.Ausdruck>) |
| Erklärung: | Wandelt den numerischen Ausdruck in eine Long-Integer-Zahl um, und diese in einen
4 Zeichen langen String. MKIL$ ist die Umkehrfunktion zu CVIL. |
| Beispiel: | PRINT MKIL$($57656C74) |
| Ergebnis: | Welt |
| siehe auch: | CVIL MKI$ MKS$ MKD$ |
| MKS$ | |
| Typ: | Funktion |
| Syntax: | MKS$(<num.Ausdruck>) |
| Erklärung: | Wandelt den numerischen Ausdruck in eine Single-Float-Zahl um, und diese in einen
4 Zeichen langen String. MKS$ ist die Umkehrfunktion zu CVS. |
| Beispiel: | Zahl$=MKS$( PI ) FOR I=1 TO 4 PRINT HEX$(ASC(MID$(Zahl$,I,1))); NEXT I |
| Ergebnis: | $40 $49 $F $DA |
| siehe auch: | CVS MKD$ MKI$ MKIL$ |
| MOD | |
| Typ: | Operator |
| Syntax: | <num.Ausdruck>MOD<num.Ausdruck> |
| Erklärung: | Ermittelt den Rest einer Division des ersten numerischen Ausdrucks durch den zweiten. Der Teiler muß natürlich ungleich 0 sein. Das Vorzeichen entspricht dem des ersten Ausdrucks. |
| Beispiel: | PRINT 10 MOD 3,-20 MOD 7,15 MOD -6 |
| Ergebnis: | 1 -6 3 |
| siehe auch: | Mathematische Operatoren |
| MODE | |
| Typ: | Befehl |
| Syntax: | MODE <String-Ausdruck> MODE <Länderkennung> |
| Erklärung: |
Stellt den länderspezifischen Modus ein. "D" für Deutschland, Die Ländereinstellung beeinflußt die Umwandlung von Groß- in Kleinbuchstaben und umgekehrt mit LOWER$ und UPPER$. |
| Beispiel: | MODE "D" PRINT UPPER$(äöü) MODE "USA" PRINT LOWER$(ÄÖÜ) |
| Ergebnis: | ÄÖÜ ÄÖÜ |
| MODE= | |
| Typ: | Befehl |
| Syntax: | MODE= <num. Ausdruck> MODE= <Zeichenmodus> |
| Erklärung: | Stellt den Zeichenmodus für alle Graphikbefehle ein. Mögliche Einstellungen sind: 1: deckend 2: transparent 3: XOR 4: revers transparent |
| MODE LPRINT | |
| Erklärung: | hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| MOUSEBUT | |
| Typ: | Funktion |
| Syntax: | MOUSEBUT |
| Erklärung: | Gibt den Zustand der Maustaste an und berücksichtigt dabei auch den Zustand
der Modifier-Keys. Dementsprechend liefert die Funktion Werte zwischen 0 und 32 zurück
wie z.B.: MOUSEBUT = 1 wenn nur Maustaste gedrückt MOUSEBUT = 2 wenn Maustaste und Befehls-Taste gedrückt MOUSEBUT = 3 wenn Maustaste und Shift-Taste gedrückt usw. Der Funktionswert von MOUSEBUT ergibt sich also aus dem Wert der Modifier-Keys (siehe Beschreibung bei INKEY$) + 1 für die gedrückte Maustaste. Hinweis bei Verwendung von Mäusen mit zwei oder drei Tasten: Definieren Sie Ihre Mehrtastenmaus so, daß die zweite Maustaste wie [Cmd]+[Return] und die dritte wie [Alt]+[Return] wirkt. Dann erhalten Sie in MOUSEBUT Werte zwischen 0 (kein Taste gedrückt) und 7 (alle drei Tasten gedrückt) zurück. Natürlich können Sie auch die mittlere Taste mit einem Doppelklick belegen und die rechte als zweite Maustaste verwenden oder jede beliebige andere Kombination. |
| Beispiel: | PRINT "Ende mit beliebiger Taste" REPEAT PRINT @(2,0);MOUSEBUT;SPACE$(5); UNTIL LEN(INKEY$) |
| Ergebnis: | Das Programm gibt in der dritten Zeile den jeweiligen Zustand der Maustaste und der Modifier-Keys aus. |
| siehe auch: | MOUSEX MOUSEY |
| MOUSEOFF | |
| Typ: | Befehl |
| Syntax: | MOUSEOFF |
| Erklärung: | Schaltet die Maus ab (Der Mauszeiger ist nicht mehr sichtbar). |
| siehe auch: | MOUSEON |
| MOUSEON | |
| Typ: | Befehl |
| Syntax: | MOUSEON |
| Erklärung: | Schaltet die Maus an (Der Mauszeiger ist wieder sichtbar). |
| siehe auch: | MOUSEOFF |
| MOUSEX | |
| Typ: | Funktion |
| Syntax: | MOUSEX |
| Erklärung: | Ergibt die X-Koordinate der Mausposition. Dabei ist es unerheblich, ob die Maus gerade angezeigt wird oder nicht. |
| Beispiel: | PRINT "Ende mit beliebiger Taste" REPEAT PRINT @(2,0);MOUSEX;SPACE$(5); PRINT @(3,0);MOUSEY;SPACE$(5); UNTIL LEN(INKEY$) |
| Ergebnis: | Das Programm gibt in der dritten Zeile die aktuelle X-Position und in der vierten Zeile die aktuelle Y-Position des Mauszeigers aus |
| siehe auch: | MOUSEY MOUSEBUT |
| MOUSEY | |
| Typ: | Funktion |
| Syntax: | MOUSEY |
| Erklärung: | Ergibt die Y-Koordinate der Mausposition. Dabei ist es unerheblich, ob die Maus gerade angezeigt wird oder nicht. |
| Beispiel: | PRINT "Ende mit beliebiger Taste" REPEAT PRINT @(2,0);MOUSEX;SPACE$(5); PRINT @(3,0);MOUSEY;SPACE$(5); UNTIL LEN(INKEY$) |
| Ergebnis: | Das Programm gibt in der dritten Zeile die aktuelle X-Position und in der vierten Zeile die aktuelle Y-Position des Mauszeigers aus |
| siehe auch: | MOUSEX MOUSEBUT |
| NAME ... AS | |
| Typ: | Befehl |
| Syntax: | NAME <String-Ausdruck>AS <String-Ausdruck> NAME <Dateiname/alt>AS <Dateiname/neu> |
| Erklärung: | <Dateiname/alt> muß einen FileSpecificationRecord enthalten. <Dateiname/neu> darf nur den neuen Namen enthalten. Wenn eine Directory umbenannt werden soll, müssen die Namen mit einem Doppelpunkt abgeschlossen werden. |
| Beispiel: | NAME FN Get_Fsspec$(0,0,"AlterName") AS "NeuerName"
NAME FN Get_Fsspec$(0,0,"AlterOrdner:") AS "NeuerOrner:" |
| Ergebnis: | Die Datei AlterName wird in NeuerName umbenannt. Der Ordner AlterOrdner wird in NeuerOrdner umbenannt. |
| siehe auch: | COPY BACKUP |
| NAND | |
| Typ: | Operator |
| Syntax: | <num.Ausdruck>NAND<num.Ausdruck> |
| Erklärung: | Verknüpft die beiden numerischen Ausdrücke logisch "nicht-und (NOT AND)". |
| Beispiel: | PRINT BIN$((%1010 NAND %1100)+%10000) |
| Ergebnis: | %111 |
| siehe auch: | AND OR NOR XOR IMP EQV NOT |
| NDC | |
| Erklärung: | hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| NEW | |
| Erklärung: | hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| NEXT | |
| Typ: | Befehl |
| Syntax: | NEXT [<num.Variable>] NEXT [<Schleifenvariable>] |
| Erklärung: | Beendet eine FOR ... NEXT Schleife. Ist keine Schleifenvariable angegeben, so bezieht sich das NEXT immer auf das letzte FOR. |
| siehe auch: | FOR UNTIL WEND |
|
Support | Bestellen | Start | Home: http://www.berkhan.de |
|
© 1997-2001 |