[quote="choose"] Mal davon ab, dass der Funktionsname
HasBackslash ebenfalls nicht sprechend ist (schließlich könnte er irgendeinen Backslash erkennen)´
[quote]
Er sit aussagekräftig, da sich die Funktion in einer Include-Datei namens FileTools befindet. Um was soll es also anderes gehen, als um Pfade?
Zitat:
und "Backslash" anders schreibt als in DelBackSlash,
Tippfehler. Sollte aber keine Katastrophe heraufbeschwören.
Zitat:
wo wird denn Result innerhalb von DelBackSlash gesetzt?
In setlength, wo sonst?
Zitat:
Du prüfst einen Parameter und änderst daraufhin den Rückgabewert, der bisher nicht belegt worden ist, andernfalls wird der Rückgabewert nicht einmal angefasst...
Hm, das könnte in der Tat ein Problem sein. Aber die modifizierte Fassung hab eich nich nicht benutzt.
Zitat:
Vielleicht so?
Delphi-Quellcode:
function GetWithoutTrailingBackslash(const ADirectory: string): string;
begin
Result:= ADirectory;
while HasTrailingBackslash(Result) do
SetLength(Result, Length(Result)-1);
end;
Nein so bestimmt nicht. Der Funktionsname ist ja ein halber Roman und was ist HasTrailingBackSlash? Eine Funktion? Nicht sehr gut, die wird ja jedes mal auf gerufen, so lange die Schleife läuft.
Wenn dann so:
Delphi-Quellcode:
function DelBackSlash(Dir: String): String;
begin
result := Dir;
if (length(dir) > 0) and (Dir[length(Dir)] = '\') then
SetLength(Result, Length(Result)-1);
end;