Hallo,
erneut eine Frage über Zeiten^^
Folgendes Script:
Spoiler anzeigen
#Include <Array.au3>
#Include <GUIEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <DateTimeConstants.au3>
#Include <Date.au3>
Opt("GUIOnEventMode",1)
[/autoit] [autoit][/autoit] [autoit]$GUI = GUICreate("AnyName Dev",280,130,-1,-1,-1,0x00000018)
GUISetOnEvent(-3,"_Exit")
$Input = GUICtrlCreateInput("...",10,40,220,20)
GuiCtrlSetState(-1,$GUI_DROPACCEPTED)
$Datum = GUICtrlCreateDate("",10,70,80,20,$DTS_SHORTDATEFORMAT)
$Zeit = GUICtrlCreateDate("", 100, 70, 80, 20, $DTS_TIMEFORMAT)
GUICtrlCreateButton("Beenden",100,100,80,20)
GUICtrlSetOnEvent(-1,"_Exit")
GUISetState(@SW_SHOW,$GUI)
GUISetOnEvent($GUI_EVENT_DROPPED, "_Dropped")
while 1
Wend
Func _Dropped()
Local $ZeitTest = 0
If @GUI_DropId = $Input Then
GUICtrlSetData($Input, @GUI_DragFile)
_GUICtrlEdit_SetSel($Input, 0, -1)
$aDragTime = FileGetTime(GUICtrlRead($Input),1)
GUICtrlSetData($Datum,$aDragTime[0]&"/"&$aDragTime[1]&"/"&$aDragTime[2])
GUICtrlSetData($Zeit,$aDragTime[0]&"/"&$aDragTime[1]&"/"&$aDragTime[2]&"/"&$aDragTime[3]-1&"/"&$aDragTime[4]&"/"&$aDragTime[5])
EndIf
EndFunc
func _Exit()
Exit
EndFunc
Das die Stunde ($aDragTime[3]) - 1 gerechnet wird ist nur als Beispiel. Anstelle der 1 kommt dann eine Variable.
Wenn man per Drag'n'Drop eine Datei in das Inputfeld zieht soll das Erstelldatum der Datei ins Datums und Zeitfeld eingetragen werden.
Dies Funktioniert auch mit jeder Datei, wo die Uhrzeit des Erstelldatums höher/gleich als 10 Uhr ist .... 11,12,13 .... 24. Bei diesen wird - 1 gerechnet und es richtig eingetragen.
Wenn eine Datei mit einer Erstellzeit niedriger als 10 .... 9,8 .... 0 eingetragen wird, setzt es die Minuten und Sekunden in der Zeitanzeige nicht richtig.
Die Stunden stimmen, die Minuten sind nur einstellig (egal wie hoch 01 - 59, meist ist nur die 2 Ziffer da, 1. Ziffer meist 0) und die Sekunden werden auf den aktuellen Systemwert gesetzt. Einfach mal selber probieren.
Wie kann ich das Problem umgehen, so dass auch Uhrzeiten eintragen werden, die niedriger sind als 10.
Vielen Dank schonmal im Vorraus.
Gruß
Prixma