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.
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.
W projekcie powinna być możliwość ustawienia polskiego języka.
Niestety, nie znalazłem takiej opcji, posiadam Lazarusa.
Masz najnowszą wersję ?
Wejdź w fonts-> filter wybierz kodowanie iso 8859-2
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)
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.