Zitat von
Luckie:
Delphi-Quellcode:
function HasBackslash(Dir: String): Boolean;
//...
function DelBackSlash(Dir: String): String;
begin
if (length(dir) > 0) and (Dir[length(Dir)] = '\') then
SetLength(Result, Length(Result)-1);
end;
Hallo Luckie,
diese Funktion hast Du tatsächlich im Einsatz ("Ich habe mir mal in einem
nonVCL Programm sowas dafür gemacht")?! Mal davon ab, dass der Funktionsname
HasBackslash ebenfalls nicht sprechend ist (schließlich könnte er irgendeinen Backslash erkennen) und "Back
slash" anders schreibt als in
DelBackSlash, wo wird denn
Result innerhalb von
DelBackSlash gesetzt? 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...
Vielleicht so?
Delphi-Quellcode:
function GetWithoutTrailingBackslash(const ADirectory: string): string;
begin
Result:= ADirectory;
while HasTrailingBackslash(Result) do
SetLength(Result, Length(Result)-1);
end;
Wenn der Ton etwas aggressiv klingen sollte, liegt das vielleicht daran, dass ich gerade auf der Arbeitsplatte wg einer defekten Kaffeekanne die Dispersionseigenschaften selbigen Inhalts beobachten könnte...