Nabend liebe Leute
ich wüsste gerne mal wie man das machen kann das man ein bestimmte Funktion z.B. alle 5 Sekunden benutzen kann ohne das dabei das ganze Script pausiert oder ist das überhaupt möglich.
Hoffe ihr habt ne Idee
MFG Raicoon
Nabend liebe Leute
ich wüsste gerne mal wie man das machen kann das man ein bestimmte Funktion z.B. alle 5 Sekunden benutzen kann ohne das dabei das ganze Script pausiert oder ist das überhaupt möglich.
Hoffe ihr habt ne Idee
MFG Raicoon
Nabend liebe Leute
ich wüsste gerne mal wie man das machen kann das man ein bestimmte Funktion z.B. alle 5 Sekunden benutzen kann ohne das dabei das ganze Script pausiert oder ist das überhaupt möglich.
Hoffe ihr habt ne IdeeMFG Raicoon
schau dir die Hilfe zu
[autoit]AdlibRegter
[/autoit]an,
mfg (Auto)Bert
Cool danke für die schnelle antwort aber mit diesem Befehl wird die funktion ja automatisch ausgeführt ich möchte aber das man sie nur alle 5 sekunden aufrufen kann.
MFG Raicoon
Dann sollte Timerinit und Timerdiff helfen.
Hatte mir die schon mal angeschaut weiß aber nicht wie ich die dafür benutzen kann.
MFG Raicoon
Pseudocode:
[autoit]$timerinit=0
_Func()
while 1
if Timerdiff($timerinit) > 5000 then
_Func()
exitloop
endif
wend
_Func()
;dein code
$timerinit=Timerinit()
endfunc
OK danke ersmal werde das morgen dann mal ausprobieren.
MFG Raicoon
Quick & dirty:
[autoit]Global $timer="startwert"
Func _nuralle5sec()
If $timer="startwert" Then
$timer=TimerInit()
ElseIf TimerDiff($timer) < 5000 Then
Return False
EndIf
;Hauptfunktion
EndFunc
ich hatte eher an soetwas gedacht:
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt('GUIOnEventMode', 1)
Local $hMainGui = GUICreate("Testaufruf für EditBox", 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
Local $hlblZahl = GUICtrlCreateLabel("", 10, 10, 200, 25)
Local $hbtnZahl = GUICtrlCreateButton('&Zahl eingeben', 220, 10, 150, 25)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
GUICtrlSetOnEvent(-1, '_CallZahl')
Local $hlblAdLib = GUICtrlCreateLabel("", 10, 100, 200, 25)
GUICtrlSetFont(-1,20,400)
GUISetState()
AdlibRegister("JustCount",1000)
While 1
Sleep(120)
WEnd
func JustCount()
GUICtrlSetData($hlblAdLib,GUICtrlRead($hlblAdLib)+1)
EndFunc
Func _End()
GUIDelete($hMainGui)
Exit
EndFunc ;==>_End
Func Enable()
GUICtrlSetState($hbtnZahl,$GUI_ENABLE)
AdlibUnRegister("Enable")
EndFunc
Func _CallZahl()
;Function Name..: _EditBox($sQuestion, [, $sTitle] [, $hParent] [, $sEditStyle] [, $iWidth] [, $iHeight] [, $iLeft] [, $iTop], $hCaller)
Local $sAnswer = _EditBox('Bitte eine Zahl eingeben:', 'Test EditBox ', $hMainGui, $ES_NUMBER, 200, 100, -1, -1)
GUICtrlSetData($hlblZahl, $sAnswer)
GUICtrlSetState($hbtnZahl,$GUI_DISABLE)
AdlibRegister("Enable",5000)
EndFunc
;===============================================================================
;Function Name..: _EditBox($sQuestion, [, $sTitle] [, $hParent] [, $sEditStyle] [, $iWidth] [, $iHeight] [, $iLeft] [, $iTop], $hCaller)
;Description....: zeigt eine Gui mit einer Eingabeufforderung und einem EditFeld
;Parameter(s)...: $iQuestion = Eingabeaufforderung
; $sTitle = Fenstertitel (optional)
; $hParent = ID des aufrufenden Fensters (optional, Stabdard = 0)
; wenn dieser Parameter übergeben wird verhält wird das Anzeigefenster
; Modal angezeigt, d.h. es ist automatisch im Vordergrund
; vor dem aufrufenden Fenster (verliert aber leider den Focus, beim Wechsel
; zu anderer Anwendung und wieder zurück, d.h man muß einmal in das Fenster klicken)
; $sEditStyle = Edit-Style für EditCtrl (optional)
; $sGuiStyle = Gui-Style für Anzeigefenster (optional)
; $iWidth = Breite des Fensters (optional, Standard = 250 Pixel)
; $iHeight = Höhe des Fensters (optional, Standard = 200 Pixel)
; $iLeft = Abstand von links (optional, Standard = zentriert)
; $iTop = Abstand von oben (optional, Standard = zentriert)
; $hnFocused = Steuerelement, das nach (optional, Standard = 0) funktioniert nur zusammen mit $hParent
; beendigen von _EditBox, den Focus erhält
;Return Value...: $sAnswer
;Author.........: (Auto)Bert
; Vorlage GUI-Darstellung Oscar's (http://www.autoit.de) _StringDisplay
; in Anfängerfragen zur GUI(Checkbox,Inputbox und welches Gui Konzept) Beitrag #5
;===============================================================================
Func _EditBox($sQuestion, $sTitle = 'Benutzereingabe nötig! ', $hParent = 0, $EditStyle = -1, $iWidth = 250, $iHeight = 200, $iLeft = -1, $iTop = -1, $hnFocused = 0)
Local $hGui
If Not IsDeclared('BS_DEFPUSHBUTTON') Then Local Const $BS_DEFPUSHBUTTON = 0x00000001
If Not IsDeclared('GUI_EVENT_CLOSE') Then Local Const $GUI_EVENT_CLOSE = 0xFFFFFFFD
If Not IsDeclared('WS_EX_COMPOSITED') Then Local Const $WS_EX_COMPOSITED = 0x02000000
If Not IsDeclared('WS_MAXIMIZEBOX') Then Local Const $WS_MAXIMIZEBOX = 0x00010000
If Not IsDeclared('WS_MINIMIZEBOX') Then Local Const $WS_MINIMIZEBOX = 0x00020000
If Not IsDeclared('WS_SIZEBOX') Then Local Const $WS_SIZEBOX = 0x00040000
Local $iEventMode = Opt('GUIOnEventMode', 0)
If $hParent = 0 Then
$hGui = GUICreate($sTitle, $iWidth, $iHeight, $iLeft, $iTop, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_COMPOSITED)
Else ;damit sich das Fenster wie ein Toolwindow verhält
$hGui = GUICreate($sTitle, $iWidth, $iHeight, $iLeft, $iTop, BitOR($DS_MODALFRAME + $DS_SETFOREGROUND, $WS_CAPTION + $WS_SYSMENU + $WS_SIZEBOX), $WS_EX_TOOLWINDOW, $hParent)
GUISetState(@SW_DISABLE, $hParent)
EndIf
GUISwitch($hGui)
GUISetState(@SW_HIDE, $hGui)
Local $hedtAnswer = GUICtrlCreateInput("",5, 5, $iWidth - 10, $iHeight - 35, $EditStyle)
Local $hClose = GUICtrlCreateButton('&Rückgabe', $iWidth / 2 - 35, $iHeight - 25, 70, 25);, $BS_DEFPUSHBUTTON)
GUICtrlSetState(-1, $GUI_DEFBUTTON)
GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKRIGHT)
;ControlFocus($hGui, '', $hClose)
GUISetState(@SW_SHOW, $hGui)
While True
Switch GUIGetMsg()
Case $hClose, $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
If $hParent <> 0 Then
GUISetState(@SW_ENABLE, $hParent)
GUISetState(@SW_SHOWNORMAL, $hParent)
if $hnFocused <> 0 Then
ControlFocus($hGui, '', $hnFocused)
ConsoleWrite("Focus to: " & $hGui & " " & $hnFocused)
EndIf
EndIf
Local $sAnswer = GUICtrlRead($hedtAnswer)
GUIDelete($hGui)
Opt('GUIOnEventMode', $iEventMode)
Return $sAnswer
EndFunc ;==>_EditBox
Edit: bei L3viathan kommst du ohne Adlib aus
mfg (Auto)Bert