Lazurus i dBase - kodowanie polskich znaków

0

Dzień dobry, czy istnieje prosty sposób aby wczytując bazę dbf (komponenty: TDBf, TDataSource i TDBGrid) przekodować znaki z dbf-a (CP852) na wyświetlane w DBGridzie Windows-1250?

1

Nie zna TDBf'a, ale jeśli sam komponent TDbf nie posiada natywnej konwersji kodowania, to próbował bym podpiąć pod tekstowe pola w tabeli własną obsługę zdarzenia onGetText i w niej zrobić konwersję.

dbfTable.Fields[0].OnGetText:=myOnGetText;
procedure  Tform.myOnGetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
     text:=CP852toWin1250(Sender.AsString);
end;

funkcję konwertującą CP852toWin1250 sam musisz napisać, chyba że w Lazarusie jest już coś gotowego

0

ściągasz instrukcję do TDbf, otwierasz, szukasz How to handle dierent character sets and locale sorting, czytasz, ustawiasz i masz. TAKIE TO TRUDNE?

1 użytkowników online, w tym zalogowanych: 0, gości: 1