CompareFiles/de
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
Das Unterprogramm prüft, ob beide Dateien identisch sind.
Mit dem Unterprogramm können sowohl Binär- als auch Textdateien verglichen werden.
uses
FileUtil, ...;
...
function funDateienSindGleich(const conStrDateiname1, conStrDateiname2: string): boolean;
var
txtDatei1: file of char;
txtDatei2: file of char;
chrZeichen1: char;
chrZeichen2: char;
blnDateienSindGleich: boolean = True;
begin
Result := False;
// Wenn beiden Dateien eine unterschiedliche Grösse haben,
// dann beende das Unterprogramm
if FileSize(conStrDateiname1) <> FileSize(conStrDateiname2) then
exit;
AssignFile(txtDatei1, UTF8ToSys(conStrDateiname1));
Reset(txtDatei1);
AssignFile(txtDatei2, UTF8ToSys(conStrDateiname2));
Reset(txtDatei2);
while (not EOF(txtDatei1)) or (not EOF(txtDatei2)) do
begin
Read(txtDatei1, chrZeichen1);
Read(txtDatei2, chrZeichen2);
// Wenn beide Zeichen unterschiedlich sind,
// dann beende die Schleife
if chrZeichen1 <> chrZeichen2 then
begin
blnDateienSindGleich := False;
break;
end;
end;
CloseFile(txtDatei1);
CloseFile(txtDatei2);
Result := blnDateienSindGleich;
end;
Aufruf unter Windows:
...
if funDateienSindGleich('E:\Test.txt', 'E:\Test1.txt') then
...
...
Aufruf unter Linux:
...
if funDateienSindGleich('/home/user/Test.txt', '/home/user/Test1.txt') then
...
...