CompareFiles/de
From Lazarus wiki
Jump to navigationJump to searchThe printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
│
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
...
...