if und then

nixchecka

Grünschnabel
Also jetzt nochmal für alle
ich möchte ein Programm schreiben mit dem man temp/verlauf und den papierkorb leeren kann! diese drei Sachen befinden sich in einer Checkbox und ich möchte wenn in der check box ein Häkchen ist und ich den button durchführen drücke das er genau das ver zeichniss löscht was mit Häkchen versährt ist löscht! Ich habe es so weit hinbekommen ,das wenn da ein hacken ist und ich durchführen drücke das dann ne msgbox kommt ! Aber ich will halt löschen und das kriege ich net hin!

Checkboxen
checkbox 1 (verlauf)
checkbox 2 (temp)
checkbox 3 (erstmal egal)


befehle zum löschen!

checkbox1 (SHDelete("C:\Dokumente und Einstellungen\an\Dokumente und einstellungen\temp\*.*", Me.hwnd, True, True, True))
checkbox2 (SHDelete("C:\Dokumente und Einstellungen\an\Dokumente und einstellungen\verlauf\*.*", Me.hwnd, True, True, True))

ich hoffe das war klar genug

ich hoffe auf hilfe arthur!
 
Ich versuche dir jetzt mal zu antworten, bin aber noch ziemlich ungeübt in VB und weiss auch nicht genau, ob es dir weiter hilft.
Also auf der Form befinden sich zwei Checkboxen(Check1 und Check2) und ein Button(Command1)

Private Sub Command1_Click()

If Check1.Value = 1 Then
' Hier den Löschvorgang
End if

If Check2.Value = 1 Then
'Hier den anderen Löschvorgang
End If

End Sub

Ist das die Lösung?

Gruß Christa
 
Also hier nochmal der Link
http://www.vbarchiv.net/archiv/tipp_325.html
anscheinend willst du dir nicht die Mühe machen, das durchzulesen.
ich hab ja sonst nichts zu tun.

Dieses in ein neues Modul einfügen:
'###################################
' API Deklarationen
Private Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String
End Type

Private Declare Function SHFileOperation Lib "Shell32.dll" _
Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) _
As Long

Private Const FO_DELETE = &H3
Private Const FOF_ALLOWUNDO = &H40
Private Const FOF_SILENT = &H4
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_SIMPLEPROGRESS = &H100
Private Const FOF_NOERRORUI = &H400


' Löschen aller Dateien/Ordner eines Unterordners
'
' Parameterbeschreibung:
' ======================
' vFiles - Ein Array oder String, der die zu löschende
' Datei oder das Verzeichnis angibt.
' lStartHwnd - Handle des aufrufenden Fensters
' bConfirmation - Soll der Benutzer die Aktion bestätigen?
' bShowProgress - Soll ein Fortschritt angezeigt werden?
' bShowNames - Sollen auch die Namen angezeigt werden?
' bAllowUndo - Soll in den Papierkorb gelöscht werden?
' bShowErrors - Sollen Fehler angezeigt werden?
' AbortFiles - Rückgabe, ob Benutzerabbruch
Public Function SHDelete(vFiles As Variant, _
Optional lStartHwnd As Long, _
Optional bConfirmation As Boolean, _
Optional bShowProgress As Boolean, _
Optional bShowNames As Boolean, _
Optional bAllowUndo As Boolean = True, _
Optional bShowErrors As Boolean = True, _
Optional bAbortFiles As Boolean) As Boolean

Dim i As Long
Dim oFileOP As SHFILEOPSTRUCT

With oFileOP
' Das Handle des aufrufenden Fensters
.hWnd = lStartHwnd

' Das From setzten
If IsArray(vFiles) Then
' Array auseinandernehmen
For i = LBound(vFiles) To UBound(vFiles)
.pFrom = .pFrom & vFiles(i) & vbNullChar
Next i
.pFrom = .pFrom & vbNullChar
ElseIf VarType(vFiles) = vbString Then
' Wenn ein Verzeichnis dann aber ohne
' abschließendes "\"-Zeichen
If Right(vFiles, 1) = "\" Then _
vFiles = Left(vFiles, Len(vFiles) - 1)

' Prüfen, ob mit 2 vbNullChars abgeschlossen
.pFrom = vFiles
While Right$(.pFrom, 2) <> String$(2, vbNullChar)
.pFrom = .pFrom & vbNullChar
Wend
End If

' Flags setzten
If bAllowUndo Then .fFlags = FOF_ALLOWUNDO
If Not bShowProgress Then .fFlags = .fFlags Or _
FOF_SILENT
If Not bConfirmation Then .fFlags = .fFlags Or _
FOF_NOCONFIRMATION
If Not bShowNames Then .fFlags = .fFlags Or _
FOF_SIMPLEPROGRESS
If Not bShowErrors Then .fFlags = .fFlags Or _
FOF_NOERRORUI

' wir wollen löschen
.wFunc = FO_DELETE

' Und gib ihm ;-) !
SHDelete = Not CBool(SHFileOperation(oFileOP))
If Not IsMissing(bAbortFiles) Then
' Sollte der Benutzer abgebrochen, haben evtl.
' eine Info an die aufrufende Funktion.
bAbortFiles = CBool(.fAnyOperationsAborted)
End If
End With
End Function
'#################################


dann z.B. für Checkbox eins einfach aufrufen mit

SHDelete("C:\Dokumente und Einstellungen\an\Dokumente und einstellungen\temp\")

das löscht dann aber auch den Ordner, d.h. du musst ihn neu anlegen oder du machst eine Schleife für jeden Ordner und jede Datei, die drin ist.

vielleicht wird´s jetzt was.

cu
simone
 

Neue Beiträge

Zurück