Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[erledigt] Steuerzeichen in der TextBox
Thomas.A
myCSharp.de - Member



Dabei seit:
Beiträge: 20
Herkunft: Leipzig

Themenstarter:

[erledigt] Steuerzeichen in der TextBox

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers
juetho
myCSharp.de - Member



Dabei seit:
Beiträge: 3358
Herkunft: Berlin

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von juetho am .
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Thomas.A
myCSharp.de - Member



Dabei seit:
Beiträge: 20
Herkunft: Leipzig

Themenstarter:

beantworten | zitieren | melden

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
Attachments
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Thomas.A,
Zitat
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.
Zitat
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
private Nachricht | Beiträge des Benutzers
MartinH
myCSharp.de - Member

Avatar #avatar-1761.gif


Dabei seit:
Beiträge: 183
Herkunft: Asperg

beantworten | zitieren | melden

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}
private Nachricht | Beiträge des Benutzers
Thomas.A
myCSharp.de - Member



Dabei seit:
Beiträge: 20
Herkunft: Leipzig

Themenstarter:

[erledigt]

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Thomas.A am .
private Nachricht | Beiträge des Benutzers