Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Verzeichnis auf Existenz prüfen? (https://www.delphipraxis.net/132951-verzeichnis-auf-existenz-pruefen.html)

AlexII 22. Apr 2009 16:07


Verzeichnis auf Existenz prüfen?
 
Hallo,

hab folgendes Problem: ich prüfe wie folgt auf Existenz einer Datei:

Delphi-Quellcode:
if FileExists(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\original.txt') then
begin
ListBox1.Items.LoadFromFile(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\original.txt');
end else ListBox1.Items.LoadFromFile('ersatz.txt'); (hier wird die Datei aus dem Programmverzeichnis geladen)
der Code funktioniert soweit gut, aber nur! wenn das Verzeichnis "UserAppDataDir + AppDataRootDir + AppDataProjectDir" existieren. Wir das Programm das erste mal am PC gestartet gibt es auch logischerweise noch nicht, aber dann funkt auch mein Code nicht und beim Erststart wird die ersatz.txt nicht geladen.

Wie prüfe ich also auf Existenz eines Ordners bzw. Verzeichnisses?

Die Muhkuh 22. Apr 2009 16:08

Re: Verzeichnis auf Existenz prüfen?
 
Du könntest die Ordner mit ForceDirectories erstellen.

Ansonsten DirectoryExists.

shmia 22. Apr 2009 16:14

Re: Verzeichnis auf Existenz prüfen?
 
Und immer schön lokale Zwischenvariablen verwenden!!
Das hilft beim Debuggen und mancht den Code klarer und besser.
Delphi-Quellcode:
var
  filename : string;
begin
  filename := UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\original.txt';
  // sollte nun in filename ein Backslash fehlen oder zuviel sein, fällt das beim Debuggen sicher auf
  ...

himitsu 22. Apr 2009 16:18

Re: Verzeichnis auf Existenz prüfen?
 
Zitat:

(hier wird die Datei aus dem Programmverzeichnis geladen)
nein, diese wird nur rein zufällig aus dem Programmverzeichnis geladen.

AlexII 22. Apr 2009 16:22

Re: Verzeichnis auf Existenz prüfen?
 
Hab das jetzt so gelöst

Delphi-Quellcode:
if DirectoryExists(UserAppDataDir + AppDataRootDir + AppDataProjectDir) then
begin
showmessage('Ja');
end else showmessage('Nein');
wenn das Verzeichnis existiert wird "Ja" angezeigt, wenn nicht kommt die Meldung "Nein" gar nicht, wer weiß wieso?

AlexII 22. Apr 2009 16:23

Re: Verzeichnis auf Existenz prüfen?
 
Zitat:

Zitat von himitsu
Zitat:

(hier wird die Datei aus dem Programmverzeichnis geladen)
nein, diese wird nur rein zufällig aus dem Programmverzeichnis geladen.

Wieso "rein zufällig"? :gruebel:

himitsu 22. Apr 2009 16:26

Re: Verzeichnis auf Existenz prüfen?
 
weil das aktuelle Vereichnis nicht unbedingt das Programmverzeichnis sein muß.

AlexII 22. Apr 2009 16:30

Re: Verzeichnis auf Existenz prüfen?
 
Zitat:

Zitat von himitsu
weil das aktuelle Vereichnis nicht unbedingt das Programmverzeichnis sein muß.

Und in welchen Fällen kann das kein Programmverzeichnis sein?

Wie komme ich dann an das Programmverzeichnis? Gibt' dafür ein Befehl oder muss man ne Funktion schreiben?

AlexII 22. Apr 2009 16:38

Re: Verzeichnis auf Existenz prüfen?
 
Hab schon gefunden

Delphi-Quellcode:
Path := ExtractFilePath(ParamStr(0));
aber wieso funkt der Code im Post #5 nicht das verstehe ich nicht. :gruebel:

DeddyH 22. Apr 2009 16:47

Re: Verzeichnis auf Existenz prüfen?
 
Und ich verstehe nicht, wieso Du Dir Dein Verzeichnis immer noch ständig neu zusammenbastelst. Ich hatte Dir doch erklärt, wie das mit Konstanten und privaten Feldern besser geht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz