Kann Fehler nicht finden...
Verfasst: 30.09.2008 22:30
Hallo wieder,
Sorry dass ich mich schonwieder melden muss, muss aber ich bin grad voll am Ende...(Brain.exe - Keine Rückmeldung; Brain.exe hat einen Fehler festgestellt und musste beendet werden...)
Ich hab mir einen Nachfolger des Shredders den ich hier schonmal gepostet habe gemacht. Funktioniert nach dem gleichen Löschprinzip, nur mit mehrfachselektion (NextSelectedFileName()) und neuen Funktionen.
Nun ist es aber so, dass das Programm den eigentlichen Löschvorgang immer überspringt und manchmal sogar beim auswählen der Dateien einfach Abstürzt. Und ich weis einfach nicht woran das liegt!
Ich poste hier erstmal nur den Löschcode um nicht gleich für Verwirrung zu Sorgen. Falls ihr mir nicht helfen könnt poste ich den ganzen...
Sieht dann ungefähr so aus:

Ich hoffe ihr könnt mir helfen!
grüße DrNo
Sorry dass ich mich schonwieder melden muss, muss aber ich bin grad voll am Ende...(Brain.exe - Keine Rückmeldung; Brain.exe hat einen Fehler festgestellt und musste beendet werden...)
Ich hab mir einen Nachfolger des Shredders den ich hier schonmal gepostet habe gemacht. Funktioniert nach dem gleichen Löschprinzip, nur mit mehrfachselektion (NextSelectedFileName()) und neuen Funktionen.
Nun ist es aber so, dass das Programm den eigentlichen Löschvorgang immer überspringt und manchmal sogar beim auswählen der Dateien einfach Abstürzt. Und ich weis einfach nicht woran das liegt!
Ich poste hier erstmal nur den Löschcode um nicht gleich für Verwirrung zu Sorgen. Falls ihr mir nicht helfen könnt poste ich den ganzen...
Um euch das zu erleichtern hab ich die ;-Hilfen Fett markiert, was aber nur im Zitat geht und er da die Formatierung verliert. Deswegen hier nochmal ohne ;-Hilfe:If Event = #PB_Event_Gadget
If EventGadget() = 7
wdh = GetGadgetState(4)
c = 0
AddGadgetItem(3, -1, "Löschvorgang von "+Str(count)+" Datei/en mit "+Str(Anzahl)+"-facher Wiederholung gestartet...") ; Info-Anzeige im EditorGadget
DisableGadget(7, 1)
While FileName$ ; Beginn der NextSelectedFileName()-Schleife
If ReadFile(0, FileName$)
length = Lof(0)
*MemoryID = AllocateMemory(length)
If *MemoryID
bytes = ReadData(0, *MemoryID, length) ; Ermitteln der größe der aktuellen Datei zur Anzeige und zum Überschreibungs-stopper.
EndIf
CloseFile(0)
EndIf
AddGadgetItem(3, -1, "Lösche Datei "+Str(c)+" von "+Str(count)+" ("+Str(bytes)+") bytes...") ; Anzeige zum start des eigentlichen Löschvorgangs im E.-Gadget.
If OpenFile(0, FileName$)
For b = 0 To wdh Step 1 ; Löschvorgang so oft wie im TrackBarGadget angegeben wiederholen.
For a = 0 To bytes Step 2 ; Sooft überschreiben bis ursprüngliche Dateigröße wieder erreicht.
WriteWord(0, Random($FFFF))
FlushFileBuffers(0)
Next
FlushFileBuffers(0)
CloseFile(0)
Next
Else
AddGadgetItem(3, -1, "ERROR: Es ist ein Fehler aufgetreten.")
EndIf
c + 1 ; zur Anzeige: c von x Dateien gelöscht
AddGadgetItem(3, -1, "Datei gelöscht!")
FileName$ = NextSelectedFileName() ; Nächste Datei
Wend
AddGadgetItem(3, -1, "Alle Dateien erfolgreich gelöscht!")
ClearGadgetItemList(0) ; Fertigstellung des Löschvorgangs und freigeben der Lösch funktion.
DisableMenuItem(0, 1, 0)
DisableGadget(7, 0)
EndIf
EndIf
Code: Alles auswählen
If Event = #PB_Event_Gadget
If EventGadget() = 7
wdh = GetGadgetState(4)
c = 0
AddGadgetItem(3, -1, "Löschvorgang von "+Str(count)+" Datei/en mit "+Str(Anzahl)+"-facher Wiederholung gestartet...")
DisableGadget(7, 1)
While FileName$
If ReadFile(0, FileName$)
length = Lof(0)
*MemoryID = AllocateMemory(length)
If *MemoryID
bytes = ReadData(0, *MemoryID, length)
EndIf
CloseFile(0)
EndIf
AddGadgetItem(3, -1, "Lösche Datei "+Str(c)+" von "+Str(count)+" ("+Str(bytes)+") bytes...")
If OpenFile(0, FileName$)
For b = 0 To wdh Step 1
For a = 0 To bytes Step 2
WriteWord(0, Random($FFFF))
FlushFileBuffers(0)
Next
FlushFileBuffers(0)
CloseFile(0)
Next
Else
AddGadgetItem(3, -1, "ERROR: Es ist ein Fehler aufgetreten.")
EndIf
c + 1
AddGadgetItem(3, -1, "Datei gelöscht!")
FileName$ = NextSelectedFileName()
Wend
AddGadgetItem(3, -1, "Alle Dateien erfolgreich gelöscht!")
ClearGadgetItemList(0)
DisableMenuItem(0, 1, 0)
DisableGadget(7, 0)
EndIf
EndIf

Ich hoffe ihr könnt mir helfen!
grüße DrNo