Код
program cmp;
var s1, s2 : string;
f1, f2 : text;
i : integer;
begin
assign(f1, 'c:\temp\file1.txt');
assign(f2, 'c:\temp\file2.txt');
reset(f1); reset(f2);
i := 1; s1 := ''; s2 := '';
while (not EOF(f1)) and (not EOF(f2)) do
begin
readLn(f1, s1); readLn(f2, s2);
if s1 <> s2 then break else inc(i)
end;
if s1 = s2 then writeLn('identical files') // На самом деле они могут быть и пустыми. Как-нить обыграть тот факт, что ничего не считано. Например, если (s1 = '') and (s2 = '')
else writeLn(i,' th string');
close(f1); close(f2)
end.
Еще эта программа игнорирует различия типа лишняя пустая строка -- тоже файлы одинаковые. Но требуется-то сравнить строки... Если нужно побайтово, то можно читать BlockRead'ом в массив байт и сравнивать массивы.