Wczytywanie polskich znaków

0

Witam,
muszę zrobić funkcję, która policzy stosunek "u" do "ó" w tekście (tekst wczytywany z pliku). "U" zlicza dobrze natomiast nie chce odczytać "ó". Plik ma ustawione kodowanie utf-8, jak próbuję podać ó przez kod ascii to również go nie zlicza. Czy jest jakiś sposób aby pascal (Lazarus) odczytywał polskie znaki?

procedure u(var wejscie:text; var wyjscie:text);
var
wiersz:string;
i, zamkniete, otwarte :integer;
stosunek :double;

begin
    zamkniete:=0;
    otwarte:=0;
 while not eof(wejscie) do begin
     readln(wejscie,wiersz);
     for i:=1 to length(wiersz)  do begin
     if (wiersz[i]='ó') then
            zamkniete:=zamkniete+1
      else
       if (wiersz[i]= 'u') then
       otwarte:=otwarte+1  ;
      end;
       end;
 if(zamkniete<>0) then
        stosunek:=otwarte/zamkniete;
  writeln('Stosunek u do ó wynosi: ',stosunek,' do 1');
end; 
4
procedure u(var wejscie:text; var wyjscie:text); 
var 
  wiersz:string; 
  i, zamkniete, otwarte :integer; 
  stosunek :double; 
begin 
  zamkniete:=0; 
  otwarte:=0; 
  while not eof(wejscie) do 
  begin 
    readln(wejscie,wiersz); 
    for i:=1 to UTF8Length(wiersz) do 
    begin
      if (UTF8Copy(wiersz, i, 1)='ó') then
      zamkniete:=zamkniete+1
      else if (UTF8Copy(wiersz, i, 1)= 'u') then
      otwarte:=otwarte+1; 
    end;
  end;
  if(zamkniete<>0) then 
  stosunek:=otwarte/zamkniete; 
  writeln('Stosunek u do ó wynosi: ',stosunek,' do 1'); end; 

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