Mein letzter Versuch: Wenn deine Original-Dateinamen mit Pfad in Cols[1] stehen und die durch dein Programm korrigierten Namen ohne Pfad in Cols[0], dann sollte das hier funktionieren:
Delphi-Quellcode:
procedure RenameFiles(oldNames, newNames: TStrings; skip: Cardinal = 0);
var
i: Integer;
fp, fn: TFileName;
begin
for i := skip to Pred(oldNames.Count) do
begin
fp := ExtracFilePath(oldNames[i]);
fn := ExtractFileName(oldNames[i]);
if (i < newNames.Count) and not SameText(fn, newNames[i]) then
try
RenameFile(oldNames[i], fp + newNames[i]);
// positive Rückmeldung
except
// negative Rückmeldung
end;
end;
end;
procedure TDemoForm.RenameButtonClick(Sender: TObject);
begin
with StringGrid do
RenameFiles(Cols[1], Cols[0], FixedRows);
end;
marabu