[Lazarus] AssignFile brak lini z polskim znakiem

0

Probuje wczytać linie w Lazarusie.
var
plik : System.Text;
s : string;
begin
AssignFile(plik,Form1.OpenDialog1.FileName);
reset(plik);
readln(plik,s);
ShowMessage(s);
CloseFile(plik);
end;

Jesli linia zawiera polskie znaki string "s" jest pusty, natomiast jesli nie ma polskich znakow showmessage pokazuje linie.

Wiecie może jak rozwiązać ten problem?

P.S. Obojetnie czy zmienna plik jest system.text czy textfile.

0

Musisz użyć konwersji z ANSI na UTF:

var
  plik : System.Text;
  s : string;
begin
    AssignFile(plik,'dane.txt');
    reset(plik);
    readln(plik,s);
    ShowMessage(SysToUTF8(s));
    CloseFile(plik); 
end;

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