![]() |
DirectoryExists und IncludeTrailingPathDelimiter
Hallo,
ich hatte in einem Projekt mal festgestellt, dass DirectoryExists true liefert, wenn ein leerer String in die Function IncludeTrailingPathDelimiter gelegt wird. Deswegen hab ich mir mal schnell ein Testprojekt gebastelt um rauszufinden ob das wirklich so ist, oder ob ich in meinem Projekt einen Fehler gemacht habe. Dazu folgender Code:
Delphi-Quellcode:
Interessanterweise wird die checkBox true. Das würde bedeuten, dass der leere String mit dem Backslash auf einen Ordner verweisst.
procedure TForm1.Button1Click(Sender: TObject);
var S: String; begin S := ''; CheckBox1.Checked := DirectoryExists(IncludeTrailingPathDelimiter(S)); end; Aber auf welchen? - Ich hab ja die Mutter aller Ordner im Verdacht: den Desktop |
Re: DirectoryExists und IncludeTrailingPathDelimiter
Unter DOS war das das Wurzelverzeichnis des aktuellen Laufwerks. Ich denke, das dürfte immer noch so sein.
|
Re: DirectoryExists und IncludeTrailingPathDelimiter
Ein '' müßte das aktuelle Verzeichnis sein und dieses muß ja zwangsläufig existieren.
'' wäre ein relaiver Pfad auf sich selber und dürfte quasi einem '.' entsprechen. |
Re: DirectoryExists und IncludeTrailingPathDelimiter
Ich habe es gerade einmal getestet und ein FindAllFiles auf das Verzeichnis losgelassen. Mir wurde das Wurzelverzeichnis von C: gelistet.
|
Re: DirectoryExists und IncludeTrailingPathDelimiter
Sehr interessant ... ich hätte es anders vermutet, so ala
Zitat:
Obwohl ... Zitat:
|
Re: DirectoryExists und IncludeTrailingPathDelimiter
Nee, aktueller Pfad wäre ja '.' und nicht ''. Mom, ich teste mal schnell.
[edit] Stimmt, mit Punkt bekomme ich das eigene Verzeichnis, wie erwartet. [/edit] |
Re: DirectoryExists und IncludeTrailingPathDelimiter
Danke für die Antworten!
Das heisst jetzt für mich ich muss IncludeTrailingPathDelimiter erst einsetzen, nachdem DirectoryExists true liefert. |
Re: DirectoryExists und IncludeTrailingPathDelimiter
Oder einfach dafür sorgen, dass der Verzeichnisstring nicht leer ist.
|
Re: DirectoryExists und IncludeTrailingPathDelimiter
Delphi-Quellcode:
PS: wenn, dann Exclude... (k.A. ob DirectoryExists dieses schon eingebaut hat)
CheckBox1.Checked := (S <> '') and DirectoryExists(ExcludeTrailingPathDelimiter(S));
|
Re: DirectoryExists und IncludeTrailingPathDelimiter
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz