Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - WIDTH (Anweisung)

Referenz-Navigation

 

Syntax A: WIDTH [Spalten], [Zeilen]
Syntax B: WIDTH LPRINT Spalten
Syntax C: WIDTH { #Kanal | Gerätename }, Spalten
Typ: Anweisung
Kategorie: Konsole

WIDTH legt die Anzahl der Zeilen sowie der Zeichen pro Zeile für die Textausgabe in Konsolen- und Grafikfenstern (Syntax A), bei der Druckerausgabe (Syntax B) bzw. bei der Ausgabe in eine Datei (Syntax C) fest.

Anmerkung: Die Syntax-Varianten B und C konnten noch nicht erfolgreich getestet werden.

Beim Aufruf von WIDTH in Grafikmodi wird ein BefehlsreferenzeintragCLS-Aufruf erzwungen, der Bildschirm wird also gelöscht. Wenn die Kombination Spalten x Zeilen unzulässig ist (z.B. da der Bildschirm nicht so viele Zeichen anzeigen kann), wird keine Änderung vorgenommen.

Beispiele: WIDTH innerhalb der Konsole
Diese Beispiele funktionieren nur unter Windows und DOS.

WIDTH 40, 25
PRINT "Hallo Welt"
SLEEP

Wenn das Konsole-Fenster bereits beschrieben ist, bevor seine Größe mit
WIDTH geändert wird, bleibt dieser Text erhalten:

WIDTH 40, 25
PRINT "ein kleines Fenster"
SLEEP
WIDTH 80, 60
PRINT "ein grosses Fenster"
SLEEP

Im Vollbildmodus unterstützt FreeBASIC nur die Auflösungen im Bereich von 80x25 bis 80x50. Sie können durch das Drücken von [ALT]+[ENTER] zwischen Fenster-und Vollbildmodus wechseln. Haben Sie eine Auflösung eingestellt, die im Vollbildmodus nicht unterstützt wird (z. B. wegen zu vieler Spalten), und Ihr Fenster im Fenstermodus beschrieben, gehen diese Informationen nach zweimaligem Wechsel (in den Vollbildmodus und wieder zurück) nicht verloren; sie können aber im Vollbildmodus nicht angezeigt werden. Wenn Sie eine geringere Auflösung einstellen und durch einen Wechsel in den Vollbildmodus eine Erhöhung der Auflösung erzwingen, so können Sie an jede Position der Vollbild-Konsole schreiben. Beim Zurückwechseln in den Fenstermodus gehen diese Informationen allerdings verloren.

WIDTH 91, 25
DIM Zeile AS STRING
FOR i as integer = 32 TO 122
  ' Zeile aus 90 Zeichen erzeugen, die alle ASCII-Zeichen
  ' vom '!' bis zum 'z' enthält.
  Zeile &= CHR(i)
NEXT
PRINT Zeile
PRINT "Im Fenstermodus kann diese ganze Zeile angezeigt werden."
PRINT "Wechseln Sie nun bitte per [ALT]+[ENTER] in den Vollbildmodus."
PRINT "Druecken Sie dann bitte eine beliebige Taste, um fortzusetzen."
SLEEP
PRINT "Im Vollbildmodus koennen nur 80x25 Zeichen angezeigt werden."
PRINT "Daher werden von der ersten Zeile nur noch die ersten 80 Zeichen"
PRINT "angezeigt."
PRINT "Wechseln Sie nun bitte wieder per [ALT]+[ENTER] in den Fenstermodus."
PRINT "Druecken Sie dann bitte eine beliebige Taste, um fortzusetzen."
SLEEP
PRINT "Die ganze Zeile wird wieder angezeigt."
PRINT "Druecken Sie bitte eine beliebige Taste, um fortzusetzen."
SLEEP
CLS
WIDTH 40, 26
PRINT "Das Fenster ist jetzt 40x26 Zeichen gross."
PRINT "Wechseln Sie nun bitte per [ALT]+[ENTER] in den Vollbildmodus"
PRINT "druecken Sie dann eine beliebige Taste, um fortzusetzen."
SLEEP

LOCATE 40, 41
PRINT "Wie Sie sehen, bietet der Vollbild-Modus immer noch genug Platz,"
PRINT "um 80x25 Zeichen darzustellen."
PRINT "Allerdings wird jede Zeile schon nach 40 Zeichen umgebrochen."
PRINT "Wechseln Sie nun bitte per [ALT]+[ENTER] in den Fenstermodus"
PRINT "Druecken Sie dann eine beliebige Taste, um zu beenden."
SLEEP

Beispiel: WIDTH im Grafikmodus
Im Grafikmodus wird die Breite und Höhe des Fensters durch BefehlsreferenzeintragSCREENRES festgelegt. Abhängig von dieser Größe sind nur noch bestimmte Angaben zur Spalten- und Zeilenzahl möglich. Um etwa in einem 600x400 Pixel großen Fenster eine 8x16 Pixel große Schrift zu wählen, müssen 25 Zeilen zu je 75 Spalten eingestellt werden. Die Anzahl berechnet sich aus 600 \ 8 = 75 und 400 \ 16 = 25.
Ist die Fensterauflösung zu dem Zeitpunkt, zu dem die Einstellung der Zeichenhöhe vorgenommen werden soll, nicht bekannt, kann sie mit BefehlsreferenzeintragSCREENINFO abgefragt werden. Die Angabe von 'Spalten' und 'Zeilen' richtet sich dann nach den ermittelten Werten.

Dim As Integer breit, hoch
ScreenInfo breit, hoch
Width breit\8, hoch\16 ' für eine Schriftgröße von 8x16
' Für eine Schriftgröße von 8x14 muss hoch\14 gesetzt
' werden, für eine Schriftgröße von 8x8 entsprechend hoch\8

Unterschiede zu QB:
In QB ist die Spaltenzahl auf die Werte 40 und 80 beschränkt, während für die Zeilenzahl die Werte 25, 30, 43, 50 und 60 annehmen kann, abhängig von der verwendeten Grafikhardware und dem eingestellten Screen-Modus.

Plattformbedingte Unterschiede:

Unterschiede zu früheren Versionen von FreeBASIC:
Seit FreeBASIC v0.15 kann WIDTH bei Dateien, Druckern oder Geräten eingesetzt werden.

Siehe auch:
BefehlsreferenzeintragWIDTH (Funktion), BefehlsreferenzeintragLOCATE (Anweisung), BefehlsreferenzeintragKonsole


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 17.07.2007 von RedakteurJojo angelegt.
  • Die aktuellste Version wurde am 26.12.2012 von Redakteurnemored gespeichert.
  Versionen Versionen