Zitat von
roderich:
Luckie, deine beiden Routinen sind aber auch nicht das Gelbe vom Ei.
Habe ich auch nicht behauptet.
Zitat:
Delphi-Quellcode:
function HasBackslash(Dir: String): Boolean;
begin
result := Dir[length(Dir)] = '\';
end;
Dir = Leerstring -> Knatsch !!
Stimmt, da habe ich die Überprügung, woie bei der zweiten.
Zitat:
Delphi-Quellcode:
function DelBackSlash(Dir: String): String;
begin
if length(dir) > 0 then
SetLength(Result, Length(Result)-1);
end;
ok, kein Absturz, aber damit löscht du jedes Zeichen von hinten, nicht nur Slash'e
Tja, da muss man vorher überprüfen, ob es auch einen '\' gibt. Kann man aber auch noch mit einbauen.
So verbessert:
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
// Procedure : HasBackslash
// Comment : Checks whether path ends with a backslash or not
function HasBackslash(Dir: String): Boolean;
begin
if length(Dir) > 0 then
result := Dir[length(Dir)] = '\';
end;
////////////////////////////////////////////////////////////////////////////////
// Procedure : DelBackSlash
// Comment : Removes the last backslash of a path
function DelBackSlash(Dir: String): String;
begin
if (length(dir) > 0) and (Dir[length(Dir)] = '\') then
SetLength(Result, Length(Result)-1);
end;