Entwickler-Ecke

Dateizugriff - Prüfung, ob Unterverzeichnis existiert / Neuerstellung


georgfischerx - Mi 23.10.02 08:34
Titel: Prüfung, ob Unterverzeichnis existiert / Neuerstellung
Hallo allerseits,

ich habe ein ganz einfaches Problem und ein totales "Blackout".
Wie prüfe ich, ob ein Unterverzeichnis "Daten" zum Programmverzeichnis
existiert und lege es gegebenenfalls an, falls es nicht existiert.

Wie man den Pfad zum aktuellen Programmverzeichnis findet, weiss ich
schon.

Bsp.: Programmverzeichnis = "s:\allgemein\programme\roentgen"
Datenverzeichnis = "s:\allgemein\programme\roentgen\daten"

Vielen Dank im Voraus für Eure Hilfe !

Gruss, Georg


Delete - Mi 23.10.02 08:46

Entweder du benutzt die Unit "FileCtrls.pas"; dort gibt es die Funktion DirectoryExists. Oder du kannst dir diese Funktion auch fix selbst schreiben.

Einmal mit "SysUtils.pas":

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
function DirExists(const szDirname: string): boolean;
var
  dummy : string;
begin
  dummy  := GetCurrentDir;
  Result := SetCurrentDir(szDirname);
  SetCurrentDir(dummy); // zurück ins Ausgangsverzeichnis
end;

Einmal ohne:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
function DirExists(const szDirname: string): boolean;
var
  dummy : string;
begin
  GetDir(0,dummy);
  {$I-}
  ChDir(szDirName); Result := (IoResult = 0);
  {$I+}
  ChDir(dummy); // zurück ins Ausgangsverzeichnis
end;


georgfischerx - Mi 23.10.02 09:09
Titel: Prüfung, ob Unterverzeichnis existiert / Neuerstellung
Herzlichen Dank für die Antwort ! Das war genau das, wonach
ich gesucht habe !

Gruss, Georg


LCS - Mi 23.10.02 09:10

Hi
oder so:

Quelltext
1:
2:
3:
4:
function CheckDir(DirName: string): Boolean;
begin
   Result := GetFileAttributes(PChar(DirName + '\.')) <> $FFFFFFFF;
end;


Gruss Lothar