AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ASCII unter #32 darstellen

Ein Thema von iphi · begonnen am 17. Mär 2011 · letzter Beitrag vom 17. Mär 2011
Antwort Antwort
iphi

Registriert seit: 13. Feb 2009
266 Beiträge
 
Delphi 7 Personal
 
#1

ASCII unter #32 darstellen

  Alt 17. Mär 2011, 10:27
Hallo,

ich möchte einen Haken, das ASCII-Zeichen #4 in einem TLabel darstellen.
Bei mir funktioniert das auch, aber auf dem Rechner eines Freundes in Kalifornien erscheint dieses Zeichen und auch alle anderen unter #32 als Rechteck. Wie kann ich dieses Zeichen (#4) auf allen Rechnern korrekt darstellen?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.218 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 10:31
#4 = END OF TRNASMISSION.

Das ist keine Zeichen zum darstellen! Und je nach verwendeten Font (du müsstest also sicher sein das dein Font auch beim Kunden ist) kommt hier irgendein Zeichne oder ein Rechteck als "Platzhalter" wenn nicht im Font definiert ist.

Was willst du eigentlich erreichen bzw. Ausdrücken mit diesem Steuerzeichen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.336 Beiträge
 
Delphi 12 Athens
 
#3

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 10:45
Der betreffende Font muß dafür auch ein Zeichen zur Verfügung stellen.
Aber in fast allen Fonts gibt es für diese Zeichen keine Darstellung.
PS: Auch das Rechteck ist ein Zeichen des Fonts ... das Ersatzzeichen, welches Windows nutzt, wenn das entsprechende Zeichen im Font nicht existiert.

Offizielle Lösungen:
- du übernimmst das Zeichnen selber
- du konvertierst diese Zeichen in andere Zeichen, welche das Label und der ausgewählte Font darstellen können

Offiziell gibt es es im UnicodeStandard spezielle Zeichen, welche nur für die Darstellung dieser Steuerzeichen vorgesehn sind:
http://www.unicode.org/charts/PDF/U2400.pdf
Du bräuchtest also nur bei den Zeichen #0 bis #31 (oder auch #32) jeweils die Zeichencodes um $2400 erhöhen (addieren),
aber auch hier sind wieder Fonts nötig, welche diese Zeichengrafiken enthalten.
> viele "Billig"-Fonts decken grade mal die ASCII (#32..#127) und bestenfalls noch ein bissl ANSI (bis #255) ab, wenn überhaupt

Wobei du hier grundsätzlich erstmal Probleme bekommst, da dein Delphi 6 standardmäßig kein Unicode kann.
Also entweder nutzt du irgendwelche andere Ansi-Zeichen als Ersatz, du mußt dein Delphi unicodefähig machen oder du malst es halt doch selber.

PS: Steuerzeichen steuern etwas und werden nicht angezeigt (siehe #13, #10 und #0) und #0 bis #31 (sowie noch einige andere Bereiche) sind Steuerzeichen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (17. Mär 2011 um 10:52 Uhr)
  Mit Zitat antworten Zitat
iphi

Registriert seit: 13. Feb 2009
266 Beiträge
 
Delphi 7 Personal
 
#4

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 11:00
Das mit dem Font ist mir schon klar.
Warum aber ist der ANSI-Zeichensatz mit Font Arial nich auf allen Windows-Rechnern gleich?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.336 Beiträge
 
Delphi 12 Athens
 
#5

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 11:19
Warum aber ist der ANSI-Zeichensatz mit Font Arial nich auf allen Windows-Rechnern gleich?
Weil Windows, z.B. je nach installierten Sprachen, unterschiedliche Versionen der Fonts installiert
und sich die Fonts auch noch von Windowsversion/Servicepack zu Windowsversion/Servicepack unterscheiden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
ele

Registriert seit: 18. Feb 2009
129 Beiträge
 
Delphi 2010 Professional
 
#6

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 12:13
In der Theorie gibt es für die Darstellung con Control-Characters dafür reservierte Unicode Zeichen.

Allerdings benötigt dafür das Programm Unicode Unterstützung und eine Unicode-Schriftart, welche diese Zeichen auch enthält...

Edit:
Habe erst jetzt gesehen das Himitsu das bereits erwähnt hat... tschuldigung.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#7

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 21:45
Warum aber ist der ANSI-Zeichensatz mit Font Arial nich auf allen Windows-Rechnern gleich?
Weil Windows, z.B. je nach installierten Sprachen, unterschiedliche Versionen der Fonts installiert
und sich die Fonts auch noch von Windowsversion/Servicepack zu Windowsversion/Servicepack unterscheiden.
In diesem Fall dürftest du danebenliegen. Viel wahrscheinlicher ist, daß die Codeseite sich unterscheidet und deswegen eine jeweils andere Darstellung selbst mit gleichem Font erfolgt. Desweiteren gibt es verschiedene Formen von Arial (TTF und nicht, kursiv, fett und noch ganz anders).

Unterschiedliche Versionen des Fonts gibt es natürlich dennoch. Aber ich bin mir ziemlich sicher, daß seit vielen Jahren alle infrage kommenden Zeichen bereits vorhanden sind ...
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 11:07
#4 = END OF TRNASMISSION.

Das ist keine Zeichen zum darstellen! Und je nach verwendeten Font (du müsstest also sicher sein das dein Font auch beim Kunden ist) kommt hier irgendein Zeichne oder ein Rechteck als "Platzhalter" wenn nicht im Font definiert ist.
Das ist ja nicht ganz richtig, es kommt darauf an wie und ob das jeweilige Zeichen interpretiert wird. Diese Interpretation ist zunächst einmal vom zu Grunde liegende Zeichensatz, und dann vom darstellenden Font abhängig.

Was willst du eigentlich erreichen bzw. Ausdrücken mit diesem Steuerzeichen?
Das ist eine gute Frage.

Gruß
K-H

Warum aber ist der ANSI-Zeichensatz mit Font Arial nich auf allen Windows-Rechnern gleich?
Weil man soviele Fonts löschen und Nachladen kann wie man will?
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz