CompareFiles/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
...
...From the Free Pascal wiki, page "CompareFiles/de", as it stood on 2020-02-11 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
