Hallo HemSA.
Ich experimentiere da gerade ein wenig herum.
Mit den Änderungen bei Dateien funktioniert das schon ganz gut.
Mit den Ordnern habe ich aber noch probleme.
Hier mal zum Testen.
Aber erst anschauen, DANN das Kommentarzeichen vor:
SetFileDate(...
zum "scharfmachen" entfernen.
So ist das Programm erst mal ungefährlich, zum ausprobieren.
Gruß: Bernd
Code: Alles auswählen
#HWnd = 1
Enumeration
#Datgadg
#ChBGadg
#DatButt
#LosButt
#EndButt
#TxtGadg1
#TxtGadg2
#combogadg
EndEnumeration
Global datum$ = FormatDate("%dd.%mm.%yyyy",Date())
Global flag = #PB_Date_Created
Procedure AendereDatum(Pfad$)
ok = ExamineDirectory(#PB_Any, pfad$, "*.*")
If ok
While NextDirectoryEntry(ok)
zeit$=datum$+":"+FormatDate("%hh.%ii",Date())
If DirectoryEntryType(ok) = #PB_DirectoryEntry_File
file$=pfad$+DirectoryEntryName(ok)
Debug file$
;SetFileDate(file$,flag,ParseDate("%dd.%mm.%yyyy:%hh.%ii",zeit$))
Else
If Not (DirectoryEntryName(ok)="." Or DirectoryEntryName(ok)="..")
;SetFileDate(pfad$,flag,0);ParseDate("%dd.%mm.%yyyy:%hh.%ii",zeit$))
file$=pfad$+DirectoryEntryName(ok)+"\"
;Debug file$
If GetGadgetState(#ChBGadg)
AendereDatum(file$)
EndIf
EndIf
EndIf
Wend
FinishDirectory(ok)
EndIf
EndProcedure
; --- Window
OpenWindow(#HWnd , 0,0,300,200,"Dateidatum einstellen",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
TextGadget(#TxtGadg1,4,4,292,22,"Datum einstellen !")
DateGadget(#Datgadg,4,30,80,22,"%dd.%mm.%yyyy",Date())
ComboBoxGadget(#combogadg,100,30,120,22)
AddGadgetItem(#combogadg,0,"Erstellungsdatum")
AddGadgetItem(#combogadg,1,"Letzter Zugriff")
AddGadgetItem(#combogadg,2,"Letzte Änderung")
SetGadgetState(#combogadg,0)
ButtonGadget(#DatButt,4,60,80,30,"Ordner")
CheckBoxGadget(#ChBGadg,100,62,200,22,"Unterordner einbeziehen")
TextGadget(#TxtGadg2,4,96,292,22,"",#PB_Text_Border|#PB_Text_Right)
ButtonGadget(#LosButt,4,140,60,30,"Los")
ButtonGadget(#EndButt,216,140,80,30,"Ende")
pfad$=GetCurrentDirectory()
; --- Hauptschleife
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
ende=1
Case #PB_Event_Gadget
Select EventGadget()
Case #EndButt
ende=1
Case #DatButt
pfad$=PathRequester("Ordner wählen",pfad$)
SetGadgetText(#TxtGadg2,pfad$)
Case #LosButt
AendereDatum(pfad$)
Case #Datgadg
datum$=GetGadgetText(#Datgadg)
;Debug datum$
Case #combogadg
Select GetGadgetState(#combogadg)
Case 0 : flag = #PB_Date_Created
Case 1 : flag = #PB_Date_Accessed
Case 2 : flag = #PB_Date_Modified
EndSelect
;Debug flag
EndSelect
EndSelect
Until ende
End