Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi 2009 - Probleme mit Unicode (https://www.delphipraxis.net/147255-delphi-2009-probleme-mit-unicode.html)

sonicus83 4. Feb 2010 14:58


Delphi 2009 - Probleme mit Unicode
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag zusammen,

nach langer Zeit habe ich es endlich geschafft, von Delphi 2007 auf 2009 umzusteigen.

Der VST wurde neu installiert, Version 4.8.6.

Nachdem ich mich lange durch Probleme mit meinen Packages gequält habe, läuft nun alles, aber:

In allen Anzeigen des VST ist dort, wo ich mit FloatToStrF eine Währung ausgeben möchte, statt des Eurozeichens ein anderes, falsches Zeichen zu sehen (siehe Anhang).

Mit folgendem Code erzeuge ich den Text:

Delphi-Quellcode:
CellText := FloatToStrF(daten.summePosition, ffCurrency, 18, anzeigenKommastellen);
An anderen Stellen des Quellcodes, an denen ich das Eurozeichen im "Klartext" in einen String schreibe, habe ich keine Probleme.

Beispiel:

Delphi-Quellcode:
Caption := 'Stundensatz [€/h]';
Schriftart des VST ist Tahoma, mit Delphi 2007 compiliert geht es, es sollte also eigentlich nicht an der Schriftart liegen.

Ich habe bisher in der DP keinen Beitrag gefunden, der dazu passt. Bevor ich mich weiter totsuche hoffe ich, dass jemand das Problem kennt und mir weiterhelfen kann.

Danke

Sebastian

cookie22 4. Feb 2010 15:23

Re: Delphi 2009 - Probleme mit Unicode
 
was passiert wenn du statt dem euro zeichen #8364 schreibst?

sonicus83 5. Feb 2010 07:30

Re: Delphi 2009 - Probleme mit Unicode
 
Also bei folgendem steht ein Eurozeichen da:

Delphi-Quellcode:
Caption := 'Stundensatz ['+chr(8364)+'/h]';
Wenn ich statt FloatToStrF das Eurozeichen direkt ausgeben lasse, erscheint dies auch im VST, es liegt also nicht an der Schrift, FloatToStrF liefert also anscheinen das falsche Zeichen zurück.

Wenn ich mir die Variable CurrencyString ausgeben lasse, zeigt er mir auch das Eurozeichen an, wenn ich CurrencyString das Eurosymbol zuweise, zeigt er weiterhin das falsche Symbol an, wenn ich CurrencyString z.B. 'A' zuweise, erscheint auch das A..

Zusammenfassung:

Delphi-Quellcode:
CellText := FloatToStr(stundensatz) + '€';
=> funktioniert

Delphi-Quellcode:
CellText := FloatToStrF(stundensatz, ffCurrency, 18, 2);
=> funktioniert nicht

Delphi-Quellcode:
CurrencyString := '€';
CellText := FloatToStrF(stundensatz, ffCurrency, 18, 2);
=> funktioniert nicht

Delphi-Quellcode:
CurrencyString := 'A';
CellText := FloatToStrF(stundensatz, ffCurrency, 18, 2);
=> (funktioniert)

Bernhard Geyer 5. Feb 2010 07:47

Re: Delphi 2009 - Probleme mit Unicode
 
In welcher Codepage werden die Quelltext (*.pas) gespeichert? Kannst du die auf UTF8/Unicode umstellen?

sonicus83 5. Feb 2010 10:20

Re: Delphi 2009 - Probleme mit Unicode
 
Kann ich das in Delphi noch umstellen/prüfen?

Notepad++ sagt mir UTF-8

fatalerror 5. Feb 2010 10:26

Re: Delphi 2009 - Probleme mit Unicode
 
Zitat:

Zitat von sonicus83
Kann ich das in Delphi noch umstellen/prüfen?

Notepad++ sagt mir UTF-8

rechte Maustaste im Quelltext ->Dateiformat

himitsu 5. Feb 2010 10:33

Re: Delphi 2009 - Probleme mit Unicode
 
Delphi-Quellcode:
function FloatToText(BufferArg: PAnsiChar; const Value; ValueType: TFloatValue;
  Format: TFloatFormat; Precision, Digits: Integer): Integer;
var
...
  AnsiCurrencyStr: AnsiString;
Eventuell liegt es ja daran, daß es in D2009 z.B. sowas gibt?

Welche Sprache (Codepage) ist denn in Windows eingestellt?

sonicus83 5. Feb 2010 12:09

Re: Delphi 2009 - Probleme mit Unicode
 
Eingestellt ist in Windows "Deutsch"..

Wenn ich bei den "Länderoptionen" unter Währung das Währungszeichen auf $ änder, wird dies auch richtig angezeit..

sonicus83 5. Feb 2010 13:36

Re: Delphi 2009 - Probleme mit Unicode
 
Ok, mein Kollege hat eine "Lösung" gefunden:

http://qc.embarcadero.com/wc/qcmain.aspx?d=67295

Dort wird das Problem beschreiben, und es soll mit Version 12.0.3210.17555 beseitigt sein.

Nun habe ich bereits alle Updates ausgeführt (automatisch) und er sagt mir, dass keine weiteren Updates verfügbar sind. Auch unter http://cc.embarcadero.com/reg/delphi finde ich als neuestes Update nur "ID: 26921, RAD Studio 2009 Update 3, Update 4 & Boost Update", Update 4 ist bei mir bereits installiert, ich habe laut Delphi Version 12.0.3170.16989.

Frage:
Wie komme ich auf Version 12.0.3210.17555?

himitsu 5. Feb 2010 13:48

Re: Delphi 2009 - Probleme mit Unicode
 
Zitat:

Zitat von sonicus83
Wie komme ich auf Version 12.0.3210.17555?

12.0.3420 war (glaub ich) Update 3
und die 12.0.3210 dürfte Update 1 sein. :gruebel:

Die 12.0.3170 ist die RTM, also ohne irgendwelche Updates.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 Uhr.
Seite 1 von 2  1 2      

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