Difference between revisions of "CompareFiles/de"

From Free Pascal wiki
(Created page with "{{CompareFiles}} <br> <br> Das Unterprogramm prüft, ob beide Dateien identisch sind.<br> Mit dem Unterprogramm können Binär- als auch Text-Dateien verglichen werden.<br> <b...")
 
m
Line 3: Line 3:
 
<br>
 
<br>
 
Das Unterprogramm prüft, ob beide Dateien identisch sind.<br>
 
Das Unterprogramm prüft, ob beide Dateien identisch sind.<br>
Mit dem Unterprogramm können Binär- als auch Text-Dateien verglichen werden.<br>
+
Mit dem Unterprogramm können sowohl Binär- als auch Textdateien verglichen werden.<br>
 
<br>
 
<br>
 
<syntaxhighlight>
 
<syntaxhighlight>

Revision as of 17:53, 5 September 2013

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') = True then 
    ...

  ...


Aufruf unter Linux:

  ...

  if funDateienSindGleich('/home/user/Test.txt', '/home/user/Test1.txt') = True then 
    ...

  ...



--Olaf 08:10, 30 August 2013 (CEST)