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
Seite 1 von 2  1 2      
iphi

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

ASCII unter #32 darstellen

  Alt 17. Mär 2011, 09: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.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 09: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
43.153 Beiträge
 
Delphi 12 Athens
 
#3

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 09: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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

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

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 10: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 p80286
p80286

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

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 10: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
Benutzerbild von himitsu
himitsu

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

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 10: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ele

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

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 11: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
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#8

AW: ASCII unter #32 darstellen

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

schon im ururalten ASCII-Code wurden die Steuerzeichen mit diesen 2 bis 3 Buchstaben angegeben, also CR, LF, SYN usw. Am besten machst du in deinem TLabel Platz für 3 Buchstaben und schreibst sie selbst rein. Damit kommt jeder klar, der überhaupt eine Ahnung von Zeichenkodierung hat. Alternativ könntest du auch sowas wie #010 für LF oder #013 für CR schreiben.

Im PC-Bildschirmcode gab es graphische Zeichen für 00..31, z.B. 03 ist ein Herz. Aber das kennt kein Schwein mehr, ist auch extrem unübersichtlich.

Gruss Reinhard
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#9

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 14:32
Wenn ich das richtig sehe und er im Prinzip nicht die Steuercodes <ASCII32 visualisieren will, sondern einfach nur ein "Häkchen" auf dem Formular:

Wie wäre es mit einem eingeblendeten Glyph (Image) und/oder ein GraphicControl, mit dem man sich die gewünschte Darstellung selbst zeichnet... statt dem Label.

€: bequemer Weg: SpeedButton (Flat), kein störender Tab-Stop, mehrere Bitmaps duchschaltbar, anklickbar für Infofenster...

Geändert von Satty67 (17. Mär 2011 um 14:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

AW: ASCII unter #32 darstellen

  Alt 17. Mär 2011, 14:45
Einfach eine gültige Schriftart wie Marlet(?) aus dem Windowsstandartfontpool nutzen oder auf Bitmaps umsetzen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz