Die Klasse LCDLabel (gb.form) implementiert ein Label, das seinen Text wie ein LCD-Bildschirm zeigt. In einem 16-Segment-Anzeigeelement (SISD – sixteen-segment display) kann jedes Segment ein- oder ausgeschaltet werden.
Jedes Zeichen wird in einem separaten 16-Segment-Anzeigeelement angezeigt. Die Anzahl der anzuzeigenden Zeichen bestimmt die Anzahl der 16-Segment-Anzeigeelemente. Durch die spezielle Geometrie im 16-Segment-Anzeigeelement lassen sich nicht alle Zeichen anzeigen. Alle lateinischen Buchstaben (ISO) und alle Ziffern [0-9] werden sicher angezeigt. Kleinbuchstaben werden automatisch in Großbuchstaben umgewandelt. Hinzu kommen noch die folgenden 19 Sonderzeichen:
_ [ ] - + | / = * < > @ ' ' ° ~ $
Abbildung 17.16.1: Anzeige Sonderzeichen
Die Zeichen Backslash \ und Anführungszeichen „ müssen Sie mit einem Backslash \ maskieren:
LCDLabel.Text = "\\" und LCDLabel.Text = "\""
Ein Punkt und ein Doppelpunkt werden (alternativ) in einem eigenen Segment unmittelbar nach dem 16-Segment-Anzeigeelement dargestellt: LCDLabel.Text = "http://www.gambas-buch.de".
Abbildung 17.16.2: Anzeige Sonderzeichen, Punkt und Doppelpunkt
Die deutschen Umlaute und andere Zeichen – wie zum Beispiel ein ? oder ein ß – werden nicht angezeigt und durch eine Leerstelle ersetzt! Gut zu wissen: Ein Leerzeichen als zulässiges Zeichen wird durch eine Leerstelle angezeigt!
Ausgewählte Eigenschaften eines LCDLabels werden in der folgenden Tabelle aufgeführt und beschrieben:
Eigenschaft | Typ | Beschreibung |
---|---|---|
Alignment | Integer | Gibt die Ausrichtung des anzuzeigenden Textes an. Konstanten: Align.Normal, Align.Left, Align.Right, Align.Center. |
Border | Boolean | Gibt an, ob das LCDLabel von einem Rand umgeben ist oder nicht. |
HighlightColor | Integer | Setzt die Farbe für HighlightColor oder liest den Farbwert aus. Standardwert ist Color.Default und entspricht ohne HighlightColor. |
Padding | Integer | Ermittelt die Randbreite um das LCDLabel oder setzt die Randbreite. |
Sheared | Boolean | Zeigt an, ob der Text nach rechts geneigt angezeigt wird oder nicht. |
Text | String | Gibt den angezeigten LCDLabel-Text zurück oder setzt den anzuzeigenden Text im LCDLabel. |
Tabelle 17.16.1.1: Übersicht zu Eigenschaften der Komponente LCDLabel
In diesem Projekt geht es u.a. um die (formatierte) Anzeige von Datum und Zeit. Der Quelltext wird vollständig angegeben. Die System-Zeit wird im Sekundentakt über einen Timer ausgelesen und mit blinkendem Doppelpunkt (→ Zeilen 26 und 34) als Trennzeichen angezeigt:
Abbildung 17.16.2.1: Anzeige Zeit
Quelltext:
[1] ' Gambas class file [2] [3] Private bTrenn As Boolean [4] [5] Public Sub Form_Open() [6] FMain.Center [7] FMain.Text = "Tempus fugit ..." [8] FMain.Arrangement = Arrange.Vertical [9] FMain.Margin = True [10] FMain.Spacing = True [11] [12] LCDLabel.Border = True [13] LCDLabel.Alignment = Align.Center [14] LCDLabel.Background = &HC3DDFF& [15] LCDLabel.Foreground = &H0000FF& ' Color.Red [16] LCDLabel.Expand = True [17] LCDLabel.Font = Font["Arial, 14"] ' Zulässig - aber ohne Wirkung! [18] [19] LCDTimer.Delay = 1000 [20] LCDTimer.Start [21] LCDTimer_Timer() [22] End ' Form_Open() [23] [24] Public Sub LCDTimer_Timer() [25] [26] bTrenn = Not bTrenn [27] [28] ' LCDLabel.Padding = 8 [29] ' FMain.Text = "19 Sonderzeichen …" [30] ' LCDLabel.Text = "_[]+-|\\/=*<>@'\"`°~$" [31] ' FMain.Text = "Das Online-Buch im Internet" [32] ' LCDLabel.Text = "http://www.gambas-buch.de" [33] [34] LCDLabel.Text = Format(Now,"hh" & If(bTrenn, ":", "") & "nn" & If(bTrenn,":","") & "ss") [35] [36] End ' LCDTimer_Timer()
Die Zeile 34 können Sie alternativ durch folgende Zeilen ersetzen:
Artikel