Która metoda lepsza na porównywanie linijek w pliku?

0

A dokładniej problem wygląda następująco:
Jest sobie pliczek tekstowy i jest sobie zmienna (string).
Zadanie jest takie aby porównywać kolejne linijki z pliku z tą zmienną.
Zastanawiam się nad dwiema metodami, jedna to assign, readln itd. a druga to załadowanie tego pliku do memo (albo richedit'a) i w nim się bawić w porównywanie (oczywiście memo1.visible=false; żeby nie było widać tego memo). Co do pierwszej metody to nie wiem dokładnie jak dokładnie kod ma wyglądać.
I jeszcze pytanie, jak policzyć ilość linijek w pliku txt?
Czy to jakoś z while not eof itd?
Z góry dzięki za pomoc.

0

Pierwsza znacznie szybsza:

var
f: textfile;
s: string;
begin
assignfile(f, 'c:\autoexec.bat');
reset(f);
while not eof(f) do begin
readln(f, s);
porownaj(s)
end;
closefile(f)
end;

0

Pierwsza znacznie szybsza:

var
f: textfile;
s: string;
begin
assignfile(f, 'c:autoexec.bat');
reset(f);
while not eof(f) do begin
readln(f, s);
porownaj(s)
end;
closefile(f)
end;

No to by było ok, gdyby nie jedna rzecz, o której nie wspomniałem wcześniej, w tym porównianiu będę potrzebował tekstu z bieżącej linijki i z następnej.
Z memo wymyśliłem mniej więcej tak:

for i := 1 to Memo2.Lines.Count do begin
if (Memo2.Lines[i] String) then ShowMessage('Tralala');

0

var
f: textfile;
s1, s2: string;
begin
assignfile(f, 'c:autoexec.bat');
reset(f);
readln(s2)
while not eof(f) do begin
s1:=s2;
readln(f, s2);
porownaj(s1, s2)
end;
closefile(f)
end;

0

Dzięki wielkie.

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