Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sonderzeichen ausgeben (https://www.delphipraxis.net/179758-sonderzeichen-ausgeben.html)

ATS3788 30. Mär 2014 10:31

Sonderzeichen ausgeben
 
Hallo

Delphi-Quellcode:
                   
          (Kind : ICh_MR   ; Einheit : 'R' ; Wert : 'MΩ'),
          (Kind : ICh_KR   ; Einheit : 'R' ; Wert : 'kΩ'),
          (Kind : ICh_R    ; Einheit : 'R' ; Wert : 'Ω'),
          (Kind : ICh_mC   ; Einheit : 'C' ; Wert : 'µF'),
          (Kind : ICh_CTemp ; Einheit : 'T' ; Wert : '°C'),
          (Kind : ICh_FTemp ; Einheit : 'T' ; Wert : '°F'),
'°C' wird richtig ausgegeben 'MΩ' das Ohmzeichen als ?

Meine frage, wie gibt man Sonderzeichen als bestes aus,
auch als #8486 kommt nur ein ?

Sir Rufo 30. Mär 2014 10:38

AW: Sonderzeichen ausgeben
 
Wo willst du das ausgeben?

Popov 30. Mär 2014 10:39

AW: Sonderzeichen ausgeben
 
Welche Schrift nutzt du? ICh bin mir nicht sicher ob jede Schrift das Ohm-Zeichen hat. Wenn du sonst wo schreibst und dort Arial genutzt wird, sollte es da sein, wenn du bei Delphi u. U. die Standardschrift MS Sans Serif nutzt, könnte sein, dass die das Zeichen nicht hat. Stell das Canvas wo du die Schrift ausgibst auf Arial oder Sagoe UI oder Tahoma.

Sag beschied wenn es geklappt hat.

EDIT:

Sehe gerade, klappt nicht.

Bernhard Geyer 30. Mär 2014 11:26

AW: Sonderzeichen ausgeben
 
°C kann noch im Ascii/8-Bit Zeichensatz abgebildet werden.
Ω nicht mehr.

Du rufst also *irgendwo* in deiner Verarbeitung ein Funktion auf die einen Ansi-String verwendet.
Würde man die Compilerwarnungen beachten würde man das sofort finden. Dazu darf man natürlich diese Warnungen nicht abschalten.

Sailor 30. Mär 2014 15:44

AW: Sonderzeichen ausgeben
 
Kurzer Test unter D2010:

Memo auf Form
Memo.Font.Name := 'Courier New';
Und zur Laufzeit
Memo.Lines.Add('Ω');

Ω erscheint auf dem Schirm.

Ob der Zeichensatz das entsprechende Zeichen überhaupt enthält,
läßt sich leicht der Zeichentabelle unter Windows/Zubehör entnehmen.

Bernhard Geyer 30. Mär 2014 22:37

AW: Sonderzeichen ausgeben
 
Ob ein Zeichensatz das Zeichen beinhaltet oder nicht ist sch*** egal.
Wenn es nicht im Zeichensatz drin ist kommt i.d.R. ein leeres Rechteck.
Wenn aber mit Ansistrings im Ablauf gearbeitet wird, werden solche Zeichen wenn möglich auf ähnliche Zeichen gemappt oder hier als "?" ausgegeben. "?" Bedeutet: "Ich kann mit dem Zeichen als AnsiStrings" nichts sinnvolles machen. Oracle mach bei Konvertierungproblem oft ein auf den Kopf stehendes Fragezeichen draus.

p80286 31. Mär 2014 00:30

AW: Sonderzeichen ausgeben
 
Entschuldige, Du verwechselst Font und Zeichensatz. Im Font ist - nicht immer- das Ersatzzeichen definiert. wie üblich kommt es darauf an ...

Gruß
K-H

ATS3788 31. Mär 2014 08:28

AW: Sonderzeichen ausgeben
 
OK Danke ich schau mal

ATS3788 31. Mär 2014 08:39

AW: Sonderzeichen ausgeben
 
Ah ja
das Problem war das ich so was getätigt hatte


Delphi-Quellcode:
string[4];
Dann wird wohl ein Ansi String draus.
Braucht der dann 4 Byte plus Header ?

Bernhard Geyer 31. Mär 2014 08:47

AW: Sonderzeichen ausgeben
 
Zitat:

Zitat von ATS3788 (Beitrag 1254102)
Ah ja
das Problem war das ich so was getätigt hatte

Delphi-Quellcode:
string[4];
Dann wird wohl ein Ansi String draus.

Ja. Ist so. Ist auch so beschrieben das solche Fixed-Length-Angaben AnsiStrings bleiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18: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