[Delphi i inne]Polskie słowa w MessageBox


(infoR_96) #1

Witam, kod na MessageBox:

MessageBox(Handle, 'Czy chcesz zapisać obecny plik?', 'Twórz nowy', MB_YESNOCANCEL + MB_IconQuestion)

Zamiast znaków ó,ć [polskich] wywala mi krzaczki.


(Drobok) #2

W projekcie powinna być możliwość ustawienia polskiego języka.


(infoR_96) #3

Niestety, nie znalazłem takiej opcji, posiadam Lazarusa.


(Drobok) #4

Masz najnowszą wersję ?

Wejdź w fonts-> filter wybierz kodowanie iso 8859-2


(Adammo) #5

Lazarus domyślnie używa Unicode do kodowania znaków, jednak Windows pomimo tego, że obsługuję UTF8 to i tak chcę aby znaki były przekazywane w kodowaniu którego używa użytkownik, czego Lazarus nie robi automatycznie. Dlatego można zrobić taki myk:

MessageBox(Handle, PChar(UTF8ToSys('Czy chcesz zapisać obecny plik?')), PChar(UTF8ToSys('Twórz nowy')), MB_YESNOCANCEL + MB_IconQuestion)

(Fiołek) #6

Windows używa UTF-16, nie UTF-8. Wszystkie funkcje *W pracują na ciągach znaków w UTF-16, zaś funkcje *A pracują na aktualnej stronie kodowej(i wewnątrz konwertują ciągi znaków na UTF-16), ale to tak nawiasem mówiąc.