FN  -  INPUT USING Inhalt | LSET - NEXT


Kapitel 5-6
Der Befehlssatz

  INPUT$  -  LPRINT


INPUT$ 
Typ: Funktion 
Syntax:  INPUT$(<num.Ausdruck>[,<num.Ausdruck>]) 
INPUT$(<Anzahl Zeichen>[,<Dateinummer>]) 
Erklärung:  Liest eine bestimmte Anzahl Zeichen von der Tastatur bzw. von der genannten Datei. INPUT$ kann auch benutzt werden, um Daten von der Modemschnittstelle bzw. Druckerschnittstelle zu holen. Der Kanal muß in diesem Fall zuvor mit OPEN "V" bzw. OPEN "P" geöffnet worden sein.

Hinweis: Wird INPUT$ benutzt, um Zeichen von der Tastatur zu holen, so wird das System nicht blockiert. Die Pseudo-Multitaskingbefhle (z.B. ON TIMER GOSUB) werden weiterhin ausgeführt und auch andere Programme laufen weiter. Auch ein Programmabbruch mit [Ctrl]+[C] ist während der Eingabe möglich.
Beispiel: OPEN "I",1,FN Get_Fsspec$(0,0,"NEWOMBAS.INF") 
WHILE NOT EOF(1) 
 PRINT INPUT$(1,1); 
WEND 
CLOSE 1 
PRINT "Taste drücken ..." 
Dummy$= INPUT$(1) 
END 
Ergebnis:  Die Datei NEWOMBAS.INF wird Zeichenweise gelesen und auf dem Bildschirm angezeigt. 
siehe auch:  INPUT   INKEY$    INPUT # 
   
 

INSTR 
Typ: Funktion 
Syntax: INSTR([<num.Ausdruck>,]<String-Ausdruck>,<String-Ausdruck>) 
INSTR([<Suchbeginn>,]<String-Ausdruck>,<Zeichenfolge>) 
Erklärung:  Sucht die angegebene Zeichenfolge in <String-Ausdruck> und gibt deren Position zurück. Ist die Zeichenfolge nicht in <String-Ausdruck> enthalten, so ist der Funktionswert 0. 
Der ganze String-Ausdruck wird vom ersten Zeichen ab durchsucht, es kann aber auch mit <Suchbeginn> eine Startposition übergeben werden. Das erste Zeichen in <String-Ausdruck> hat die Position 1. 
Beispiel: PRINT INSTR("Omikron.Basic",".") 
Ergebnis:   8 
Beispiel: Pfad$="Macintosh HD:PROJEKTE:BASIC:SOURCES:" 
P=INSTR(Pfad$,":") 
WHILE P 
 PRINT "Doppelpunkt gefunden an Position:"; P 
 P=INSTR(P+1,Pfad$,":") 
WEND 
Ergebnis: Doppelpunkt gefunden an Position: 13 
Doppelpunkt gefunden an Position: 22 
Doppelpunkt gefunden an Position: 28 
Doppelpunkt gefunden an Position: 36 
siehe auch:  LEN     LEFT$     RIGHT$    MID$ 
   
 

INT
Typ: Funktion 
Syntax:  INT(<num.Ausdruck>) 
Erklärung:  Liefert die nächst kleinere ganze Zahl. Dadurch werden positive Werte ab- und negative Werte aufgerundet. Die Funktion FIX rundet immer ab. 
Beispiel: PRINT INT( PI ), INT(12.5), INT(-12.5) 
Ergebnis:   3   12   -13 
siehe auch:  FIX     FRAC 
   
 

INV
siehe auch: MAT
   
 

IPL 
Erklärung:   hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
   
 

JOYSTICK 
Erklärung:   hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden.
   
 

KEY 
Erklärung:  hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden.
   
 

KEY LIST 
Erklärung:   hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden.
   
 

KILL 
Typ: Befehl 
Syntax:  KILL <String-Ausdruck> 
KILL <Dateiname> 
Erklärung:  Die genannte Datei wird gelöscht. In <Dateiname> muß ein FileSpecificationRecord übergeben werden.
Beispiel: KILL FN Get_Fsspec$(0,0,"TEST.BAS") 
Ergebnis:  Die Datei TEST.BAS wird gelöscht. 
   
 

LDUMP 
Erklärung:   hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
   
 
 
LEFT$ 
Typ: Funktion
Syntax:  LEFT$(<String-Ausdruck>,<num.Ausdruck>) 
Erklärung:  Ergibt einen Teilstring des String-Ausdrucks beginnend ab dem ersten Zeichen mit der durch den numerischen Ausdruck gegebenen Länge. Ist der numerische Ausdruck größer als die Länge des String-Ausdrucks, so wird der gesamte String zurückgegeben. 
Beispiel: A$="Omikron.Basic" 
PRINT LEFT$(A$,7) 
Ergebnis:  Omikron 
siehe auch:  RIGHT$    MID$    INSTR 
   
 

 
LEN 
Typ: Funktion 
Syntax:  LEN(<String-Ausdruck>) 
Erklärung:  Ergibt die Länge des String-Ausdrucks (maximal 2147483647). 
Beispiel:  PRINT LEN("Omikron Basic")
Ergebnis:   13 
siehe auch:  INSTR     LEFT$    RIGHT$    MID$
   
 

LET
Typ: Befehl 
Syntax:  LET <Variable>=<Ausdruck> 
Erklärung:  Weist der Variablen den Ausdruck zu. Auf den Befehl kann aber verzichtet werden. Er ist nur aus Kompatibilitätsgründen implementiert. Die Zuweisung lautet dann: <Variable>=<Ausdruck> 
Beispiel: LET A=5+3 
PRINT A 
Ergebnis:   8 
   
 
 
 
LIBRARY 
Typ: Befehl
Syntax: LIBRARY <Libraryname>,<String-Konstante>
Erklärung:  Der LIBRARY Befehl sagt dem Compiler, dass die mit <Libraryname> spezifizierte Library für das Programm benötigt wird. Der Compiler prüft dann, ob eine Library mit diesem Namen bereits im Programm enthalten ist, indem er nach Tokens vom Typ LIBRARY CODE sucht und die dahinter angegebenen Namen mit <Libraryname> vergleicht.
Falls der Compiler feststellt, dass die gewünschte Library noch nicht vorhanden ist, versucht er diese von der in <String-Konstante> angegebenen Position zu laden. Findet er dort die gewünschte Library nicht, so wird eine Fehlermeldung ausgegeben.

In <String-Konstante> können Sie einen vollständigen Pfad, einen Teilpfad (muss mit einem Doppelpunkt beginnen) oder auch nur einen Dateinamen übergeben. In den beiden letzten Fällen wird von dem Pfad ausgegangen, von dem Omikron Basic gestartet wurde.
Beispiel: LIBRARY Extension ,"Extension.LIB"
LIBRARY Easy_Gem ,":EasyGem:EasyGem.LIB"
Ergebnis: Die Extension Library wird aus dem Ordner geladen, in dem sich auch Omikron Basic befindet.
Die EasyGem Library wird aus dem Ordner "EasyGem" geladen, der sich in dem gleichen Ordner befinden muss, von dem aus Omikron Basic gestartet wurde.
 

 
LIBRARY CODE 
Typ: Dieses Wort ist reserviert. Bitte nicht verwenden. 
Erklärung: LIBRARY CODE erscheint am Ende des Programms in Zeile 65534 und repräsentiert dort eine nachgeladene Library. Hinter dem Wort findet sich noch ein Copyright-Vermerk, an dem normalerweise auch zu erkennen ist, um was für eine Library es sich handelt. 
Näheres zum Thema  Libraries finden Sie in dem Anhang Weitere Libraries für Omikron Basic.
   
 
LINE COLOR 
Typ: Befehl 
Syntax:  LINE 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 
siehe auch:  PALETTE   LINE PATTERN   LINE STYLE   LINE WIDTH  
Interne Farbtabelle des Omikron Basics
   
 

LINE INPUT 
Typ: Befehl 
Syntax:  LINE INPUT [#<num.Ausdruck>][<String-Ausdruck>;]<Variable>[[,<Variable>]] 
Erklärung:  LINE INPUT entspricht fast in jeder Hinsicht dem normalen INPUT. Es kann sogar wie INPUT mit USING zusammen zur Masken-Eingabe verwendet werden (siehe INPUT USING). Lediglich Trennzeichen wie z.B. Kommas werden von LINE INPUT ignoriert. Es wird immer bis zum Zeilenende eingelesen. Wenn also mehr als eine Variable eingelesen werden sollen, so sind diese in unterschiedlichen Zeilen einzugeben.

Hinweis: LINE INPUT  blockiert das System nicht. Die Pseudo-Multitaskingbefhle (z.B. ON TIMER GOSUB) werden weiterhin ausgeführt und auch andere Programme laufen weiter. Auch ein Programmabbruch mit [Ctrl]+[C] ist während der Eingabe möglich.
Beispiel: OPEN "O",1,FN Get_Fsspec$(0,0,"TEST.DAT") 
WRITE #1,"123","456","487" 
WRITE #1,"123","456","487" 
CLOSE 1 
OPEN "I",1,FN Get_Fsspec$(0,0,"TEST.DAT") 
INPUT #1,A$,B$,C$ 
LINE INPUT #1,Line$ 
CLOSE 1 
PRINT A$,B$,C$ 
PRINT Line$ 
Ergebnis:  123  456  487 
"123","456","487" 
siehe auch:  INPUT   INPUT #     INPUT USING 
   
 
 
 
LINE PATTERN
Typ: Befehl
Syntax:  LINE PATTERN=<num.Ausdruck>,<num.Ausdruck> 
LINE PATTERN=<Linienmuster>,<Linienmuster>
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, daß als Füllmuster für Linien dient, wenn LINE STYLE= 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 Linienmuster 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 Linienmuster erstellen.
Beispiel: LINE PATTERN= %01010101101010100101010110101010, %01010101101010100101010110101010
LINE WIDTH= 8:LINE STYLE= 0
DRAW 100,100 to 200,200
'Strings zur Definition des Musters verwenden.
LINE PATTERN= VAL("%10001000100010001000100010001000"), VAL("%00100010001000100010001000100010")
DRAW 100,200 TO 200,100
Ergebnis:  Es werden zwei graue Linien diagonal gezeichnet.
siehe auch:  FILL PATTERN= LINE STYLE=
   
 
 
LINE STYLE 
Typ: Befehl 
Syntax:  LINE STYLE=<num.Ausdruck> 
LINE STYLE=<Füllmuster>
Erklärung:  Der numerische Wert gibt das bei Zeichen-Befehlen verwendete Füllmuster an. Für den numerischen Ausdruck können Zahlen zwischen 0 und 38 eingesetzt werden. Andere Werte liefern ein undefiniertes Ergebnis. Bei 0 wird das mit LINE PATTERN definierte Muster verwendet.

Hinweis: Um die Lücke zu zeichnen, wird immer Farbe 0 verwendet. Deshalb ist es in einer Schwarz-Weiß-Darstellung nicht ohne weiteres möglich, eine weiße gestrichelte Linie auf schwarzem Grund zu zeichnen. Man muß zusätzlich den geeigneten Zeichenmodus (MODE=) wählen. 
siehe auch:  LINE COLOR    LINE PATTERN    LINE WIDTH 
   
 
 
LINE WIDTH
Typ: Befehl 
Syntax:  LINE WIDTH=<num.Ausdruck> 
LINE WIDTH=<Linienbreite in Pixeln>
Erklärung:  Stellt die Linienbreite in Pixeln für DRAW, BOX und RBOX Befehle ein.

Hinweis: Mit der Prozedur 'Set_Pen_Size(Breite,Höhe)' aus der ExtensionLibrary kann man Breite und Höhe des Zeichenstifts auf unterschiedliche Werte setzen, so daß statt mit einem Quadrat mit einem Rechteck gezeichnet wird.
siehe auch:  BOX   RBOX   Set_Pen_Size
   
 

LIST 
Erklärung:   hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
   
 
 
LIST$ 
Erklärung: Dieses Wort ist reserviert. Bitte nicht verwenden. 
   
 

LLIST
Erklärung:   hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
   
 
 
LN 
Typ: Funktion 
Syntax:  LN (<num.Ausdruck>) 
Erklärung:  Berechnet den natürlichen Logarithmus des numerischen Ausdrucks. Der Definitionsbereich umfaßt alle positiven reellen Zahlen. Negative Argumente führen zu einer NAN (Not A Number). 
LN ist die Umkehrfunktion zu EXP.
Beispiel: PRINT LN(EXP(1)), LN(10) 
PRINT LN(-1) 
Ergebnis:   1    2.30258509299405 
 NAN 
siehe auch:  LOG      EXP 
   
 

LOAD 
Erklärung:  hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
   
 

LOC 
Typ: Funktion 
Syntax:  LOC(<num.Ausdruck>) 
LOC(<Dateinummer>) 
Erklärung:  Gibt die Nummer des zuletzt gelesenen oder geschriebenen Datensatzes in einer Random-Access Datei an. Die Datei muß zuvor durch OPEN "R" geöffnet worden sein. Hat bisher noch kein Zugriff auf die Datei stattgefunden oder wurde über das Dateiende hinaus gelesen, so ergibt die Funktion den Wert 0. 
Bei anderen Dateitypen erhält man die Position des Schreib-Lese-Zeigers als Funktionswert.
siehe auch:  LOF   EOF   OPEN 
   
 

LOCAL 
Typ: Befehl 
Syntax:  LOCAL <Variable>[= <Ausdruck>][[,<Variable>[= <Ausdruck>] ]] 
Erklärung:  Definiert eine oder mehrere Variablen in einer Prozedur oder mehrzeiligen Funktion als lokal und weist ihnen gegebenenfalls den genannten Ausdruck zu. Die lokale Variable hat nur innerhalb dieser Routine Gültigkeit. Ruft sich die Routine selbst auf (rekursive Programmierung), so unterscheiden sich die lokalen Variablen der einzelnen Aufruftiefen. Mit LOCAL können auch in einer GOSUB-Unterroutine Variablen local definiert werden. Sie bleiben dann bis zum nächsten RETURN gültig.

Wichtig: LOCAL darf nicht innerhalb von Strukturen (SELECT ... CASE, REPEAT ... UNTIL, usw.) verwendet werden. Ausnahme: IF ... THEN
Beispiel: A=15 
Beispiel 
PRINT A,B 
END 


DEF PROC Beispiel 
 LOCAL A 
 A=16:B=10 
 PRINT A,B 
END_PROC 
Ergebnis:   16 10 
 15 10 
siehe auch:  DEF PROC   DEF FN   GOSUB 
   
 

LOCATE 
Typ: Befehl 
Syntax:  LOCATE <num.Ausdruck>,<num.Ausdruck> 
LOCATE <Zeile>,<Spalte> 
Erklärung:  Positioniert den Cursor auf die angegebene Bildschirmstelle. Die oberste Zeile hat hierbei die Nummer eins, während die Spaltenzählung bei 0 beginnt. 
Beispiel: LOCATE 3,5: PRINT "Das ist ein Test" 
Ergebnis:  Das ist ein Test 
siehe auch:  PRINT @   CSRLIN   POS 
   
 

LOCK 
Erklärung:   hat in Omikron Basic keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
   
 

LOF 
Typ: Funktion 
Syntax:  LOF(<num.Ausdruck>) 
LOF(<Dateinummer>) 
Erklärung:  Bei einer sequentiellen Datei erhält man die Länge in Byte zurück, bei einer Random-Access Datei die Anzahl der gespeicherten Datensätze. Das Dateiende-Zeichen (CHR$(26)) wird, sofern vorhanden, mitgezählt. Die Datei muß zuvor mit OPEN geöffnet worden sein. 
   
 
 

LOG 
Typ: Funktion 
Syntax:  LOG(<num.Ausdruck>,<num.Ausdruck>) 
LOG(<Basis>,<Wert>) 
Erklärung:  Errechnet den Logarithmus des Wertes zur angegebenen Basis. <Basis> und <Wert> müssen beide größer 0 sein. 
Beispiel: PRINT LOG(2,1024), LOG(3,81), LOG(10,8475) 
Ergebnis:   10   4   3.92813970687512 
siehe auch:  LN     EXP 
   
 

LOW 
Typ: Funktion 
Syntax:  LOW(<num.Ausdruck>) 
Erklärung:  Ermittelt die unteren 16 Bit des in Long-Integer-Format gewandelten numerischen Ausdrucks. Gegenstück zu dieser Funktion ist HIGH.

Hinweis: LOW(X) <> X AND $FFFF
Beispiel: PRINT HEX$(LOW($12345678)), LOW(1025), LOW($1234FFFE)
Ergebnis:   5678    1025   -2
siehe auch:  HIGH 
   
 

LOWER$ 
Typ: Funktion 
Syntax:  LOWER$(<String-Ausdruck>) 
Erklärung:  Wandelt alle im String-Ausdruck enthaltenen Buchstaben in kleine Buchstaben um. Ist MODE "D" eingestellt, so werden auch die Umlaute Ä,Ö,Ü gewandelt. Gegenstück zu dieser Funktion ist UPPER$. 
Beispiel: PRINT LOWER$("Dies ist ein Test: ÜÖÄ") 
Ergebnis:  dies ist ein test: üöä 
siehe auch:  UPPER$   MODE 
   
 

LPEEK 
Typ: Funktion 
Syntax:  LPEEK(<num.Ausdruck>) 
LPEEK(<Adresse>) 
Erklärung:  Liest an der durch den numerischen Ausdruck gegebenen Adresse eine Long-Integer-Zahl (32 Bit).

Hinweis: Die Adresse sollte eine durch 4 teilbare Zahl sein (natürliche Adresse für Long-Integer-Operationen). Zwar kann der PowerPC-Prozessor auf beliebigen (auch ungeraden Adressen) operieren, die Geschwindigkeit verringert sich dadurch jedoch deutlich.
siehe auch:  PEEK   WPEEK   SPEEK   DPEEK   POKE   WPOKE    LPOKE   SPOKE   DPOKE
   
 

LPOKE 
Typ: Befehl 
Syntax:  LPOKE <num.Ausdruck>,<num. Ausdruck> 
LPOKE <Adresse>,<Wert> 
Erklärung:  Legt <Wert> an der gegebenen Adresse als eine Long-Integer-Zahl ab.  Der Wert muß zwischen -2147483648 und 2147483647 liegen. 

Hinweis: Die Adresse sollte eine durch 4 teilbare Zahl sein (natürliche Adresse für Long-Integer-Operationen). Zwar kann der PowerPC-Prozessor auf beliebigen (auch ungeraden Adressen) operieren, die Geschwindigkeit verringert sich dadurch jedoch deutlich.
siehe auch:  PEEK   WPEEK   LPEEK   SPEEK   DPEEK   POKE   WPOKE   SPOKE   DPOKE
   
 

LPOS 
Typ: Funktion 
Syntax:  LPOS(<num.Ausdruck>) 
Erklärung:  Liefert die momentane Druckspalte. Der numerische Ausdruck ist ohne Bedeutung, muß aber angegeben werden. 
siehe auch:  LPRINT 
   
 

LPRINT 
Typ: Befehl
Syntax:  LPRINT [USING <String-Ausdruck>] [[{;|,}<Ausdruck>]][{,|;}] 
Erklärung:  Genau wie bei PRINT werden die folgenden Ausdrücke ausgegeben, allerdings auf den Drucker. Für die Formatierung und Tabulierung der Ausgabe gelten die gleichen Regeln wie für PRINT. Auch die zusätzliche USING- Anweisung läßt sich genauso wie bei PRINT USING einsetzen. 

Im einzelnen funktioniert der LPRINT Befehl wie folgt:
Zunächst überprüft Omikron Basic, ob schon eine Seite auf dem Drucker angefangen wurde. Wenn dies der Fall ist, wird der String-Ausdruck an der aktuellen Cursorposition auf dieser Seite ausgegeben. Sobald der Cursor dabei das Ende der Seite erreicht hat, wird diese geschlossen und automatisch eine neue angefangen. Mit dem Befehl LPRINT CHR$(12); können Sie allerdings auch jederzeit ein Schließen der aktuellen Seite erzwingen. Der nächste LPRINT-Befehl öffnet dann automatisch eine neue Seite. Dies ist besonders für Ganzseitendrucker (z.B. Laserdrucker) wichtig, da man hier nichts von dem Ausdruck sieht, bevor die Seite nicht geschlossen wurde.
Wenn Sie mit Ihrer Ausgabe fertigt sind, schließen Sie mit LPRINT CHR$(26); die letzte Seite und gleichzeitigt Ihr ganzes Dokument.

Hinweis: LPRINT gibt die Daten nicht direkt an den Drucker, sondern in einen PrinterPort, den man sich als virtuellen Bildschirm vorstellen kann. Dort werden sie vom installierten Druckertreiber aufbereitet und an den Drucker geschickt. Wenn Sie Ihren Drucker oder Plotter direkt ansteuern wollen, können Sie dies tun, indem Sie die serielle Schnittstelle zum Drucker zunächst mit OPEN "P" öffnen und die Steuerkommandos dann direkt mit PRINT # oder PUT an den Drucker schicken. Dann müssen Sie aber selbst einen Treiber für Ihren Drucker programmieren, so daß diese Methode nur für Spezialanwendungen in Betracht kommt.

Wichtig: Sobald Ihr Programm mit dem Ausdruck der Daten fertig ist, sollten Sie unbedingt mit LPRINT CHR$(26); die Seite und den PrinterPort schließen und dadurch auch gleich den Rest ausgeben. Wird nämlich der Druckertreiber gewechselt, solange noch der PrinterPort geöffnet ist, kann es zum Absturz kommen, da der neu gewählte Treiber normalerweise nicht mit dem alten PrinterPort harmoniert.
Die Befehle INPUT , INPUT USING und FORM_ALERT schließen ein noch offenes Dokument. Der Druckvorgang kann daher nicht durch Befehle unterbrochen werden, die Ihr Programm zum aktiven Prozess machen würden.
Beispiel: FOR I=1 TO 3
LPRINT "Seite"+STR$(I)
LPRINT CHR$(12);
NEXT I
LPRINT CHR$(26);
END
Ergebnis:  Es werden die Texte "Seite 1", "Seite 2" und "Seite 3" auf 3 verschiedene Seiten auf dem Drucker ausgegeben.
siehe auch:  PRINT     PRINT #     PUT     LPOS    GRAF_PORT
   
 

FN  -  INPUT USING Inhalt | LSET - NEXT

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


© 1997-2001 Berkhan-Software