Thema: File compare

Einzelnen Beitrag anzeigen

blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#43

AW: File compare

  Alt 24. Mai 2011, 19:41
Ins unreine gedacht,
für jede Zeile einen Hash-wert erstellen und gleiche Zeilen/Hash-werte aus dem Topf entfernen.
Was übrig bleibt ist nicht gleich.

Gruß
K-H
Die beste Idee IMHO.
Ich hab's mal quasi genauso programmiert, nur andersrum

Delphi-Quellcode:
procedure GetListDifferences(StringListMaster, StringListToCheck: TStringList;
                             var AddedList, MissingList: TStringList);
var
  i: integer;
begin
  AddedList.Clear;
  for i := 0 to StringListToCheck.Count-1 do
    if (StringListMaster.IndexOf(StringListToCheck[i]) = -1) then
      AddedList.Append(StringListToCheck[i]);
  MissingList.Clear;
  for i := 0 to StringListMaster.Count-1 do
    if (StringListToCheck.IndexOf(StringListMaster[i]) = -1) then
      MissingList.Append(StringListMaster[i]);
end;

procedure GetTextFileDifferences(FileNameMaster, FileNameToCheck: string;
                                 var AddedList, MissingList: TStringList);
var
  StringListMaster, StringListToCheck: TStringList;
begin
  AddedList.Clear;
  MissingList.Clear;
  if not FileExists(FileNameMaster) or not FileExists(FileNameToCheck) then
    exit;
  StringListMaster := TStringList.Create;
  StringListToCheck := TStringList.Create;
  try
    StringListMaster.LoadFromFile(FileNameMaster);
    StringListToCheck.LoadFromFile(FileNameToCheck);
    GetListDifferences(StringListMaster, StringListToCheck, AddedList, MissingList);
  finally
    StringListMaster.Free;
    StringListToCheck.Free;
  end;
end;
Gruss,
blauweiss
  Mit Zitat antworten Zitat