LSET   -   NEXT Inhalt | POS - SAVE


Kapitel 5-8
Der Befehlssatz

 NOISE - POKE



 
NOISE 
Typ: Befehl 
Syntax:  NOISE <num.Ausdruck>,<num.Ausdruck>[[,<num.Ausdruck>,<num.Ausdruck>]] 
NOISE <Tonkanal>,<Ton>[[,<Tonkanal>,<Ton>]] 
Erklärung:  Hiermit können Sie die Reinheit eines Tons einstellen. In <Tonkanal> muß ein Wert zwischen 0 und 15 übergeben werden. <Ton> kann Werte von 0 - 254 haben. 0 bedeutet, daß der Ton rein ist, 254 erzeugt mehr einen Brummton. 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 und mittels VOLUME eine Lautstärke zugewiesen werden. 
Beispiel: TUNE 0,40 
VOLUME 0,255 
T=0:Dt=1 
REPEAT 
 NOISE 0,T:WAIT 0.01 
 T+=Dt 
 IF T<=0 or T>=254 then Dt*=-1 
UNTIL LEN(INKEY$)
Ergebnis:  Es wird zunächst ein Ton erzeugt und die Lautstärke auf Maximum gestellt. Danach wird die Reinheit in der Schleife abwechselnd vergrößert und verkleinert. 
siehe auch:  TUNE   VOLUME    Tabelle der MIDI Noten
   
 
 
NOR 
Typ: Operator 
Syntax:  <num.Ausdruck>NOR <num.Ausdruck>
Erklärung:  Verknüpft die beiden numerischen Ausdrücke logisch "nicht-oder (NOT OR)". 
Beispiel: PRINT BIN$((%1010 NOR %1100)+%10000) 
Ergebnis:   %1
siehe auch:  OR     XOR     AND    NAND     IMP     EQV     NOT
   
 
 
NOT 
Typ: Funktion 
Syntax:  NOT <num.Ausdruck> 
Erklärung:  Negiert den numerischen Ausdruck bitweise. Da alle Ausdrücke ungleich 0 als wahr angesehen werden, macht NOT nicht unbedingt aus einem wahren Ausdruck einen falschen. 
Beispiel: Ok=1 
PRINT NOT(2>1), NOT Ok 
Ergebnis:  0    -2
siehe auch:  OR    NOR    XOR    AND   NAND     IMP     EQV 
   
 
 
 
OCT$ 
Typ: Funktion 
Syntax:  OCT$(<num.Ausdruck>) 
Erklärung:  Wandelt den numerischen Ausdruck in eine Zeichenkette um, die den gerundeten Wert des Ausdrucks als Oktalzahl darstellt. 
Beispiel: PRINT OCT$($12345678) 
Ergebnis:   &2215053170 
siehe auch:  HEX$   BIN$   STR$   VAL 
   
 
 
 
OFF, ON 
Erklärung:  siehe  OUTLINE   COMPILER
   
 
 
 
ON ERROR GOTO 
Typ: Befehl 
Syntax:  ON ERROR GOTO {<Marke>|0} 
Erklärung:  Wenn während des Programmlaufs ein Fehler auftritt, der eine Fehlermeldung zur Folge hätte, kann dieser mit 
ON ERROR GOTO abgefangen werden. Bei Auftreten des Fehlers wird zur angegebenen Marke verzweigt. Wird statt einer Marke eine Null angegeben so ist die Fehlerüberwachung wieder abgeschaltet. Die eigene Fehlerbehandlung muß unbedingt mit RESUME, RESUME <Marke> oder RESUME NEXT abgeschlossen werden, damit erkennbar ist, was zur Fehlerbehandlung und was zum normalen Programm gehört. Also nicht die Fehlerbehandlung mit GOTO verlassen. Tritt während der Fehlerbehandlung erneut ein Fehler auf, so wird der erneute Fehler in jedem Fall vom Omikron Basic behandelt, da das Programm sonst  in eine Endlosschleife geraten würde. 
Die Systemvariablen ERR, ERR$ und ERL enthalten Fehlernummer, Fehlertext und Fehlerzeile. (Siehe 'Fehlermeldungen des Omikron Basics'). Beispiel siehe auch RESUME. 
Beispiel: ON ERROR GOTO Fehler 
A#=0 
PRINT  1/A# 
PRINT A# 
END 

-Fehler 
IF ERR=83 
 THEN FORMALERT(2,"[2][Division durch 0|Programm fortsetzen?][ ja |nein]",R) 
  IF R=1 then RESUME NEXT ELSE END 
 ELSE ERROR ERR: END 
ENDIF 
 

Ergebnis:  Es wird zunächst ein Fehler ausgelöst, indem durch Null dividiert wird. Das ergibt den Fehler 83, der in der Fehlerbehandlungsroutine bearbeitet wird. Andere Fehler verwaltet die Routine nicht, sondern gibt sie mit ERROR ERR an das Omikron Basic zurück. 

Hinweis: Der Fehler wird nur bemerkt, wenn die FPU-Exceptions eingeschaltet sind (siehe Compiler Steuerwörter).

siehe auch:  RESUME   Fehlermeldungen des Omikron Basics
   
 
 
 
ON ... GOSUB 
Typ: Befehl 
Syntax:  ON <num.Ausdruck>GOSUB <Marke>[[,<Marke>]] 
Erklärung:  In Abhängigkeit vom numerischen Ausdruck wird zu einem der durch die Marken definierten Unterprogramme verzweigt. Ist der numerische Ausdruck eins, wird zum ersten, ist er zwei, wird zum zweiten verzweigt usw. Ist der numerische Ausdruck 0 oder größer als die Anzahl der angegebenen Marken, so wird überhaupt nicht verzweigt und der Befehl wird ignoriert. 
Das Unterprogramm muß mit RETURN abgeschlossen sein.
Beispiel: INPUT "Wert (1-3): ";Wert 
ON Wert GOSUB Tier,Gemüse,Baum 
END 

-Tier: PRINT "Hund": RETURN 
-Gemuese: PRINT "Kohl": RETURN 
-Baum: PRINT "Eiche": RETURN 

Ergebnis:  Je nach Eingabe erscheint das Wort Hund, Kohl bzw. Eiche auf dem Bildschirm.
siehe auch:  ON GOTO     GOSUB 
   
 
 
 
ON ... GOTO 
Typ: Befehl 
Syntax:  ON <num.Ausdruck>GOTO <Marke>[[,<Marke>]] 
Erklärung:  In Abhängigkeit vom numerischen Ausdruck wird zu einer der angegebenen Marken verzweigt. Ist der num. Ausdruck eins, wird zur ersten, ist er zwei, wird zur zweiten Marke verzweigt usw. Ist der numerische Ausdruck 0 oder größer als die Anzahl der angegebenen Marken, so wird überhaupt nicht verzweigt und der Befehl wird ignoriert. 
Beispiel: INPUT "Wert (1-3): ";Wert 
ON Wert GOTO Tier,Gemuese,Baum 
END 

-Tier: PRINT "Hund": END 
-Gemuese: PRINT "Kohl": END 
-Baum: PRINT "Eiche": END 

Ergebnis:  Je nach Eingabe erscheint das Wort Hund, Kohl bzw. Eiche auf dem Bildschirm. Danach wird das Programm sofort beendet.
siehe auch:  ON GOSUB    GOTO 
   
 
 
 
ON HELP GOSUB 
Typ: Befehl 
Syntax:  ON HELP GOSUB <Marke|0> 
Erklärung:  Wenn die [Help]-Taste gedrückt wird, so wird zu dem durch <Marke> definierten Unterprogramm verzweigt. 
Welche Taste als [Help]-Taste dienen soll, kann mit der Prozedur Set_Help aus der ExtensionLibrary bestimmt werden. 
Das Unterprogramm muß mit RETURN abgeschlossen werden. 
Eine 0 hinter dem Befehl schaltet die [Help]-Tastenüberwachung wieder ab.
Beispiel: ON HELP GOSUB Hilfe 
PRINT "Bitte [Help]-Taste drücken." 
REPEAT 
 'Hier steht Ihr Hauptprogramm 
UNTIL Ende 
END 
 
-Hilfe 
 PRINT "Die Hilfe-Taste wurde gedrückt." 
 Ende=-1 
RETURN 
Ergebnis:  Bitte [Help]-Taste drücken. 
Die Hilfe-Taste wurde gedrückt.
siehe auch:  ON KEY GOSUB   Set_Help 
   
 
 
 
ON KEY GOSUB 
Typ: Befehl 
Syntax:  ON KEY GOSUB <Marke|0> 
Erklärung:  Sobald der Benutzer eine Taste drückt, wird zu dem durch <Marke> definierten Unterprogramm verzweigt. 
Eine 0 hinter dem Befehl schaltet die Tastaturüberwachung wieder ab.
Beispiel: ON KEY GOSUB Taste 
PRINT "Bitte einige Tasten drücken. [Esc]->Ende" 
REPEAT 
 'Hier steht Ihr Hauptprogramm 
UNTIL Ende 
END 
 
-Taste 
 Taste= CVIL( INKEY$ ) 
 Shiftbits=Taste SHR 24 
 Scancode= HIGH(Taste) AND $FF 
 Ascii=Taste AND $FF 
 PRINT "Shiftbits:";Shiftbits;" "," Scancode:";Scancode;" " 
 PRINT "ASCII:";Ascii;" " 
 IF Scancode=35 THEN Ende=-1 
RETURN 
Ergebnis:  Bei jedem Tastendruck wird zur Unterroutine verzweigt und das Ergebnis auf dem Bildschirm dargestellt.
siehe auch:  ON HELP GOSUB
   
 
 
 
ON MOUSEBUT GOSUB 
Typ: Befehl 
Syntax:  ON MOUSEBUT GOSUB {<Marke>|0} 
Erklärung:  Immer wenn die Maustaste gedrückt wird, verzweigt das Programm zu dem durch <Marke>definierten Unterprogramm. 

Wichtig: das Unterprogramm wird nur angesprungen, wenn sich der Zustand der Maustasten ändert: Wenn Sie also eine Maustaste drücken und dann gedrückt halten, so wird das Unterprogramm nur einmal abgearbeitet. Die Null hinter GOSUB schaltet die Mausknopfüberwachung wieder aus. 
Beispiel: ON MOUSEBUT GOSUB Maustaste 
PRINT "Bitte Maustaste drücken" 
REPEAT 
 Hier steht ihr Hauptprogramm 
UNTIL LEN( INKEY$ ) 
END 
 
-Maustaste 
 PRINT "Mausknopfzustand: "; MOUSEBUT 
RETURN 
Ergebnis:  Sobald die Maustaste gedrückt wird, gibt die Unterroutine den Zustand der Maustaste in Verbindung mit den Modifier-Keys aus.
siehe auch:  ON KEY GOSUB    MOUSEBUT
   
 
 
 
ON ... RESTORE 
Typ: Befehl 
Syntax:  ON <num.Ausdruck>RESTORE <Marke>[[,<Marke>]] 
Erklärung:  Der Zeiger, der auf die nächste durch READ zu lesende offene Zuweisung zeigt, wird in Abhängig von dem numerischen Ausdruck verschoben. Ist der Wert des numerischen Ausdrucks eins, so gilt die erste, ist er zwei, so gilt die zweite Marke usw. Der DATA-Zeiger zeigt auf die erste durch DATA definierte offene Zuweisung, die hinter der betreffenden Marke erscheint. Ist der numerische Ausdruck 0 oder größer als die Anzahl der angegebenen Marken, so wird der DATA-Zeiger nicht verschoben und der Befehl ignoriert. 
Beispiel: DATA "erster Text" 
-Tier: DATA "Hund" 
-Gemuese: DATA "Kohl" 
-Baum: DATA "Eiche" 
 INPUT "WERT (1-3): ";Wert 
 ON Wert RESTORE Tier,Gemuese,Baum 
 READ Text$ 
 PRINT Text$ 
Ergebnis:   Je nach Eingabe wird Hund, Kohl bzw: Eiche auf dem Bildschirm ausgegeben.
siehe auch:  RESTORE   DATA   ON ... GOTO   ON ... GOSUB 
   
 
 
 
ON TIMER ... GOSUB 
Typ: Befehl 
Syntax:  ON TIMER <num.Ausdruck>GOSUB {<Marke>|0} 
ON TIMER <Zeit in sec>GOSUB {<Marke>|0} 
Erklärung:  Das durch <Marke> definierte Unterprogramm, wird alle <Zeit> Sekunden angesprungen. Wird als Sprungziel 0 angegeben, so wird die Zeitgeberüberwachung wieder abgeschaltet. Achten Sie darauf, daß Ihr Unterprogramm nicht zuviel Zeit in Anspruch nimmt. Benötigt im Extremfall Ihr Unterprogramm mehr Zeit als das von Ihnen eingestellte Intervall, so wird es sofort nach seiner Beendigung erneut aufgerufen und es bleibt keine Zeit mehr zur Ausführung des eigentlichen Programms übrig. 
Beispiel: ON TIMER 1 GOSUB Uhr 
REPEAT 
 'Hier könnte Ihr Hauptprogramm stehen 
UNTIL LEN(INKEY$) 
END 
 
-Uhr 
PRINT CHR$(27)+"j"+@(0,0)+TIME$+" "+DATE$+CHR$(27)+"k"; 
RETURN 
Ergebnis:  Es wird 1 mal pro Sekunde die Uhrzeit in der linken oberen Ecke angezeigt.
siehe auch:  TIMER    ON HELP GOSUB     ON KEY GOSUB     ON MOUSEBUT GOSUB 
   
 
 
 
ON TRON GOSUB
Erklärung:  Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
   
 
 
 
OPEN 
Typ: Befehl 
Syntax:  OPEN <String-Ausdruck>,<num.Ausdruck>, <String-Ausdruck>[,<num.Ausdruck>] 
OPEN <Mode-Kennung>,<Dateinummer>,<Dateiname>[,<Satzlänge>] 
Erklärung:  OPEN öffnet eine Datei. Die ein Zeichen lange Mode-Kennung charakterisiert die Art der Datei, die geöffnet werden soll. Omikron Basic verwaltet bis zu 16 gleichzeitig offene Dateien. Die Dateinummer muß deshalb zwischen 1 und 16 liegen und dient bei allen weiteren Dateioperationen als Erkennungsmerkmal (Handle) für diese Datei. 
In dem Dateinamen muß ein FileSpecificationRecord übergeben werden, wie man ihn z.B. von FILESELECT oder der Funktion 'Get_Fsspec$' aus der ExtensionLibrary zurückerhält.

Die verschiedenen Modi haben folgende Bedeutung:

"I"  "Input" Sequentielle Datei; nur zum lesen 
"O"  "Output" Sequentielle Datei; nur zum schreiben, löscht eine bereits bestehende Datei 
"A"  "Append" Sequentielle Datei; nur zum schreiben, an eine bestehende Datei wird angefügt 
"R"  "Random" Random-Access-Datei; lesen und schreiben, feste Satzlänge; Verwendung von FIELD/PUT/GET 
"U"  "User" Random-Access-Datei; lesen und schreiben, keine feste Satzlänge; Verwendung von PUT/GET/SEEK 
"P"  "Printer" öffnet einen Kanal auf die serielle Druckerschnittstelle 
"V"  "V24" öffnet einen Kanal auf die serielle Modemschnittstelle
"F" "Files" öffnet einen Kanal, über den Sie die Eigenschaften (Größe, Erstellungsdatum ...) einer Datei oder eines Ordners abfragen und zum Teil auch verändern können.

Zunächst zu den drei sequentiellen Dateimodi "Input", "Output" und "Append". Mögliche Schreib-Lese-Funktionen: PRINT #, WRITE #, INPUT #, INPUT$(,) oder LINE INPUT #. Desweiteren können EOF und LOF ermittelt werden.

Wichtig: Um eine Datei mit "Append" zu öffnen, muß diese bereits bestehen, ansonsten wird ein Fehler ausgelöst. 

Die Random-Access-Datei vom Typ "R" benötigt als zusätzlichen Parameter die Satzlänge. Wird keine Satzlänge angegeben, so gilt die voreingestellte Satzlänge von 128. Vor jedem Schreib- oder Lesevorgang müssen mittels FIELD eine oder mehrere Puffervariablen definiert werden. GET und PUT lesen bzw. schreiben dann einen beliebigen Datensatz. Der erste Datensatz hat die Nummer 1. Wird ein Satz geschrieben, der noch nicht innerhalb der Datei existierte, so wird die Datei automatisch verlängert.

Die "User" Datei benötigt keine Angabe der Satzlänge. Man kann beliebige Datenmengen lesen oder schreiben. Die Vereinbarung einer Puffervariablen entfällt, man schreibt/liest mit PUT/GET direkt einen Speicherblock oder einen String. Zusätzlich kann der Schreib-Lese-Zeiger mit SEEK neu positioniert werden.

Die Datei-Modi, welche die Schnittstellen des Rechners ansprechen, funktionieren analog zu sequentiellen Datein. Es wird eben von der betreffenden Schnittstelle gelesen bzw. auf ihr ausgegeben. Besonders nützlich ist dies im Zusammenhang mit dem CMD-Befehl. Funktionen wie LOF, LOC oder EOF sind bei Kanälen, die für Schnittstellen geöffnet wurden, nicht erlaubt.

Mit 'OPEN "F",Channel,Fsspec$' kann man die Eigenschaften einer Datei oder eines Ordner ermitteln oder zum Teil auch verändern. Dazu muß für die gewählte Dateinummer mit der FIELD Anweisung eine Struktur definiert werden, in der Omikron Basic dann die gewünschten Eigenschaften einträgt. Die FIELD Anweisung muß wie folgt aufgebaut sein:

FIELD Channel,93,1 AS Attributes$,4 AS Time_Modification$,4 AS Time_Creation$,4 AS Size$,16 AS Finder_Information_Record$,64 AS File_Name$

Wichtig: Bei den Strings muß es sich um globale Variablen handeln, die in Ihrer Länge nicht verändert werden dürfen. Wenn Sie nur Teilzuweisungen vornehmen wollen, sollten Sie LSET bzw. RSET verwenden.

Die einzelnen Variablen haben folgende Bedeutung:
<Attributes$> : Dies sind die Dateiattribute. Wenn Bit 0 gestzt ist, is der Ordner schreibgeschütz, Bit 4 zeigt an, daß es sich bei dem Object um einen Ordner handelt. Die übrigen Bits sind für die Praxis weniger bedeutsam. Wer es genau wissen will kann ihre Bedeutung in "Inside Macintosh, Files" nachlesen.
<Time_Modification$> : Uhrzeit und das Datum der letzten Veränderung.
<Time_Creation$> : Uhrzeit und Datum der Dateierstellung.
<Size$> : Die Größe der Datei in Bytes.
<Finder_Information_Record$> : Der sogenannte FinderInformationRecord. Er besteht aus 4 Byte File-Type, 4 Byte File-Creator, 2 Byte
Finder-Flags und weiteren weniger wichtigen Informationen. Eine genaue Beschreibung finden Sie in "Inside Macintosh, Macintosh Toolbox Essentials".
<File_Name$> Der Name der Datei oder des Ordners. Diese Information ist besonders dann interessant, wenn man über <Index> einen Ordner durchsucht.

Die einzelnen Einträge werden mit 'GET Channel,Index' gelesen. Dabei sind für <Index> folgende Werte möglich:

Index=-1 : Es werden die Eigenschaften des Ordners gelesen, in dem sich die durch <Fsspec$> bestimmte Datei befindet.
Index=0 : Es werden die Eigenschaften der Datei gelesen, die durch <Fsspec$> bestimmt ist.
Index>0 : Es werden die Eigenschaften der Datei gelesen, die sich an der durch <Index> bestimmten Position in dem durch <Fsspec$> definierten Ordner befindet. Diese Syntax ermöglicht es Ihnen, alle Dateien eines Ordner auszulesen und durch rekursive Programmierung auch die Ordner in den Ordnern zu untersuchen.

Die Zeitangaben und die Einträge in <Finder_Information_Record$> können auch verändert werden und dann mit 'PUT Channel,0' der Datei oder dem Ordner zugewiesen werden. In der Praxis geht man am besten so vor, daß man mit GET zunächst die bestehenden Informationen in die FIELD Struktur einliest, dann die betreffenden Strings verändert und mit PUT die geänderten Daten zurückschreibt.

Bitte beachten Sie auch die Beispielprogramme OPEN "F" GET.BAS und OPEN "F" PUT.BAS im DEMO-Ordner.  
Beispiel: 'Die Extension Library muß zuvor vom Editor aus geladen worden sein.
Extension_Init
P$="Dateiname":R=1:FILESELECT(P$,F$,R):' Zieldatei auswählen
IF R THEN
OPEN "O",1,F$:' F$ enthält den FileSpecificationRecord
WRITE #1,"Caspar","Melchior","Balthazar"
CLOSE 1
OPEN "I",1,F$
WHILE NOT EOF(1):' Lesen bis zum Dateiende
INPUT #1,N$
PRINT N$,
WEND
CLOSE 1
ENDIF
INPUT "Programm beenden mit 'RETURN' ";E
Extension_Exit
END
Ergebnis:  Caspar Melchior Balthazar
siehe auch:  CLOSE   PRINT #    WRITE #    INPUT #    INPUT$    LINE INPUT    EOF   LOF
FN Ser_Get_Buf  Ser_Reset  GET  PUT
   
 
 
 
OR 
Typ: Operator 
Syntax:  <num.Ausdruck>OR <num.Ausdruck>
Erklärung:  Verknüpft die beiden numerischen Ausdrücke "logisch-oder". 
Beispiel: PRINT BIN$(%1010 OR %1100) 
Ergebnis:   %1110 
siehe auch:  AND    NAND    XOR    NOR    IMP    EQV    NOT
   
 

OTHERWISE 
Typ: Befehl 
Syntax:  OTHERWISE 
Erklärung:  Innerhalb einer SELECT ... CASE Anweisung wird mit OTHERWISE oder DEFAULT der Programmzweig eingeleitet, der ausgeführt werden soll, wenn keine der anderen Alternativen zutraf. Der OTHERWISE-Zweig muß immer die letzte Möglichkeit innerhalb der SELECT ... CASE Anweisung sein. Ein weiteres CASE darf nicht folgen. 
siehe auch:  DEFAULT 
   
 
 
 
OUTLINE 
Typ: Befehl 
Syntax:  OUTLINE {ON|OFF
Erklärung:  Die Außenlinie aller gefüllten Rechtecke, Kreise usw. können Sie mit diesem Kommando an- oder ausschalten. Dabei wird die Umrahmung in der mit LINE COLOR eingestellten Farbe, in der mit LINE WIDTH eingestellten Breite und dem mit MODE eingestellten Modus gezeichnet. Es wird immer eine durchgezogene Linie gezeichnet, der mit LINE STYLE eingestellte Wert hat also keinen Einfluß.
Ein Beispiel macht dies wohl am besten deutlich. 
Beispiel: CLS: FILL COLOR=0 
FILL STYLE=2,4 
OUTLINE OFF: PCIRCLE 100,100,80 
OUTLINE ON: PCIRCLE 200,100,80 
Ergebnis:  Es wird ein Kreis ohne Rand und ein Kreis mit Rand gezeichnet. 
   
 
 
 
PALETTE 
Typ: Befehl 
Syntax:  PALETTE [<num.Ausdruck>],[[,<num.Ausdruck>]] 
PALETTE [<Startregister>],[[,<Farbregister>]] 
Erklärung:  Schreibt die angegebenen Werte in die interne Farbtabelle des Omikron Basics. Der erste Parameter gibt an, ab welchem Index geschrieben werden soll. Danach können weitere Parameter folgen, die in die nachfolgenden Farbregister eingetragen werden. Die Parameter für die Farben müssen als Long-Integer-Zahlen angegeben werden, wobei jeweils 1 Byte (Wert 0-255) für Rot, Grün und Blau anzusetzen ist ($00RRGGBB).
siehe auch:  Get_Indexed_Color     Set_Indexed_Color
   
 
 
 
PBOX 
Typ: Befehl 
Syntax:  PBOX <num.Ausdruck>,<num.Ausdruck> { TO <num.Ausdruck>,<num.Ausdruck>|,<num.Ausdruck>,<num.Ausdruck>} 
PBOX <X>,<Y>{ TO <X2>,<Y2>|,<Breite>,<Höhe>} 
Erklärung:  Zeichnet ein gefülltes Rechteck auf den Bildschirm. Dabei sind entweder zwei gegenüberliegende Ecken anzugeben, oder eine Ecke, Breite und Höhe des Rechtecks. Gefüllt wird mit der durch FILL COLOR definierten Farbe und dem durch FILL STYLE definierten Füllstil. 
Die Umrandung ist unabhängig von den Einstellungen durch LINE STYLE und LINE WIDTH immer eine durchgezogene, ein Pixel breite Linie. Die Farbe entspricht der Füllfarbe. Die Umrandung kann mit OUTLINE ON|OFF ein- bzw. ausgeschaltet werden. Ist mittels CLIP ein Bildfenster definiert, so wird außerhalb dieses Bereiches nicht gezeichnet. 
siehe auch:  BOX   PRBOX   RBOX 
   
 
 
PCIRCLE
Typ: Befehl 
Syntax:  PCIRCLE <num.Ausdruck>,<num.Ausdruck>,<num.Ausdruck>[,<num. Ausdruck>,<num.Ausdruck>] 
PCIRCLE <X>,<Y>,<Radius>[,<Startwinkel>,<Endwinkel>] 
Erklärung:  Zeichnet um den Mittelpunkt <X>,<Y> einen gefüllten Kreis mit dem angegebenen Radius. Optional können Start- und Endwinkel in Zehntel-Graden angegeben werden. Hierbei ist Winkel=0 rechts vom Mittelpunkt, Winkel=900 oberhalb des Mittelpunkts etc.. 
Gefüllt wird mit der durch FILL COLOR definierten Farbe und dem durch FILL STYLE definierten Füllstil. Die Umrandung ist unabhängig von den Einstellungen durch LINE STYLE und LINE WIDTH immer eine durchgezogene, ein Pixel breite Linie. Die Farbe entspricht der Füllfarbe. Die Umrandung kann mit OUTLINE ON|OFF ein- bzw. ausgeschaltet werden. Ist mittels CLIP ein Bildfenster definiert, wird außerhalb dieses Bereiches nicht gezeichnet. 
siehe auch:  PELLIPSE   CIRCLE   ELLIPSE 
   
 
 
PEEK 
Typ: Funktion 
Syntax:  PEEK(<num.Ausdruck>) 
PEEK(<Adresse>) 
Erklärung:  Liest an der durch den numerischen Ausdruck gegebenen Adresse ein Byte. 
siehe auch:  WPEEK   LPEEK   SPEEK   DPEEK   POKE   WPOKE    LPOKE    SPOKE   DPOKE
   
 
 
 
PELLIPSE 
Typ: Befehl 
Syntax:  PELLIPSE <num.Ausdruck>,<num.Ausdruck>,<num.Ausdruck>, <num.Ausdruck>[,<num.Ausdruck>,<num.Ausdruck>] 
PELLIPSE <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.. 
Gefüllt wird mit der durch FILL COLOR definierten Farbe und dem durch FILL STYLE definierten Füllstil. Die Umrandung ist unabhängig von den Einstellungen durch LINE STYLE und LINE WIDTH immer eine durchgezogene, ein Pixel breite Linie. Die Farbe entspricht der Füllfarbe. Die Umrandung kann mit OUTLINE ON|OFF ein- bzw. ausgeschaltet werden. Ist mittels CLIP ein Bildfenster definiert, wird außerhalb dieses Bereiches nicht gezeichnet. 
siehe auch:  PCIRCLE   CIRCLE   ELLIPSE 
   
 
 
 
PI 
Typ: Funktion 
Syntax:  PI 
Erklärung:  Gibt die Kreiszahl PI als Double-Float-Zahl. 
Beispiel:  PRINT PI 
Ergebnis:   3.14159265358979
   
 
 
 
POINT 
Typ: Funktion 
Syntax:  POINT(<num.Ausdruck>,<num.Ausdruck>) 
POINT(<X>,<Y>) 
Erklärung:  POINT liefert einen Pointer auf den RGBColor-Record des Pixels an der Position (<X>,<Y>). 
Beispiel: PRINT "Ende mit beliebiger Taste."
REPEAT
C=POINT(MOUSEX,MOUSEY)
PRINT @(3,0);"Rot =";HEX$(PEEK(C) SHL 8 + PEEK(C+1))+SPACE$(5)
PRINT @(4,0);"Grün=";HEX$(PEEK(C+2) SHL 8 + PEEK(C+3))+SPACE$(5)
PRINT @(5,0);"Blau=";HEX$(PEEK(C+4) SHL 8 + PEEK(C+5))+SPACE$(5)
UNTIL LEN(INKEY$)
END
Ergebnis:  Die Rot-, Grün- und Blauanteile des Pixels an der Mausposition werden fortlaufend auf dem Bildschirm ausgegeben.
   
 
 
 
POKE 
Typ: Befehl 
Syntax:  POKE <num.Ausdruck>,<num. Ausdruck> 
POKE <Adresse>,<Wert> 
Erklärung:  Legt den Wert an der gegebenen Adresse als ein Byte ab. Der Wert muß zwischen 0 und 255 liegen. 
siehe auch:  PEEK   WPEEK   LPEEK   SPEEK   DPEEK   WPOKE   LPOKE   SPOKE   DPOKE
   
 

LSET   -   NEXT Inhalt | POS - SAVE

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


© 1997-2001 Berkhan-Software