Ich würde gerne wissen wie ich eine bestimmte funktion zu einer bestimmten Zeit startet. Ich stelle mir das so vor ich gebe eine uhr zeit in einer inputbox vor und wen es dann genau so spät ist wie ich es in der inputbox geschrieben habe das dann die funktion beginnt zu starten.
Ich hoffe ihr könnt mir weiterhelfen:)
P.s. bin neuling:)
Funktion oder Programm zur bestimmten Systemuhrzeit ausführen
-
- [ offen ]
-
blub1 -
18. Dezember 2010 um 23:20 -
Geschlossen -
Erledigt
-
-
Hallo blub1,
Programme staten kannst du mit
[autoit]run;oder mit
[/autoit]
shellexecuteum die Zeit zu prüfen benötigst du
[autoit]if..then;
[/autoit]evtl. Makros wie
[autoit]@hour;
[/autoit]
@minoder eine Funktiob wie z.B.
[autoit]_NowCalc
[/autoit]hier einmal ein allgemeines Skript das nachprüft ob die aktuelle Zeit zwischen 2 angegebenen Werten liegt:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <StaticConstants.au3>
#include <date.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include<WindowsConstants.au3>Opt('GUIOnEventMode', 1)
[/autoit] [autoit][/autoit] [autoit]Global $sTitel = 'Beispiel zur Nutzung der _NowCalc - Func'
[/autoit] [autoit][/autoit] [autoit]Global $hMainGui = GUICreate($sTitel, 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
[/autoit] [autoit][/autoit] [autoit]
;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $hMainGui gespeichert
;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
;Verknüpft dem Event $Gui_Event_Close mit der Funktion _End;Menübar anzeigen
[/autoit] [autoit][/autoit] [autoit]
Global $menu_help = GUICtrlCreateMenu("?", -1, 1)
Global $item_help_auto = GUICtrlCreateMenuItem("Autor: (Auto)Bert", $menu_help)
Global $item_help_exit = GUICtrlCreateMenuItem("Beenden", $menu_help)
GUICtrlSetOnEvent(-1, '_End')Local $hedtFrom = GUICtrlCreateDate("01.01.2009", 20, 10, 150, 25, $DTS_UPDOWN)
[/autoit] [autoit][/autoit] [autoit]
;erzeugt ein From Steuerelement die zurückgegebene ID wird in der Variablen $hedtFrom gespeichert
Local $DTM_SETFORMAT_ = 0x1032
Local $style = "dd/MM/yyyy HH:mm"
;Local $style = "hh:mm"
GUICtrlSendMsg($hedtFrom, $DTM_SETFORMAT_, 0, $style)
GUICtrlSetData(-1, "10.10.2000 00.00")
GUICtrlSetFont(-1, 12)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)
;verankert das From Steuerelement Links, rechts, oben und fixiert die Höhe
;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite
Local $hedtTo = GUICtrlCreateDate("01.01.2009", 20, 40, 150, 25, $DTS_UPDOWN)
;erzeugt ein To Steuerelement die zurückgegebene ID wird in der Variablen $hedtTo gespeichert
GUICtrlSendMsg($hedtTo, $DTM_SETFORMAT_, 0, $style)
GUICtrlSetFont(-1, 12)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)
;verankert das To Steuerelement Links, rechts, oben und fixiert die Höhe
;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die BreiteGUICtrlCreateButton('&prüfen', 220, 10, 150, 25)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
;verankert den Button "Prüfen" rechts und oben und fixiert die Größe
;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
GUICtrlSetOnEvent(-1, '_CheckDate')
;Beim Klicken des Buttons wird die Funktion _CheckTime aufgerufenLocal $hlblErgebnis = GUICtrlCreateLabel("hier steht danach das Ergebnis", 12, 80, 170, 100)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
;verankert das Label links und oben und fixiert die Größe
;beim Resizen bleibt es dadurch auf seiner Position am linken RandGUICtrlCreateButton('Be&enden', 220, 115, 150, 25)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent(-1, '_END')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)GUICtrlCreateGraphic(0, 210, 400, 2, $SS_BLACKRECT)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
Global $hStatus = GUICtrlCreateLabel("Statuus", 5, 215, 400, 25)GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
[/autoit] [autoit][/autoit] [autoit]
;verankert das Label Links, rechts und unten; fixiert die Höhe
;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite wird angepasst
GUISetState()While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(20000)
WEndFunc _End()
[/autoit] [autoit][/autoit] [autoit]
GUIDelete($hMainGui)
Exit
EndFunc ;==>_EndFunc _CheckDate()
[/autoit]
Local $dtNow = StringLeft(_NowCalc(), 16)
Local $sCheckFrom = GUICtrlRead($hedtFrom)
Local $sCheckTo = GUICtrlRead($hedtTo)
If $sCheckFrom > $sCheckTo Then
$sCheckFrom = $sCheckTo
$sCheckTo = GUICtrlRead($hedtFrom)
EndIf
Local $dtFrom = StringMid($sCheckFrom, 7, 4) & "/" & StringMid($sCheckFrom, 4, 2) & "/" & StringLeft($sCheckFrom, 2) & " " & StringRight($sCheckFrom, 5)
Local $dtTo = StringMid($sCheckTo, 7, 4) & "/" & StringMid($sCheckTo, 4, 2) & "/" & StringLeft($sCheckTo, 2) & " " & StringRight($sCheckTo, 5)
ConsoleWrite("Jetzt " & $dtNow & @CRLF)
ConsoleWrite("1. " & $dtFrom & @CRLF)
ConsoleWrite("2. " & $dtTo & @CRLF)
If $dtFrom <= $dtNow And $dtTo >= $dtNow() Then
$sLblText = $dtNow & @CRLF & "liegt innerhalb Zeitfenster" & @CRLF
Else
$sLblText = $dtNow & @CRLF & "liegt ausserhalb Zeitfenster" & @CRLF
EndIf
GUICtrlSetData($hlblErgebnis, $sLblText)
EndFunc ;==>_CheckDatemfg autoBert
-
Falls es dauerhaft sein soll könntest du auch einfach einen geplanten Task einrichten.
wie genau das geht: https://autoit.de/www.google.de gibts genug Infos