![]() |
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:
An anderen Stellen des Quellcodes, an denen ich das Eurozeichen im "Klartext" in einen String schreibe, habe ich keine Probleme.
CellText := FloatToStrF(daten.summePosition, ffCurrency, 18, anzeigenKommastellen);
Beispiel:
Delphi-Quellcode:
Schriftart des VST ist Tahoma, mit Delphi 2007 compiliert geht es, es sollte also eigentlich nicht an der Schriftart liegen.
Caption := 'Stundensatz [€/h]';
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 |
Re: Delphi 2009 - Probleme mit Unicode
was passiert wenn du statt dem euro zeichen #8364 schreibst?
|
Re: Delphi 2009 - Probleme mit Unicode
Also bei folgendem steht ein Eurozeichen da:
Delphi-Quellcode:
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.
Caption := 'Stundensatz ['+chr(8364)+'/h]';
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:
=> funktioniert
CellText := FloatToStr(stundensatz) + '€';
Delphi-Quellcode:
=> funktioniert nicht
CellText := FloatToStrF(stundensatz, ffCurrency, 18, 2);
Delphi-Quellcode:
=> funktioniert nicht
CurrencyString := '€';
CellText := FloatToStrF(stundensatz, ffCurrency, 18, 2);
Delphi-Quellcode:
=> (funktioniert)
CurrencyString := 'A';
CellText := FloatToStrF(stundensatz, ffCurrency, 18, 2); |
Re: Delphi 2009 - Probleme mit Unicode
In welcher Codepage werden die Quelltext (*.pas) gespeichert? Kannst du die auf UTF8/Unicode umstellen?
|
Re: Delphi 2009 - Probleme mit Unicode
Kann ich das in Delphi noch umstellen/prüfen?
Notepad++ sagt mir UTF-8 |
Re: Delphi 2009 - Probleme mit Unicode
Zitat:
|
Re: Delphi 2009 - Probleme mit Unicode
Delphi-Quellcode:
Eventuell liegt es ja daran, daß es in D2009 z.B. sowas gibt?
function FloatToText(BufferArg: PAnsiChar; const Value; ValueType: TFloatValue;
Format: TFloatFormat; Precision, Digits: Integer): Integer; var ... AnsiCurrencyStr: AnsiString; Welche Sprache (Codepage) ist denn in Windows eingestellt? |
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.. |
Re: Delphi 2009 - Probleme mit Unicode
Ok, mein Kollege hat eine "Lösung" gefunden:
![]() 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 ![]() Frage: Wie komme ich auf Version 12.0.3210.17555? |
Re: Delphi 2009 - Probleme mit Unicode
Zitat:
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 09:20 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