FreePascal (FPC) a Lazarus > Obecné

ThousandSeparator v Linuxe

(1/3) > >>

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