(* * * jmeno: sdiff * * popis: rozpozna rozdil mezi textovymi soubory * ('s' stands for silly not for super) * * soubory: * sdiff.pas * * au: vitas@popelka.ms.mff.cuni.cz * cp: gpl * *) var argc, linenr: Integer; fori, fnew: Text; sori, snew: String; name_ori: String; name_new: String; begin argc := ParamCount; if argc <> 2 then begin writeln('usage: sdiff file.ori file.new'); writeln; halt(0); end; name_ori := ParamStr(1); name_new := ParamStr(2); assign(fori, name_ori); assign(fnew, name_new); reset(fori); reset(fnew); writeln('comparing ', name_ori, ' and ', name_new, ' ...'); linenr := 1; while not eof(fori) and not eof(fnew) do begin readln(fori, sori); readln(fnew, snew); if sori <> snew then begin writeln('Line ', linenr, ':'); writeln(sori, '(', name_ori, ')'); writeln(snew, '(', name_new, ')'); exit; end; inc(linenr); end; if not eof(fori) then writeln(name_ori, ' is longer.') else if not eof(fnew) then writeln(name_new, ' is longer.') else writeln('ok.') end.