Что нового

Таймер через которое надо запустить функцию

CreatiK

Новичок
Сообщения
93
Репутация
4
Вот мой скрипт программы. на сделать таймер чтобы после окончании которого он отправляет заново по очереди
Код:
_My_Func1($Input1, $Input2)
_My_Func2($Input3, $Input4)
_My_Func3($Input5, $Input6)

Если делать через AdlibRegister то он не вставляет _My_Func1($Input1, $Input2)
Код:
AdlibRegister("_My_Func1", 300000)
AdlibRegister("_My_Func1", 300000)
AdlibRegister("_My_Func1", 300000)
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#Region ### START Koda GUI section ### Form=c:\users\Дмитрий\desktop\form1.kxf
$title = "***HTTPPost - Отправка POST запросов***"
$hGUI = GUICreate($title, 497, 298, 346, 248)
GUISetBkColor(0xFFFFFF)

Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)

AdlibRegister("TitleChanger", 200)


Global $iEventError = 0
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oWinHttpError = ObjEvent("AutoIt.Error", "_WinHttpErrorHandler")

$Group1 = GUICtrlCreateGroup("HTTPPost", 16, 8, 473, 65)
$Input1 = GUICtrlCreateInput("", 72, 24, 409, 21)
$Input2 = GUICtrlCreateInput("", 72, 48, 409, 21)
$Label1 = GUICtrlCreateLabel("URL", 24, 24, 26, 17)
$Label2 = GUICtrlCreateLabel("Param", 24, 48, 34, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("HTTPPost", 16, 81, 473, 65)
$Input3 = GUICtrlCreateInput("", 72, 97, 409, 21)
$Input4 = GUICtrlCreateInput("", 72, 121, 409, 21)
$Label3 = GUICtrlCreateLabel("URL", 24, 97, 26, 17)
$Label4 = GUICtrlCreateLabel("Param", 24, 121, 34, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("HTTPPost", 16, 152, 473, 65)
$Input5 = GUICtrlCreateInput("", 72, 168, 409, 21)
$Input6 = GUICtrlCreateInput("", 72, 192, 409, 21)
$Label5 = GUICtrlCreateLabel("URL", 24, 168, 26, 17)
$Label6 = GUICtrlCreateLabel("Param", 24, 192, 34, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Отправить", 16, 224, 97, 25, $WS_BORDER)
$Button2 = GUICtrlCreateButton("Сохранить", 16, 256, 97, 25, $WS_BORDER)
$Button3 = GUICtrlCreateButton("Очистить", 120, 224, 97, 25, $WS_BORDER)
$Button4 = GUICtrlCreateButton("Свернуть в трей", 120, 256, 97, 25, $WS_BORDER)
$Input7 = GUICtrlCreateInput("Input7", 424, 240, 65, 21)
$Label7 = GUICtrlCreateLabel("Таймер", 432, 216, 43, 17)
$Button5 = GUICtrlCreateButton("Ок", 424, 264, 65, 25)
GUISetState(@SW_SHOW)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			_My_Func1($Input1, $Input2)
			_My_Func2($Input3, $Input4)
			_My_Func3($Input5, $Input6)
		Case $Button3
            GUICtrlSetData($Input1,'')
            GUICtrlSetData($Input2,'')
			GUICtrlSetData($Input3,'')
            GUICtrlSetData($Input4,'')
			GUICtrlSetData($Input5,'')
            GUICtrlSetData($Input6,'')
		Case $Button4
            GUISetState(@SW_HIDE)
            TraySetState(1)
	EndSwitch
WEnd

Func _My_Func1($URL, $PostData)
	$oHTTP.Open("POST", GUICtrlRead(StringStripWS($URL, 3)))
	$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
	$oHTTP.Send(GUICtrlRead(StringStripWS($PostData, 3)))
	If $iEventError Then
		$oHTTP.WaitForResponse
	EndIf
EndFunc

Func _My_Func2($URL, $PostData)
	$oHTTP.Open("POST", GUICtrlRead(StringStripWS($URL, 3)))
	$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
	$oHTTP.Send(GUICtrlRead(StringStripWS($PostData, 3)))
	If $iEventError Then
		$oHTTP.WaitForResponse
	EndIf
EndFunc

Func _My_Func3($URL, $PostData)
	$oHTTP.Open("POST", GUICtrlRead(StringStripWS($URL, 3)))
	$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
	$oHTTP.Send(GUICtrlRead(StringStripWS($PostData, 3)))
	If $iEventError Then
		$oHTTP.WaitForResponse
	EndIf
EndFunc

Func _WinHttpErrorHandler()
    $iEventError = $oWinHttpError.Number
EndFunc

Do
    $msg = GUIGetMsg()
Until $msg = -3

Func TitleChanger()
    $title = WinGetTitle($hGUI)
    $newtitle = StringMid($title, 2) & StringLeft($title, 1)
    WinSetTitle($title, "", $newtitle)
EndFunc


Func _RestoreFromTray_Proc()
    If BitAND(WinGetState($hGUI), 2) = 2 Then Return
   
    TraySetState(2)
    GUISetState(@SW_SHOW)
    GUISetState(@SW_RESTORE)
EndFunc
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Код:
;... Continue
AdlibRegister("_My_Func1", 300000)
AdlibRegister("_My_Func2", 300000)
AdlibRegister("_My_Func3", 300000)
;... Continue
        Case $Button1
            ;... Delete
        Case $Button3
;... Continue
Func _My_Func1()
    $oHTTP.Open("POST", GUICtrlRead(StringStripWS($Input1, 3)))
    $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    $oHTTP.Send(GUICtrlRead(StringStripWS($Input2, 3)))
    If $iEventError Then
        $oHTTP.WaitForResponse
    EndIf
EndFunc

Func _My_Func2()
    $oHTTP.Open("POST", GUICtrlRead(StringStripWS($Input3, 3)))
    $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    $oHTTP.Send(GUICtrlRead(StringStripWS($Input4, 3)))
    If $iEventError Then
        $oHTTP.WaitForResponse
    EndIf
EndFunc

Func _My_Func3()
    $oHTTP.Open("POST", GUICtrlRead(StringStripWS($Input5, 3)))
    $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    $oHTTP.Send(GUICtrlRead(StringStripWS($Input6, 3)))
    If $iEventError Then
        $oHTTP.WaitForResponse
    EndIf
EndFunc
;... Continue
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Код:
AdlibRegister('_my_func',30000)

Func _my_func()
_My_Func1($Input1, $Input2)
_My_Func2($Input3, $Input4)
_My_Func3($Input5, $Input6)
EndFunc



Добавлено:
Сообщение автоматически объединено:


То есть можно просто зарегистрировать функцию которая будет запускать твои функции через определенный промежуток времени, с нужными тебе параметрами.
 
Автор
C

CreatiK

Новичок
Сообщения
93
Репутация
4
Спасибо сейчас пробовать будем)))
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Хотя лучше делать перерегистрацию раз у тебя такой короткий промежуток ( 30 секунд всего ) вот так:

Код:
AdlibRegister('_my_func',30000) 

Func _my_func()
AdlibUnRegister('_my_func') 
_My_Func1($Input1, $Input2)
_My_Func2($Input3, $Input4)
_My_Func3($Input5, $Input6)
AdlibRegister('_my_func',30000)
EndFunc
 
Верх