FreePascal (FPC) a Lazarus > Obecné
ThousandSeparator v Linuxe
Slavomir:
Ahojte,
prosím o radu (pre Lazarus na Linux Minte).
V TListView chcem zobraziť číslo väčšie ako milión. Číslo sa zobrazí korektne s výnimkou oddeľovača tisícok. Namiesto korektoného oddeľovača (medzera alebo nejaký prázdny znak) sa mi zobrazuje nasledovný štvorec:
Číslo (v premennej Amount typu Double) zadávam príkazom:
--- Kód: ---Item.SubItems.Add(Format('%n', [Amount], DefaultFormatSettings));
--- Konec kódu ---
Vo Windows sa oddeľovač tisícok zobrazuje korektne.
Viete mi poradiť, kde robím v LInuxe chybu?
Jan Fiala:
Zkontroluj, zda používáš unicode font - zda obsahuje znak, který je použit pro oddělovač tisíců.
Znak pro oddelovat tisicu mas v ThousandSeparator, přebírá se z nastavení systému
Slavomir:
Honzo, ďakujem za tip, ale nepomohlo. Prešiel som všetky fonty, ktoré boli v Linux Mint nainštalované - všade rovnaký výsledok (nekorektné oddeľovače tisícok).
Okrem toho divného štvorca sa zobrazujú pri niektorých fontoch kosoštvorce:
Nie som síce veľmi zbehlý v Linuxe, ale predpokladám, že tento obľúbený operačný systém (na báze Ubuntu) používa UTF8 fonty.
Dátum sa zobrazuje úplne korektne.
Slavomir:
Našiel som na tomto diskusnom fóre podobný problém iných programátorov.
Vyskúšam večer tam navrhované riešenie:
--- Kód: ---AnsiToUTF8(Format('%n', [1234567.89]))
--- Konec kódu ---
Slavomir:
Tak ani prevod ANSI do UTF8 nepomohol. Oddeľovač tisícok sa stále zobrazuje nekorektne. :(
Vyskúšam to ešte na inom Linuxe (skúsim SUSE leap).
Navigace
[0] Seznam témat
[#] Další strana
Přejít na plnou verzi