Du kannst es dir etwas einfacher machen.
Die
TObjectList<T>
kann auch auf Gleichheit prüfen. Dazu gibts du bei der Erzeugung der Liste
System.Generics.Collections.TObjectList.Create einen
System.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)