ich verplan die Pfade irgentwie grad
Übersicht

![]() |
dominikBetreff: ich verplan die Pfade irgentwie grad |
![]() Antworten mit Zitat ![]() |
---|---|---|
eigentlich müssten doch alle files aus dem ordner gelöscht werden und dann das verzeichnis. irgentwi lässt sich aber der ordner nicht löschen.
Code: [AUSKLAPPEN] Function listbeintragl()
selected = SelectedGadgetItem(belist) If selected >= 0 Then Selected_Dir$ = GadgetItemText (belist,selected) prot = Proceed("Wollen Sie '" + Selected_Dir$ + "' wirklich löschen?",1) If prot = 1 Then RemoveGadgetItem belist,selected verzl = ReadDir(pfad$ + "\" + selected_dir$) Repeat Dl$ = NextFile$(Verzl) If FileType(pfad$ + "\" + dl$) = 1 Then DeleteFile (pfad$ + "\" + selected_dir$ + "\" + dl$) Until dl$ = "" DeleteDir (Pfad$ + "\" + Selected_Dir$) CloseDir Verzl EndIf EndIf End Function |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habe mir mal eine Function gebastelt die das komplette verzeichnis löscht inclusive der Unterordner und der vorhandenen Dateien !
Aber vorsichtig damit umgehen denn ich will nicht das ihr euch die Festplatte damit radikal aufräumt! ich bau vorsichthalber noch eine sicherheits abfrage rein....... Code: [AUSKLAPPEN] Delete_Dir("e:\testdir",1)
Function Delete_Dir(Pfad$,Safty) If safty = 1 Then Sicherheit = Proceed("Sind sie sicher das Sie dieses Verzeichnis komplett löschen wollen!"+Chr$(13)+Chr$(13)+Pfad) If Sicherheit <> 1 Then Return End If Olddir$ = CurrentDir() ChangeDir Pfad$ Ordner = ReadDir(CurrentDir()) Repeat File$ = NextFile (Ordner) If File$ = "" Then Exit If FileType(CurrentDir()+File$) = 2 Then If File$ <> "." And File$ <> ".." Then ;Unterordner gefunden Delete_Dir(CurrentDir()+File$,0);<<<<<<ohne Sicherrung Rekursiv ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Rekursiv DebugLog File$ End If Else ; = 1 DeleteFile File$ End If Forever CloseDir (Ordner) ChangeDir Olddir$ DeleteDir (Pfad$) End Function |
||
[BB2D | BB3D | BB+]
|
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
dein Problem liegt hier,
Du kannst ein Ordner nicht löschen wenn der geöffnet ist! Code: [AUSKLAPPEN] DeleteDir (Pfad$ + "\" + Selected_Dir$)
CloseDir Verzl einfach mal tauschen...... |
||
[BB2D | BB3D | BB+]
|
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
komisch wenn ich des code so schreibe:
Code: [AUSKLAPPEN] Function listbeintragl()
selected = SelectedGadgetItem(belist) If selected >= 0 Then Selected_Dir$ = GadgetItemText (belist,selected) prot = Proceed("Wollen Sie '" + Selected_Dir$ + "' wirklich löschen?",1) If prot = 1 Then ChangeDir(pfad$ + "\" + Selected_Dir$) Notify CurrentDir() RemoveGadgetItem belist,selected verzl = ReadDir(CurrentDir() + selected_dir$) Repeat Dl$ = NextFile$(Verzl) If FileType(CurrentDir() + dl$) = 1 Then DeleteFile (CurrentDir() + dl$) Until dl$ = "" ChangeDir "..." CloseDir Verzl DeleteDir (CurrentDir() + Selected_Dir$) EndIf EndIf End Function dann bekomme ich aber hier diese tolle fehler meldung von XP. un zwar hier: Code: [AUSKLAPPEN] ChangeDir(pfad$ + "\" + Selected_Dir$)
wenn ich das aber so abänder: Code: [AUSKLAPPEN] ChangeDir(pfad$ + Selected_Dir$)
also ohne den strich (der aber eigentlich logischerweise darein muss) dannbekomme ich keine fehlermeldung, allerdins kommcih dann halt auich nicht in den oirdner rein. ich hab mal ne notify meldung dahinter gemacht und die ziegt mir auch noch kurtz bevor das programm abgebrovchne wird an das ich im richitgen ordern bin. Pfad is der Pfad der in den ordner für wo die exe is und wo die unter orner liegen. selbst wenn ich des \ daran häng, und nicht zusätzlich im code dranhäng, kommt die fehlermeldung. |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habe den Code mal so geändert das das auch geht,
das Problem war wohl diese Zeile: Code: [AUSKLAPPEN] verzl = ReadDir(CurrentDir() + selected_dir$)
da du dich schon in diesem Ordner befindest Code: [AUSKLAPPEN] Function listbeintragl()
Old_Pfad$ = CurrentDir() selected = SelectedGadgetItem(belist) If selected >= 0 Then Selected_Dir$ = GadgetItemText (belist,selected) prot = Proceed("Wollen Sie '" + Selected_Dir$ + "' wirklich löschen?",1) If prot = 1 Then ChangeDir(CurrentDir() + Selected_Dir$) ; in unterordner wechseln Notify CurrentDir() ; anzeigen RemoveGadgetItem belist,selected ; aus liste löschen ; verzl = ReadDir(CurrentDir() + selected_dir$) verzl = ReadDir(CurrentDir()) ;Inhalt auslesen Repeat Dl$ = NextFile$(Verzl) If FileType(CurrentDir() + dl$) = 1 Then DeleteFile (CurrentDir() + dl$) Until dl$ = "" ChangeDir Old_Pfad$ CloseDir Verzl DeleteDir (CurrentDir() + Selected_Dir$) EndIf EndIf End Function |
||
[BB2D | BB3D | BB+]
|
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke jetzt funztz.
anstatt Code: [AUSKLAPPEN] Old_Pfad$ = CurrentDir()
ChangeDir Old_Pfad$ kann man doch auch einfach Code: [AUSKLAPPEN] changedir "..."
schreiben. |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja, aber es geht eben nur eine ebene zurück,
wenn du später auf verschiedene verzeichnisse oder unterverzeichnisse zugreifts geht es nicht mehr also ist die erste version schon universell einsetztbar und changedir "..." wird glaube ich mit 2 punkten gemacht nicht mit 3! |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group