Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zwei Verzeichnisse vergleichen und Vorschau anzeigen

  Alt 25. Apr 2021, 16:58
Wenn die sortiert sind, kann man da einfach sequentiell beide Listen iterieren:
Delphi-Quellcode:
      iA := 0;
      iB := 0;
      while (iA < A.Count) and (iB < B.Count) do begin
        fA := ExtractFileName(A[iA]);
        fB := ExtractFileName(B[iB]);
        if fA < fB then begin
          Writeln('copy: ', A[iA]);
          Inc(iA);
        end
        else if fA > fB then begin
          Writeln('delete: ', B[iB]);
          Inc(iA);
        end
        else begin
          Writeln('if diff ', fa, ' then copy ', A[iA], ' to ', B[iB]);
          Inc(iA);
          Inc(iB);
        end;
      end;
      while (iA < A.Count) do begin
        Writeln('copy: ', A[iA]);
        Inc(iA);
      end;
      while (iB < B.Count) do begin
        Writeln('delete: ', B[iB]);
        Inc(iB);
      end;
Wenn Unterverzeichnisse im Spiel sind wird es geringfügig komplizierter.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat