CompareFiles/de: Difference between revisions

From Free Pascal wiki
Jump to navigationJump to search
No edit summary
m (Fixed syntax highlighting; deleted category already in page template)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{CompareFiles}}
{{CompareFiles}}
<br>
 
<br>
 
Das Unterprogramm prüft, ob beide Dateien identisch sind.<br>
Das Unterprogramm prüft, ob beide Dateien identisch sind.
Mit dem Unterprogramm können sowohl Binär- als auch Textdateien verglichen werden.<br>
 
<br>
Mit dem Unterprogramm können sowohl Binär- als auch Textdateien verglichen werden.
<syntaxhighlight>
 
 
<syntaxhighlight lang=pascal>
uses
uses
   FileUtil, ...;
   FileUtil, ...;
Line 54: Line 56:
end;
end;
</syntaxhighlight>
</syntaxhighlight>
<br>
 
Aufruf unter Windows:
Aufruf unter Windows:
<syntaxhighlight>
 
<syntaxhighlight lang=pascal>


   ...
   ...


   if funDateienSindGleich('E:\Test.txt', 'E:\Test1.txt') = True then  
   if funDateienSindGleich('E:\Test.txt', 'E:\Test1.txt') then  
     ...
     ...


Line 66: Line 69:


</syntaxhighlight>
</syntaxhighlight>
<br>
 
Aufruf unter Linux:
Aufruf unter Linux:
<syntaxhighlight>
 
<syntaxhighlight lang=pascal>


   ...
   ...


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


Line 78: Line 82:


</syntaxhighlight>
</syntaxhighlight>
<br>
<br>
--[[User:Olaf|Olaf]] 08:10, 30 August 2013 (CEST)
{{AutoCategory}}
[[Category:Code Snippets/de]]

Latest revision as of 01:00, 12 February 2020

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 
    ...

  ...