AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
Inhalt   <<   <   >   >>   Index

Ausgabe von Informationen mittels des 'Ausgangsstrom' (d.h. Bildschirm, Drucker usw.)

Syntax:     Die Elemente nach PRINT können Zeichenketten-Ausdrücke, numerische Ausdrücke und Druckformatzeichen sein. Standardmäßig werden numerische Ausdrücke in Dezimalnotierung und rechtsbündig in der Druckzone (@% siehe unten) ausgegeben. Zeichenketten werden in der Druckzone linksbündig angeordnet. Die Druckformatzeichen haben folgende Auswirkungen:

     ; (Strichpunkt): Keine rechtsbündige Anordnung (d.h. keine führenden Leerzeichen) der Zahlen in der Druckzone. Numerisches Format: Dezimalnotierung. Strichpunkt bleibt bis zum nächsten Komma gültig. Keine neue Zeile ausgeben, wenn dies das letzte Zeichen der PRINT Anweisung ist.

     , (Komma): Zahlen in der Druckzone rechtsbündig anordnen. Numerische Ausdrücke in Dezimalnotierung (dies ist der Standard-PRINT-Modus). Das Komma bleibt bis zum nächsten Strichpunkt gültig. Wenn sich der Cursor nicht am Anfang der Druckzone befindet, Leerzeichen bis zur nächsten Druckzone einfügen.

     ~ (Tilde): Zahlen als Hex-Zahlen ausgeben. Je nach aktueller Einstellung rechts- oder linksbündig drucken. Die Tilde bleibt bis zum nächsten Komma oder Strichpunkt gültig.

     ' (Apostroph): Neue Zeile drucken. Momentan geltendes links-/rechtsbündiges Format oder Blocksatz unverändert belassen.

     TAB(Ausdruck) : Wenn ein Argument gegeben ist, z.B. TAB(n) (n_COUNT) Leerzeichen ausgeben. Wenn der Cursor anfänglich weiter als Position n steht (d.h. auf COUNT>n), zunächst eine neue Zeile einfügen. Wenn zwei Argumente gegeben sind, TAB(10,20), direkt auf diese Tab-Position springen. Momentan geltendes links-/rechtsbündiges oder Blocksatzformat unverändert belassen.

     SPCFaktor : Angegebene Anzahl von Leerzeichen ausgeben. 
SPC5 erzeugt 5 Leerzeichen. Rechts-/linksbündiges Format und Hex-/Dezimal-Modus werden unverändert beibehalten.

     (Leerzeichen): Das nächste Element ausgeben, rechts-/linksbündiges Format und Hex-/Dezimal-Modus werden unverändert beibehalten.


     Beim Drucken von Zeichenketten (Strings) gelten die oben genannten Regeln, nur daß der Hex-Modus ohne Wirkung auf die Zeichenketten bleibt. Außerdem werden nach einer Zeichenkette keine nachfolgenden Leerzeichen gedruckt, es sei denn, es folgt ein Komma. Druckt ausreichend Leerzeichen, um an den Anfang der nächsten Druckzone zu gelangen.

     Das Format, in dem Zahlen angegeben werden, und die Länge der Druckzonen werden vom Wert der speziellen System-Integer-Variablen @% bestimmt. Jedem Byte in der Variablen kommt eine spezielle bedeutung zu:

     Byte 4:     Bestimmt, ob die STR$-Funktion beim Verwandeln des Arguments in einen String das durch @% festgelegte Druckformat oder ein allgemeines Standardformat verwendet. Wenn das Byte Null ist (Standardzustand), benutzt STR$ ein allgemeines Format (gleichbedeutend mit 
@%=&A00), andernfalls benutzt STR$ das durch den Rest von @% definierte Format.

     Byte 3: Wählt das zu verwendende Format. Die legitimen Werte sind:

           0     Allgemeines Format: Zahlen haben die Form nnn.nnn, wobei die maximale Anzahl der ausgegebenen Stellen in Byte 2 vorgegeben ist. Dies ist das Standardformat.
           1     Exponentialformat: Zahlen haben die Form n.nnEnn, wobei die Anzahl der Stellen vor dem E in Byte 2 festgelegt wird.
           2     Festes Format: Zahlen haben die Form nnn.nnn, wobei die Zahl der Nachkommastellen in Byte 2 definiert sind.

     Byte 2:     Bestimmt die Anzahl der ausgegebenen Stellen. Im allgemeinen Format ist dies die Anzahl der Stellen, die ausgedruckt werden kann, bevor ins Exponentialvormat zurückgeschaltet wird (1 bis 10); im Exponentialformat gibt es die Anzahl der signifikanten Stellen an, die nach dem Dezimalpunkt ausgegeben werden (1 bis 10). Im festen Format gibt es (genau) die Anzahl der Nachkommastellen an.

     Byte 1:     Liefert die Druckzonen-Breite (Tabulierung unter Verwendung von Kommas). Liegt im Bereich von 0 bis 255.

@%-Beispiele     
@%=&0000090A verwendet allgemeines Format mit bis zu neun signifikanten Stellen in einer Druckbreite mit 10 Zeichenpositionen. Bitte beachten Sie, daß das alggemeine Format auf das Exponentialformat zrückschaltet, wenn die Zahl kleiner als 0.1 ist. Dies ist die Standardeinstellung von @%.

     
@%=&0102020A verwendet festes Format mit zwei Nachkommastellen in einer Druckzone mit 10 Zeichen. Außerdem verwendet STR$ dieses Format anstelle des Standardformats. Zahlen werden in der Form 1.23, 923.10 usw. ausgegeben.

     
@%=&00010408 benutzt das Exponentialformat. Dabei werden vier signifikante Stellen in einer Druckzone mit 8 Zeichenpositionen ausgegeben. Diese Zahlen haben die Form: 1.234E0 , 1.100E-3 usw.

     Hinweis: Setzen von Byte 2 auf 10, z.B. 
 &0A0A, deckt die Ungenauigkeiten auf, die entstehen, wenn man bestimmte Zahlen im Binärformat speichert. So ergibt:

     
PRINT 7.7

     7.699999999, wenn @%=&0A0A.

     Die Druckformatzeichen 'TAB( und SPC können auch in INPUT Anweisungen verwendet werden.

Beispiele:     
PRINT "Guten Tag";
     
PRINT a.SIN(RAD(a)),x,y'',p,q
     
PRINT TAB(10,3)"Gewinn"SPC(10);Gewinn;

[sh-index] Back to list of manuals