Laden...

[erledigt] Steuerzeichen in der TextBox

Erstellt von Thomas.A vor 14 Jahren Letzter Beitrag vor 14 Jahren 4.742 Views
T
Thomas.A Themenstarter:in
19 Beiträge seit 2006
vor 14 Jahren
[erledigt] Steuerzeichen in der TextBox

Hallo zusammen,
ich habe ein kleines Tool geschrieben, welches Daten über eine serielle Schnittstelle einliest. Die Daten können per Auswahl auch in eine Log-datei geschrieben werden. Das Tool ist mit VisualC# Express 2008 und dem .NET 3.5 unter WIN7 erstellt. Alles läuft wunderbar.
Wenn ich dieses Tool auf einem anderen PC, in meinem Fall unter XP Prof. SP3 mit installiertem .NET 3.5 benutze, passiert folgendes.
In der TextBox werden an bestimmten Stellen Sonderzeichen angezeigt. Die Analyse der Logdatei hat ergeben, dass es sich z.B. um einen Wert \x1c handelt. Er wird in der TextBox als kleines Quadrat angezeigt.
Warum sehe ich dieses Zeichen auf dem XP-Rechner und auf dem WIN7-Rechner nicht.
Ein Experimentieren mit den Schriftarten der TextBox hat nichts gebracht, oder ich mache was grundsätzliches falsch.
Vielleicht kann mir ja jemand einen Tip geben...

J
3.331 Beiträge seit 2006
vor 14 Jahren

Hallo Thomas,

eine wirkliche Erklärung habe ich nicht. Aber unter Steuerzeichen steht, dass es sich bei \x1C um einen FileSeparator handelt. Das könnte es erklären, warum dieses Zeichen unter verschiedenen Betriebssystemen unterschiedlich angezeigt wird.

Gruß Jürgen

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo Thomas.A,

es hängt von dem Font ab, wie ein Zeichen dargestellt wird. Bei vielen Fonts sind die Zeichen mit Codes unter 32 als kleine Quadrate dargestellt. Das ist nur bei den Steuerzeichen für Tab und Zeilenumbruch anders, die eben nicht als Zeichen darstellt werden, sondern den Textfluss beeinflussen.

Wenn du sicher gehen willst, ersetze die Steuerzeichen durch einen anderen Text z.B. 0x1c.

herbivore

T
Thomas.A Themenstarter:in
19 Beiträge seit 2006
vor 14 Jahren

Hallo herbivore,

das Steuerzeichen, um beim Beispiel zu bleiben \x1c, zu entfernen ist sicherlich nicht das Problem. Es ist aber leider nicht das einzigste Zeichen, welches die Quadrate in der TextBox erzeugt.
Ich verstehe den Unterschied nicht, weshalb bei Windows 7 alles ok. ist und bei XP dagegen nicht. Es ist das gleiche Tool auf beiden PC's installiert.
Im Anhang befindet sich eine Logdatei.
Unter Windows 7 korrekte Darstellung, unter XP ist das Problem zu sehen.

Viele Grüße ...
Thomas.A

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo Thomas.A,

das Steuerzeichen, um beim Beispiel zu bleiben \x1c, zu entfernen ist sicherlich nicht das Problem. Es ist aber leider nicht das einzigste Zeichen, welches die Quadrate in der TextBox erzeugt.

es wäre sich auch kein Problem, alle Zeichen zu entfernen bzw. zu ersetzen, die Quadrate in der TextBox erzeugt.

Ich verstehe den Unterschied nicht, weshalb bei Windows 7 alles ok. ist und bei XP dagegen nicht.

Dass es eine Reihe von Unterschieden zwischen Windows 7 und XP gibt, ist dir schon aufgefallen, oder? 😃 Warum sollte denn gerade an dieser Stelle kein Unterscheid vorliegen? Immerhin störst du dich doch an der Darstellung der Quadrate und siehst das Verhalten von Windows 7 als korrekt an. Also warum sollte es keine "Fehlerkorrektur" sein, die mit Windows 7 eingeführt wurde?

herbivore

185 Beiträge seit 2005
vor 14 Jahren

Ich ersetzte solche Zeichen in meinen Logfiles immer. Du wirst immer Problem bei der Anzeige von Steuerzeichen haben.
Meine Ausgaben sehen dann z.B. so aus:

{STX}{SOH}Test{EOH}TextText{EOT}

T
Thomas.A Themenstarter:in
19 Beiträge seit 2006
vor 14 Jahren
[erledigt]

hallo MartinH,

habe es für den XP-PC nach deinem vorschlag gelöst.
damit ist die ausgabe akzeptabel.
demnächst soll das tool auch unter windows2000 eingesetzt werden.
mal sehen was mich dann erwartet!?
vielen dank an alle für die hilfe.
bis demnächst ...

thomas.a