Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.418 Beiträge
 
Delphi 7 Professional
 
#33

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 20. Sep 2018, 09:10
Jupp, und auf die Idee mit AnsiReplaceText für den Ü-Ordner wäre ich nicht gekommen (hätte die Backslashes von hinten geparst)
Was passiert wohl bei diesem Pfad:
Code:
C:\temp\alt\ein\alt\dir\datei.txt
Deswegen bist du darauf nicht gekommen, weil das mit dem AnsiReplaceText sehr fehleranfällig ist
Das stimmt natürlich, kommt halt auf die Aufgabenstellung an. Allgemeingültig ist meine Lösung sicherlich nicht.

Aber Dein Beispiel entspricht nicht der Aufgabenstellung. Es soll nur der letzte Teil aus dem Pfad entfernt werden.

Lieber eher sowas?
Delphi-Quellcode:
function GetNewFileName(sFilename : String) : String;
begin
  Result := ExtractFilePath(sFilename);
  Result := ExcludeTrailingPathDelimiter(Result);
  Result := ReverseString(Result);
  Result := Copy(Result,1,Pos(SysUtils.PathDelim,Result) - 1);
  Result := ReverseString(Result);
  Result := IncludeTrailingPathDelimiter(Result);
  Result := Result + ExtractFilename(sFilename);
end;

...
if not SysUtils.RenameFile(sFilename,GetNewFileName(sFilename)) then begin
  FehlermeldungMachen;
end;
(ungetestet hingedaddelt)
  Mit Zitat antworten Zitat