Hallo zusammen,
Im Gambas-Buch findet sich der Screenshot einer Textarea mit einer sauberen Formatierung (16.14.0 TextArea)
Leider finde ich nirgends den Code zu dem Beispiel.
Kann jemand helfen
Gruß Jürgen
Textarea - Spalten
Re: Textarea - Spalten
moin,
suche ich auch noch, deshalb nehme ich dann meistens ein 'TableView', evtl. noch ein 'TextEditor'.
suche ich auch noch, deshalb nehme ich dann meistens ein 'TableView', evtl. noch ein 'TextEditor'.
Gruss
Re: Textarea - Spalten
Moin
Ich habe mir die Formatierung der Spalten so bauen wollen:
Bei den linksbündigen Spalten hänge ich 20 Leerzeichen an und nehme dann den den linken Teil des Strings (left(String,20)). Bei den rechtsbündigen Spalten nehme ich 20 Leerzeichen, hänge den String an und nehme den rechten Teil davon (right(String,20)). Als Schrift nehme ich Monotype 10, dann sind alle Abstände gleich...
Das funktioniert solange gut, solange in den Strings kein Umlaut (ÄäÖöÜü...) auftaucht. Passiert dies, scheint der String eine größere Länge zu haben. Soll heißen:
Hans (4 Zeichen) + 16 Leerzeichen
Jürgen (6 Zeichen) + 14 Leerzeichen (So sollte es sein)
Jürgen (7 Zeichen) + 13 Leerzeichen (so wird es dargestellt)
Eine Lösung wäre die Überprüfung des Strings auf Umlaute. Wenn nein dann (Left ( String+ 20 Leerzeichen), 20), wenn ja dann (Left ( String+ 20 Leerzeichen), 20-Anzahl(Umlaute))
Hat vielleicht jemand sonst noch eine Idee?
Gruß Jürgen
Ich habe mir die Formatierung der Spalten so bauen wollen:
Bei den linksbündigen Spalten hänge ich 20 Leerzeichen an und nehme dann den den linken Teil des Strings (left(String,20)). Bei den rechtsbündigen Spalten nehme ich 20 Leerzeichen, hänge den String an und nehme den rechten Teil davon (right(String,20)). Als Schrift nehme ich Monotype 10, dann sind alle Abstände gleich...
Das funktioniert solange gut, solange in den Strings kein Umlaut (ÄäÖöÜü...) auftaucht. Passiert dies, scheint der String eine größere Länge zu haben. Soll heißen:
Hans (4 Zeichen) + 16 Leerzeichen
Jürgen (6 Zeichen) + 14 Leerzeichen (So sollte es sein)
Jürgen (7 Zeichen) + 13 Leerzeichen (so wird es dargestellt)
Eine Lösung wäre die Überprüfung des Strings auf Umlaute. Wenn nein dann (Left ( String+ 20 Leerzeichen), 20), wenn ja dann (Left ( String+ 20 Leerzeichen), 20-Anzahl(Umlaute))
Hat vielleicht jemand sonst noch eine Idee?
Gruß Jürgen
Re: Textarea - Spalten
Du musst die UTF8-Verträglichen Methoden der String-Klasse verwenden, wie es in der Dokumentation steht http://gambaswiki.org/wiki/cat/string steht:
Also nicht Left(...) sondern String.Left(...) usw. Die String Klasse ist hier beschrieben: http://gambaswiki.org/wiki/comp/gb/stringMost of these functions only deal with ASCII strings. To manipulate UTF-8 strings, use the UTF-8 equivalent method of the String class indicated in the third column.
If no UTF-8 equivalent function is indicated, then the ASCII function also works with UTF-8 strings.
Alles Gute,
tionov
tionov
Re: Textarea - Spalten
Beispiel, Text tabellenartig formatieren:
gambas code
gambas code
' Gambas module file Public Sub Main() Dim sBuffer, sLeft, sMid, sRight As String Dim iStart, iLength As Integer sBuffer = Space(80) iStart = 5 sLeft = "links" iLength = String.Len(sLeft) sBuffer = String.Left(sBuffer, iStart - 1) & sLeft & String.Mid(sBuffer, iStart + iLength) iStart = 35 sMid = "mitte" iLength = String.Len(sMid) sBuffer = String.Left(sBuffer, iStart - 1) & sMid & String.Mid(sBuffer, iStart + iLength) iStart = 70 sRight = "rechts" iLength = String.Len(sRight) sBuffer = String.Left(sBuffer, iStart - 1) & sRight & String.Mid(sBuffer, iStart + iLength) Print "<" & sBuffer & ">" End
Alles Gute,
tionov
tionov
Re: Textarea - Spalten
Es geht sogar noch einfacher, mit der Zuweisung zu Mid:
gambas code
gambas code
' Gambas module file Public Sub Main() Dim sBuffer, sLeft, sMid, sRight As String Dim iStart, iLength As Integer sBuffer = Space(80) iStart = 5 sLeft = "links" Mid(sBuffer, iStart, String.Len(sLeft)) = sLeft iStart = 35 sMid = "mitte" Mid(sBuffer, iStart, String.Len(sLeft)) = sMid iStart = 70 sRight = "rechts" Mid(sBuffer, iStart, String.Len(sLeft)) = sRight Print "<" & sBuffer & ">" End
Alles Gute,
tionov
tionov
Re: Textarea - Spalten
Vielen Dank für die Hilfe...
Viele Grüße
Melsmann
Viele Grüße
Melsmann
Wer ist online?
Mitglieder in diesem Forum: Google [Bot] und 2 Gäste