SCREEN - TEXT HEIGHT Inhalt | Befehlsgruppenindex


Kapitel 5-11
Der Befehlssatz

 TEXT ROTATION - XOR



 
   
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 
PRINT 
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:  PRINT 
   
 
 
 
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
   
   

SCREEN - TEXT HEIGHT Inhalt | Befehlsgruppenindex

Support | Bestellen | Start | Home: http://www.berkhan.de


© 1997-2001 Berkhan-Software