Erstellen von Directory
-
Hi,
ich möchte, dass der Benutzer den Pfad und den Namen für ein Directory eingibt. Danach will ich das Directory in diesen eingegeben Pfad anlegen!
Haben es schon mit einem CFileDialog probiert, aber funktioniert nicht!
Könnt ihr mir bitte helfen.
Danke im vorausmfg Mike1
-
Sucht du das: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39127.html ?
Oder wodran scheitert es?
-
Ich weiß, wie das Directory und der Pfad heißt, aber ich kann das Directory nicht erstellen!!
-
Zeig doch mal den Code dazu, mitm Hellsehen ist es hier nicht so weit her...
-
BOOL CEingabedialog::OnInitDialog() { CDialog::OnInitDialog(); //Abfrage des Projektnamen CFileDialog projektname(FALSE, NULL, NULL, NULL, NULL); projektname.m_ofn.lpstrInitialDir = _pgmptr; projektname.m_ofn.lpstrTitle = "Projektnamen eingeben"; projektname.DoModal(); //Pfad des Projektnamens ermitteln + Abspeichern in m_projektname m_projektname = projektname.GetPathName(); m_prnon = projektname.GetFileName(); //Verzeichnis erstellen mit dem Namen von m_projektnamen CreateDirectory(m_projektname, NULL);
-
Kann es sein, dass du versuchst, das Verzeichnis zu erstellen, im dem du eigentlich den Ordner erstellen wolltest?

Beispiel:
In C:\Programme\ willst du Spiele erstellen.
Du machst:CreateDirectory("C:\\Programme\\", NULL);du willst:
CreateDirectory("Spiele", NULL);
-
Wenn ich nur in dem Create-Director Befehl "Spiele" schreibe wie kann ich festlegen wo der Ordner "Spiele" in der Dateistruktur anlege??
-
Indem du den kompletten Pfad ("C:\Programme\Spiele") angibst.
(schau dir mal im Debugger an, was für einen Dateinamen du zurückbekommst)
PS: Und schau dir mal an, was für Flags du dem CFileDialog-Ctor mitgeben darfst.
-
m_projektname = projektname.GetPathName();Hier steht der komplette Pfad drinnen. Wenn ich debugge und den projektnamen anschau, stimmt er auch.(z.B:"C:\Programme\Spiele") Es wird ein Debug Assertion Failed Fehler ausgegeben, wenn man auf abbrechen drückt, erstellt er trotzdem das Directory.
Wo kann ich mir die Flags anschauen von CFileDialog-Ctor?
-
mike1 schrieb:
Es wird ein Debug Assertion Failed Fehler ausgegeben, wenn man auf abbrechen drückt, erstellt er trotzdem das Directory.
Dann drück mal auf "Wiederholen" und schau dir an, wo die Assertion aufgetreten ist.
Wo kann ich mir die Flags anschauen von CFileDialog-Ctor?
In der MSDN unter "CFileDialog".
-
Wo kann ich nachschauen, wo die assertion stattgefunden hat?
Wenn ich auf "Wiederholen" drück, hängt sich das Programm auf.
-
Hallo
Du kannst doch dann unten rechts die funktionen durchklicken, die zuletzt aufgerufen wurden.
chrische
-
mike1 schrieb:
Wo kann ich nachschauen, wo die assertion stattgefunden hat?
Wenn ich auf "Wiederholen" drück, hängt sich das Programm auf.Dein Programm oder VC?
Dein Programm: Ja klar, genau das sollte passieren.
Lies mal
VC: Das ist nicht gut...