Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Algorithmus für Datei-Umbenennen?

  Alt 13. Feb 2016, 18:59
Du kannst es dir etwas einfacher machen.

Die TObjectList<T> kann auch auf Gleichheit prüfen. Dazu gibts du bei der Erzeugung der Liste Delphi-Referenz durchsuchenSystem.Generics.Collections.TObjectList.Create einen Delphi-Referenz durchsuchenSystem.Generics.Defaults.IComparer mit an.

In diesem Falle wirst du auf TDateiInfo.DateinameNeu vergleichen wollen.
Delphi-Quellcode:
list := TObjectList<TDateiInfo>.Create( TComparer<TDateiInfo>.Construct(
  function ( const L, R: TDateiInfo ): Integer
  begin
    Result := CompareStr( L.DateinameNeu, R.DateinameNeu );
  end ) );

// alle Dateien in die Liste eintragen

di := TDateiInfo.Create( 'SomeName.jpg' );

// prüfen, ob es diesen Eintrag schon gibt (wird über den Comparer ermittelt)
while list.Contains( di ) do
begin
  di.DateinameNeuAndersMachen();
end;

list.Add( di );

// Wenn fertig

for di in list do
  di.RenameTheFile();
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat