For nt-based systems there is an easier way.
common
Code: Select all
; PureBasic Visual Designer v3.82 build 1356
DefType.s Filename, tmp
NewList Dateien.s()
osvi.OSVERSIONINFO
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Listview_0
#Button_0
#Button_1
#Button_2
#Image_0
EndEnumeration
;- Statusbar Constants
;
Enumeration
#StatusBar_0
EndEnumeration
;- Image Plugins
UseJPEGImageDecoder()
;- Image Globals
Global Image0
;- Catch Images
Image0 = CatchImage(0, ?Image0)
;- Images
DataSection
Image0:
;IncludeBinary "F:\sicherung\dottore.jpg"
EndDataSection
Procedure Open_Window_0()
If OpenWindow(#Window_0, 339, 204, 302, 236, #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Delay File Delete 1.0")
If CreateStatusBar(#StatusBar_0, WindowID())
AddStatusBarField(302)
StatusBarText(#StatusBar_0, 0, "Bereit")
EndIf
If CreateGadgetList(WindowID())
ListViewGadget(#Listview_0, 10, 10, 180, 200, #LBS_SORT)
ButtonGadget(#Button_0, 210, 10, 80, 30, "Auswählen")
ButtonGadget(#Button_1, 210, 50, 80, 30, "Löschen")
ButtonGadget(#Button_2, 210, 90, 80, 30, "Beenden")
;ImageGadget(#Image_0, 210, 130, 80, 80, Image0, #PB_Image_Border)
EndIf
EndIf
EndProcedure
main
Code: Select all
; PureBasic Visual Designer v3.82 build 1356
IncludeFile "Common.pb"
osvi\dwOSVersionInfoSize = SizeOf(OSVERSIONINFO)
GetVersionEx_(osvi)
If osvi\dwPlatformId <> #VER_PLATFORM_WIN32_NT Or osvi\dwMajorVersion = 4
MessageRequester("Fehler", "Windows 9x/ME wird nicht unterstützt!", #MB_ICONSTOP)
End
EndIf
Open_Window_0()
DisableGadget(#Button_1, 1)
Repeat
Event = WaitWindowEvent()
If Event = #PB_EventCloseWindow
quit = 1
ElseIf Event = #PB_Event_Gadget
Select EventGadgetID()
Case #Listview_0
Case #Button_0 ; Auswählen
Filename = OpenFileRequester("Datei(en) auswählen", "C:\", "Alle Dateien (*.*)|*.*", 0, #PB_Requester_MultiSelection)
Repeat
AddElement(Dateien())
Dateien() = Filename
SendMessage_( GadgetID(#Listview_0), #LB_ADDSTRING, 0, GetFilePart(Filename))
Filename = NextSelectedFileName()
Until Filename = ""
DisableGadget(#Button_1, 0)
Case #Button_1 ; Löschen
ForEach Dateien()
SetFileAttributes_(Dateien(), #FILE_ATTRIBUTE_NORMAL)
MoveFileEx_(Dateien(), #NULL, #MOVEFILE_DELAY_UNTIL_REBOOT)
Next
ClearGadgetItemList(#Listview_0)
StatusBarText(#StatusBar_0, 0, "Dateien werden nach dem nächsten Neustart gelöscht!")
Case #Button_2 ; Beenden
quit = 1
Break
EndSelect
EndIf
Until quit
End
;
Manne