|
|
|
| TEXT ROTATION | |
| Typ: | Befehl |
| Syntax: | TEXT ROTATION=<num.Ausdruck> TEXT ROTATION=<Winkel> |
| Erklärung: | Mit diesem Befehl kann festgelegt werden, um welchen Winkel ein mit TEXT ausgegebener
Grafiktext gedreht wird. Die Winkelangabe erfolgt in 1/10 Grad (d.h. 900 entspricht
90 Grad). Es wird im mathematisch positiven Sinn (gegen den Urzeigersinn) und jeweils
um den Punkt (X,Y) gedreht, den Sie bei den nachfolgenden TEXT-Befehlen angeben (TEXT
X,Y,T$). Derzeit sind für <Winkel> nur die Werte 0,900,1800 und 2700 sowie die entsprechenden negativen Werte möglich. Auf einigen Druckern können, abhängig vom Treiber, auch andere Werte funktionieren. Hinweis: Da die meisten Gerätetreiber (z.B. der Bildschirm und auch viele Drucker) die Textrotation nicht unterstützen, enthält Omikron Basic eine eigenständige Drehroutine. Auf postscriptfähigen Druckern wird die Drehung durch sogenannte "Picture Comments" realisiert. In diesen Fällen erhalten Sie den gedrehten Text in der hohen Druckerauflösung. Wenn der angeschlossene Drucker keine "Picture Comments" versteht, kommt die Omikron Basic Drehroutine für den Bildschirm zum Einsatz. Dadurch ist die Auflösung auf dem Drucker für den gedrehten Text dann aber auch nicht besser als auf dem Bildschirm. |
| Beispiel: | TEXT ROTATION = 2700 TEXT 10,10,"Der Text geht nach unten." |
| Ergebnis: | Ausgehend vom Punkt (10,10) wird der Text nach unten geschrieben. |
| siehe auch: | TEXT |
| TEXT STYLE | |
| Typ: | Befehl |
| Syntax: | TEXT STYLE=<num.Ausdruck> TEXT STYLE=<Stil-Attribut> |
| Erklärung: | Definiert die Stil-Attribute des mit TEXT auszugebenden
Grafiktextes. Dabei steht jedes Bit in <Stil-Attribut> für einen Texteffekt.
Ist es gesetzt, so wird der Effekt verwendet. Beliebige Kombinationen sind zulässig.
Die einzelnen Bits haben folgende Bedeutung: Bit 0: Bold (fett) Bit 1: Italic (kursiv) Bit 2: Underlined (unterstrichen) Bit 3: Outlined (mit Außenlinie) Bit 4: Shadowed (mit Schatten) Bit 5: Condensed (komprimiert) Bit 6: Extended (ausgedehnt) |
| Beispiel: | TEXT STYLE = 1 TEXT 10,20,"Dieser Text erscheint fett" TEXT STYLE = 2 + 4 TEXT 10,40,"Dieser Text hingegen kursiv und unterstrichen" |
| Ergebnis: | Dieser Text erscheint fett Dieser Text hingegen kursiv und unterstrichen |
| siehe auch: | TEXT Set_Text_Face |
| THEN | |
| Typ: | Befehl |
| Syntax: | THEN |
| Erklärung: | Steht nach einer IF-Anweisung und wird genau dann ausgeführt, wenn die Aussage hinter IF wahr ist (ungleich 0). |
| Beispiel: | IF 1=1 THEN PRINT "1 ist gleich 1" PRINT "Das ist immer wahr!" ELSE PRINT "0 ist ungleich 1" PRINT "Dieser Text wird nie gedruckt!" ENDIF |
| Ergebnis: | 1 ist gleich 1 Das ist immer wahr! |
| siehe auch: | IF ELSE ENDIF |
| TIME$ | |
| Typ: | Befehl |
| Syntax: | TIME$=<String-Ausdruck> |
| Erklärung: | Weist der Systemuhr die Zeit <String-Ausdruck> zu. Der String-Ausdruck muß
in der Form "HH:MM:SS" (H=Stunde, M=Minute, S=Sekunde) im 24-Stunden Format
angegeben werden. Hinweis: Die mit TIMER ermittelbare Rechner-Laufzeit wird nicht beeinflußt. |
| siehe auch: | TIME$ als Funktion DATE$ als Befehl TIMER |
| TIME$ | |
| Typ: | Funktion |
| Syntax: | TIME$ |
| Erklärung: | Gibt die Systemuhr als String zurück. Das Format entspricht dem, das sie mit dem Kontrollfeld 'Datum & Zeit' auf Ihrem Computer eingestellt haben. |
| siehe auch: | TIME$ als Befehl DATE$ als Funktion TIMER |
| TIMER | |
| Typ: | Funktion |
| Syntax: | TIMER |
| Erklärung: | Ergibt die Laufzeit des Rechners seit dem Einschalten in 1/200 Sekunden. |
| Beispiel: | T=TIMER FOR I=0 TO 10000000 NEXT I PRINT (TIMER-T)/200 |
| Ergebnis: | Es wird die Zeit in Sekunden ausgegeben, die der Rechner braucht, um die FOR ... NEXT Schleife 10 Millionen mal zu durchlaufen. |
| siehe auch: | TIME$ FN Microseconds# |
| TROFF | |
| Erklärung: | Hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| TRON | |
| Erklärung: | Hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
| TUNE | |
| Typ: | Befehl |
| Syntax: | TUNE <num.Ausdruck>,<num.Ausdruck>[[,<num.Ausdruck>,<num.Ausdruck>]]
TUNE <Tonkanal>,<Frequenz>[[,<Tonkanal>,<Frequenz>]] |
| Erklärung: | Hiermit können Sie die Frequenz eines Tons einstellen. In <Tonkanal> muß
ein Wert zwischen 0 und 15 übergeben werden. <Frequenz> kann Werte von
0 - 127 haben. 0 ist der tiefste Ton, 127 der höchste. Es können bis zu 16 unterschiedliche Tonkanäle mit einem Befehl verändert werden. Hinweis: Um den Ton zu hören, muß den entsprechenden Kanälen mittels VOLUME eine Lautstärke zugewiesen werden. |
| Beispiel: | VOLUME 0,255,1,255,2,255 NOISE 0,0,1,0,2,0 T=0:Dt=12 REPEAT TUNE 0,T,1,T+4,2,T+7:'Akkord c-e-g WAIT 1:T+=Dt IF T<=0 OR T>=120 THEN Dt*=-1 UNTIL LEN(INKEY$) |
| Ergebnis: | Zunächst werden die Tonkanäle 0,1 und 2 auf maximale Lautstärke und auf maximale Reinheit eingestellt. Danach spielt das Programm c-e-g Akkorde, wobei die Frequenz pro Schleifendurchlauf jeweils um eine Oktave zu- bzw. abnimmt. Damit die Akkorde lange genug erklingen, wurde ein WAIT 1 Befehl eingefügt. |
| siehe auch: | VOLUME NOISE MIDI-Noten und Frequenztabelle |
| UNTIL | |
| Typ: | Befehl |
| Syntax: | UNTIL <log.Ausdruck> UNTIL <Abbruch-Bedingung> |
| Erklärung: | Beendet die REPEAT ... UNTIL Schleife. Die Schleife wird solange ausgeführt, bis die Abbruch-Bedingung erfüllt ist. |
| siehe auch: | REPEAT NEXT WEND EXIT |
| UNLIST | |
| Typ: | reserviertes Schlüsselwort |
| Erklärung: | Darf vom Benutzer nicht verwendet werden. |
| UPPER$ | |
| Typ: | Funktion |
| Syntax: | UPPER$(<String-Ausdruck>) |
| Erklärung: | Wandelt alle im String-Ausdruck enthaltenen Buchstaben in große Buchstaben um. Ist MODE "D" eingestellt, so werden auch die Umlaute ä, ö, ü gewandelt. Gegenstück zu dieser Funktion ist LOWER$. |
| siehe auch: | LOWER$ MODE |
| USING | |
| Typ: | Befehl |
| Syntax: | USING [<String-Ausdruck>] |
| Erklärung: | Stellt das Ausgabeformat für die Befehle PRINT, LPRINT, PRINT # und die Funktion STR$ ein. USING allein ohne <String-Ausdruck> schaltet wieder auf normale Ausgabe zurück. Welche Zeichen der String-Ausdruck enthalten darf und wie diese wirken ist bei PRINT USING erklärt. |
| siehe auch: | PRINT USING LPRINT STR$ |
| USR | |
| Typ: | Funktion |
| Syntax: | USR(<num.Ausdruck>) |
| Erklärung: | Die mit DEF USR definierte Maschinensprachefunktion wird aufgerufen. Der Parameter
wird im Register R3 übergeben. Der im Register R3 erhaltene Wert wird als Funktionsergebnis
an das BASIC-Programm zurückgegeben. Es dürfen nur die von Apple als 'volatile' deklarierten Register verändert werden. Im einzelnen sind dies: R0,R3-R12 FPR0-FPR13 CR0,CR1,CR5-CR7 R31 zeigt auf den dynamischen Stack. Das Programm muß mit 'Blr' beendet werden. Wird das Linkregister verändert, so ist darauf zu achten, daß es vor der Rückkehr wieder restauriert wird. Fehler, die Ihr Maschinenprogramm verursacht, können vom Omikron Basic nicht abgefangen werden. Es empfiehlt sich daher, in der Testphase zuvor einen geeigneten Debugger zu starten. Achtung: Wird die USR-Funktion aufgerufen, ohne daß zuvor mit DEF USR eine Einsprungsadresse definiert wurde, so kommt es mit ziemlicher Sicherheit zum Totalabsturz des Computers, da dann zu einer undefinierten Adresse gesprungen wird. |
| siehe auch: | DEF USR CALL INLINE |
| VAL | |
| Typ: | Funktion |
| Syntax: | VAL(<String-Ausdruck>) |
| Erklärung: | Der String-Ausdruck wird nach Möglichkeit in ein numerisches Ergebnis umgewandelt.
Dabei wird solange von links nach rechts gelesen, bis kein gültiges Zahlzeichen
mehr folgt. Führende Leerzeichen werden überlesen. Gültige Zahlzeichen sind: $ & % 0 1 2 3 4 5 6 7 8 9 + - . D E Hinweis: VAL kann durch Hinzufügen der Prefixe "$" oder "%" auch zum Wandeln zwischen verschiedenen Zahlensystemen benutzt werden (z.B. HEX -> Dezimal). |
| Beispiel: | Hex_In$="0u+A+B+C+D+E+F" :Zahl$=SPACE$(2)
INPUT "Geben Sie eine HEX-Zahl ein : ";Zahl$ USING Hex_In$,R,2 Zahl$= RIGHT$("000"+Zahl$,3) PRINT Zahl$;"h ist Dezimal: "; VAL("$"+Zahl$) |
| Ergebnis: | Die eingegebene Hexadezimalzahl wird in eine Dezimalzahl umgewandelt und auf dem Bildschirm ausgegeben. |
| siehe auch: | STR$ BIN$ HEX$ OCT$ |
| VARPTR | |
| Typ: | Funktion |
| Syntax: | VARPTR(<Variable>) |
| Erklärung: | VARPTR ermittelt die Adresse einer Variablen, eines Feldes oder einer Funktion und ist identisch mit dem Operator "&". Eine genaue Erklärung finden Sie dort. |
| Beispiel: | 'größtes Element suchen DIM Werte#(10) PRINT FN Get_Max#(VARPTR(Werte#()),5) ' nur die ersten 6 END DEF FN Get_Max#(Pointer,N) LOCAL I,Maximum#=0# FOR I=0 TO N Maximum#=MAX(*Pointer#(I),Maximum#) NEXT I RETURN Maximum# END_FN |
| Ergebnis: | 0 |
| siehe auch: | & (Adressoperator) SEGPTR Speicherorganisation im Omikron Basic |
| VDI | |
| Hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. | |
| VERSION | |
| Typ: | Funktion |
| Syntax: | VERSION |
| Erklärung: | Liefert die Versionsnummer des für die Übersetzung verwendeten Omikron Basic Compilers zurück. |
| VOLUME | |
| Typ: | Befehl |
| Syntax: | VOLUME <num.Ausdruck>,<num.Ausdruck>[[,<num.Ausdruck>,<num.Ausdruck>]]
VOLUME <Tonkanal>,<Lautstärke>[[,<Tonkanal>,<Lautstärke>]] |
| Erklärung: | Den angegebenen Tonkanälen wird die jeweilige Lautstärke zugewiesen. In
<Tonkanal> muß ein Wert zwischen 0 und 15 übergeben werden. <Lautstärke>
kann Werte von 0 - 255 haben. 0 bedeutet, daß der Ton aus ist, 255 ist maximale
Lautstärke. Es können bis zu 16 unterschiedliche Tonkanäle mit einem Befehl verändert werden. Hinweis: Um den Ton zu hören, muß den entsprechenden Kanälen mittels TUNE eine Frequenz zugewiesen werden. |
| Beispiel: | TUNE 0,60:'Das mittlere c erzeugen T=0:Dt=1 REPEAT VOLUME 0,T:WAIT 0.01 T+=Dt IF T<=0 or T>=255 then Dt*=-1 UNTIL LEN(INKEY$) |
| Ergebnis: | Es wird zunächst ein Ton erzeugt (das mittlere c). Danach wird die Lautstärke in der Schleife abwechselnd vergrößert und verkleinert. |
| siehe auch: | NOISE TUNE Tabelle der MIDI Noten |
| WAIT | |
| Typ: | Befehl |
| Syntax: | WAIT <num.Ausdruck> |
| Erklärung: | Wartet die im numerischen Ausdruck genannte Zeit in Sekunden. Während dieser Zeit können andere Prozesse weiterbenutzt werden. Das System wird also durch WAIT nicht blockiert. Wenn jedoch während der Wartezeit ein anderer Prozess das System blockiert, so kann sich die effektive Wartezeit dadurch verlängern. |
| Beispiel: | T=TIMER REPEAT PRINT "Diese Schleife läuft genau 5 Sekunden" WAIT 0.5 UNTIL TIMER>T+200*5 |
| Ergebnis: | Es wird im Abstand von 0.5 Sekunden der hinter PRINT sehende Text ausgegeben, bis 5 Sekunden vergangen sind. |
| WEND | |
| Typ: | Befehl |
| Syntax: | WEND |
| Erklärung: | Beendet die WHILE ...WEND Schleife. |
| siehe auch: | WHILE EXIT NEXT UNTIL |
| WHILE | |
| Typ: | Befehl |
| Syntax: | WHILE <num.Ausdruck> WHILE <log.Ausdruck> |
| Erklärung: | Mit WHILE wird eine Programmschleife eingeleitet, die solange die von ihr abhängigen Befehle wiederholt, bis der logische Ausdruck nicht mehr erfüllt (gleich 0) ist. Die Bedingung wird immer am Anfang der Schleife geprüft, das heißt, die WHILE ... WEND Schleife ist eine abweisende Schleife. Wenn die Bedingung gleich zu Anfang nicht erfüllt ist, wird keiner der abhängigen Befehle ausgeführt und zum Ende der Schleife (hinter das WEND) verzweigt. |
| Beispiel: | OPEN "I",1,FN Get_Fsspec$(0,0,"NEWOMBAS.INF")
WHILE NOT EOF(1) PRINT INPUT$(1,1); WEND CLOSE 1 PRINT "Bitte geben sie mehrere Wörter durch Leerzeichen getrennt ein:" INPUT Satz$ P=INSTR(Satz$," ") WHILE P PRINT "Leerzeichen gefunden an Position:"; P P=INSTR(P+1,Satz$," ") WEND |
| Ergebnis: | Zunächst wird der Inhalt der NEWOMBAS.INF Datei
zeichenweise gelesen und auf dem Bildschirm ausgegeben. Im zweiten Beispiel wird der Benutzer aufgefordert, mehrere Wörter einzugeben. Das Programm sucht diesen String dann nach Leerzeichen ab und gibt die Ergebnisse auf dem Bildschirm aus. |
| siehe auch: | REPEAT FOR EXIT |
| WPEEK | |
| Typ: | Funktion |
| Syntax: | WPEEK(<num.Ausdruck>) WPEEK(<Adresse>) |
| Erklärung: | Liest an der durch den numerischen Ausdruck gegebenen Adresse eine 2-Byte-Zahl. Die Adresse sollte durch zwei teilbar sein, da sich die Zugriffszeit sonst deutlich verlangsamt. Der gelesene Wert wird immer als Zweierkomplement-Darstellung einer Short-Integer-Zahl aufgefaßt und liegt im Bereich von -32768 bis +32767. |
| Beispiel: | Speicher=MEMORY(10) WPOKE Speicher,$FFFF PRINT WPEEK(Speicher) |
| Ergebnis: | -1 |
| siehe auch: | PEEK LPEEK SPEEK DPEEK POKE WPOKE LPOKE SPOKE DPOKE |
| WPOKE | |
| Typ: | Befehl |
| Syntax: | WPOKE <num.Ausdruck>,<num. Ausdruck> WPOKE <Adresse>,<Wert> |
| Erklärung: | Legt den Wert an der angegebenen Adresse als Short-Integer-Zahl ab. Die Adresse sollte durch zwei teilbar sein, da sich die Zugriffszeit sonst deutlich verlangsamt. Es werden immer nur die unteren 16 Bits des angegebenen Wertes in die gewünschte Speicheradresse geschrieben. |
| Beispiel: | Speicher=MEMORY(10) WPOKE Speicher,$FFFF WPOKE Speicher+2,-1 WPOKE Speicher+4,65500 PRINT LPEEK(Speicher) |
| Ergebnis: | -1 |
| siehe auch: | PEEK WPEEK LPEEK SPEEK DPEEK POKE LPOKE SPOKE DPOKE |
| WRITE | |
| Typ: | Befehl |
| Syntax: | WRITE <Ausdruck>[[,<Ausdruck>]] WRITE <Ausgabe>[[,<Ausgabe>]] |
| Erklärung: | WRITE gibt wie PRINT beliebige Ausdrücke auf dem Bildschirm aus. String-Ausdrücke werden in Anführungszeichen gesetzt und alle Ausgaben durch Kommata getrennt. |
| Beispiel: | Test$="Omikron Basic" WRITE ,Test$,PI,1.23 |
| Ergebnis: | "Omikron Basic", 3.14159265358979, 1.23 |
| siehe auch: | |
| WRITE # | |
| Typ: | Befehl |
| Syntax: | WRITE #<num.Ausdruck>,<Ausdruck>[[,<Ausdruck>]] WRITE #<Dateinummer>,<Ausgabe>[[,<Ausgabe>]] |
| Erklärung: | WRITE # gibt - ähnlich wie PRINT # - beliebige numerische oder String-Ausdrücke in eine Datei aus. Die Datei muß zuvor mit OPEN geöffnet worden sein. Im Vergleich zu PRINT # setzt WRITE # alle String-Ausdrücke in Anführungszeichen und trennt alle Ausdrücke durch Kommata ab. Das hat besonders beim Schreiben von Dateien, die mit INPUT # wieder gelesen werden sollen, große Vorteile. |
| Beispiel: | Text$="Berkhan-Software" OPEN "O",1,FN Get_Fsspec$(0,0,"WRITE.TXT") WRITE #1,Text$,PI,1.23# CLOSE 1 OPEN "U",1,FN Get_Fsspec$(0,0,"WRITE.TXT") GET 1,Alles$,LOF(1) CLOSE 1 PRINT Alles$:PRINT INPUT "Programm mit [Return] beenden ";E |
| Ergebnis: | "Berkhan-Software", 3.14159265358979, 1.23 |
| siehe auch: | PRINT # OPEN INPUT # |
| WVBL | |
| Hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden | |
| W_CHAR | |
| Typ: | Funktion |
| Syntax: | W_CHAR |
| Erklärung: | Diese Funktion ergibt die Breite des Bildschirms in Zeichen. Da bei Proportinalzeichensätzen die Breite der Buchstaben variiert, wird in diesem Fall die Breite der Null zugrunde gelegt. |
| siehe auch: | H_CHAR W_PIXEL H_PIXEL |
| W_PIXEL | |
| Typ: | Funktion |
| Syntax: | W_PIXEL |
| Erklärung: | Diese Funktion ergibt die Breite des Bildschirms in Pixeln. |
| siehe auch: | H_PIXEL W_CHAR H_CHAR |
| XBIOS | |
| Erklärung: | Hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden |
| XOR | |
| Typ: | Operator |
| Syntax: | <num.Ausdruck>XOR <num.Ausdruck> |
| Erklärung: | Die beiden Ausdrücke werden bitweise logisch "exklusiv-oder" verknüpft. |
| Beispiel: | PRINT BIN$((%1010 XOR %1100)+%10000) |
| Ergebnis: | %10110 |
| siehe auch: | OR NOR AND NAND IMP EQV NOT |
|
Support | Bestellen | Start | Home: http://www.berkhan.de |
|
© 1997-2001 |