Witam :) Mam taki powiedzmy ze maly problem. Jak odczytuje z pliku dane do porownania nie wykrywa myslnika jest zupelnie inny symbol nie wiem czemu. Siedzialem nad tym juz 2 dni ale no nie w zab nie w oko niestety. Po 2 mam problem z przeskakiwaniem do następnej lini. Jak uzytkownik polelni blad to moze to powtorzy ale jak juz 3 raz popelni blad to niestety ale wskakuje mi kolejne linijka gdzie jest litera juz w postaci zakodowanej. Wklejam tutaj kod.

program project20;

uses
Crt,dos,dateutils,sysutils;

var
a,b : byte;
znak : char;
i : integer;
wybor:array [1..3] of Char;
procedure czesc_cwiczeniowa;
var
znak : char;

begin
ClrScr;
writeln('witaj w czesci cwiczeniowej');
delay(1000);
writeln('W alfabecie morsa cyfry zapisywane sa w postaci kropek i myslnikow');
delay(4000);
writeln('np a .-') ;

writeln('powtorz') ;
read(znak);

if znak= '.-' then
writeln('dobrze :)')
else
begin
writeln('jestes c****');

exit;
end;

writeln('pierwsze koty za poloty :)');
writeln('a tak wyglada b .-');
readln(znak);

readln;
end;

procedure czesc_testowa;

var
znak : char;
plik:Text;
dane : string;
tlumaczenie:String;
linii,znakow:Integer;
wynik : integer;
h,m,s,ss : word;
temp:String;
start,stop:tdatetime;
a,b : byte;
begin
writeln('czesc testowa');
writeln('witam cie drogi uzytkowniku. Jezeli chcesz zaczac ntesty napisz t a jesli chcesz wrocic napisz n');
znak:=readkey;

case znak of

't' : begin

gettime(h, m, s, ss);
temp:=inttostr(h)+':'+inttostr(m)+':'+inttostr(s);

start:=strtotime(temp);
writeln('zaczynasz test o : ',h, ':', m,':', s);

begin

begin

Assign(plik,'mors.txt');

if FileExists('mors.txt') then
begin
reset(plik);
while not eof(plik) do
begin
ReadLn(plik, dane);
b:=1;
repeat
begin
WriteLn('Podaj tlumaczenie slowa ',dane);
ReadLn(tlumaczenie);
if (tlumaczenie=dane) then WriteLn('OK, umiesz') else WriteLn('synek, synek... nie umiesz, proba', b, '/3');
inc(b) ;

end;

until (tlumaczenie=dane) or (b=3);

end;

gettime(h, m, s, ss);
temp:=inttostr(h)+':'+inttostr(m)+':'+inttostr(s);
writeln(temp);
stop:=strtotime(temp);
writeln('zakonczyles test o : ',h, ':', m,':', s);
writeln('ilosc bledow : ',b);
writeln('zakonczyles test w:',timetostr(start-stop));

end

else WriteLn('Nie ma takiego pliku!');
Close(plik);

ReadLn;

end;
end;

end;

'n' : begin
begin
writeln('papa');
end;

end;
end;
end;

procedure zapisywanie_do_pliku;

var

wyniki : text;
dane,imie,nazwisko,wynik:string;
i:integer;

begin

   assign(wyniki, 'wyniki.txt.');
 if fsearch('wyniki.txt',`) = `   then
    begin
               writeln('pliku nie ma na dysku tworze nowy plik');
               rewrite(wyniki);
    end

else
begin

 assign(wyniki, 'wyniki.txt');
 Append(wyniki);

 begin
      writeln('podaj swoje imie');
      readln(imie);
      writeln('podaj swoje nazwisko');
      readln(nazwisko);
      writeln('podaj swoj wynik');
      readln(wynik);
      write(wyniki,imie,'      ',nazwisko,'          ',wynik, #13, #10);
 end;

 close(wyniki)

 end;

end;

procedure odczytywanie_z_pliku;
var
wyniki : text;
dane:string;

 begin
 Assign(wyniki, 'wyniki.txt');
 Reset(wyniki);
  repeat
    Readln(wyniki, dane);
      Writeln(dane);
  until eof(wyniki);
  end;

begin
gotoxy(20,1);
writeln('witam w programie do nauki alfabetu morsa');
writeln('1. Jezeli chcesz sie nauczyc alfabetu morsa wybierz [1]');
writeln('2. Jezeli chcesz zaczac testy wybierz [2]');
writeln('3. aby zoabczyc i zapisac swoj wynik wybierz [3]');
znak:=readkey;

  case znak of
'1' : begin

czesc_cwiczeniowa;

end;

'2' : begin

czesc_testowa;

end;
'3' : begin
begin
writeln('chcesz zapisac swoj wynik czy zobaczyc wyniki innych osob?');
writeln('1. Aby zapisac swoj wynik nacisnij 1');
writeln('2. aby zoabczyc wyuniki innych osob nacisnij 2');
znak:=readkey;

case znak of
'1' : begin

zapisywanie_do_pliku;

end;

'2' : begin

odczytywanie_z_pliku;
readln;
end;
end;
end;
end;
end;

end.