TinTin Geschrieben 20. April 2003 Geschrieben 20. April 2003 hi, wie kann ich wenn ich z.b. eine CString mit dem inhalt 'c:\\mydir\\nextdir' überprüfen ob 'nextdir' auch existiert? ich habs zwar schon mit 'IsDot()' und 'IsDirectory()' probiert, dass war aber nicht so komfortabel. gibt es nicht eine funktion, die mir sagt ob das verzteichniss besteht? ciao TinTin Zitieren
-nPrCrZ Geschrieben 21. April 2003 Geschrieben 21. April 2003 Hi, Ich habe mir dafür mal selber eine Funktion geschrieben. Sie ist zwar nicht sehr professionel, aber sie funktioniert. bool CheckVerz(CString Verzeichnis) { WIN32_FIND_DATA fd; if(Verzeichnis.Right(1) != "\\") Verzeichnis += "\\"; Verzeichnis += "*.*"; HANDLE handle = FindFirstFile (LPCTSTR(Verzeichnis), &fd); if(handle == INVALID_HANDLE_VALUE) return false; else return true; } Ich hoffe ich konnte dir weiterhelfen. mfg Chris Zitieren
TinTin Geschrieben 28. April 2003 Autor Geschrieben 28. April 2003 danke !!! funktioniertja ganz gut, wenn auch wirklich verzeichnisse angegeben sind. z.b. c:\windows hat als ergebnis erwartungsgemäs 'true'. wenn ich jedoch kein verzeichnis mit angebe, sondern nur einen laufwerksbuchstaben, dann bekomme ich, da kein verzeichnis da ist, 'false' als ergebnis. ist ja auch richtig so. wie kann ich denn deine funktion erweitern, so dass ich bei einem laufwerk auch ein 'true' zurückbekomme, wenn es existiert? ich hoffe ich hab mich einigermassen verständlich ausgedrückt... ciao TinTin Zitieren
-nPrCrZ Geschrieben 28. April 2003 Geschrieben 28. April 2003 Hi, Also bei mir funktioniert es auch mit Laufwerken einwandfrei. Wenn ich der Funkion z.B. "C:\\" oder "C:" übergebe gibt sie true zurück. Laufwerke werden auch wie Ordner behandelt. Es wird im übergebenen Ordner nach dem ersten *.* gesucht, was auch bei leeren Ordner true zurück gibt, weil auch '.' behandelt wird, das sich ja in jedem Ordner befindet. mfg Chris Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.