Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Помогите пожалуиста подобрать код генерирующии выбор (http://forum.oszone.net/showthread.php?t=172513)

Antoschka2 07-04-2010 23:25 1387485

Помогите пожалуиста подобрать код генерирующии выбор
 
Всем добрыи день.
я как-то немогу всё наити код которыи сгенерирует выбор сам по себе. Мне нужно чтобы скрипт FUNC GENERATE () делал автовыбор в случаином порядке между func odin () и func dva ().
2. Нужно мне ещё что нибудь в скрипт добавить, так как он будет постоянно повторяцца и очень долгое время, чтобы небыло вылетов.
Заранее благодарю


WinWaitActive("www.---.de - Windows Internet Explorer")
sleep(3000)
Call("generate")

Func generate ()
sleep(3000)
;ТУТ ПРИМЕРНО ДОЛЖЕН БЫТЬ КОД ГЕНЕРАЦИ
EndFunc





Func odin ()
$Pos = PixelSearch(329, 352, 380, 444, 0x689CFE)
if IsArray($Pos) Then
MouseClick("left", $Pos[0], $Pos[1])
call ("generate")
EndIf
If @error then
sleep(1000)
Call("generate")
endIf
EndFunc

Func dva ()
$Pos = PixelSearch(870, 352, 380, 901, 0x689CFE)
if IsArray($Pos) Then
MouseClick("left", $Pos[0], $Pos[1])
sleep(100)
call ("generate")
EndIf
If @error then
sleep(100)
Call("generate")
endIf
EndFunc

HORRIBLE 08-04-2010 00:22 1387525

Antoschka2, можно вот так, с генерировать выбор между Func dva () и Func odin ():
Код:

while 1
switch random(0,1,1)
        case 0
                MsgBox(0,"","1 функция",1)
        case 1
                MsgBox(0,"","2 функция",1)
EndSwitch
Wend

Для проверки работает первый скрипт или нет можно второй создать....и вторым смотреть есть ли процесс или нет, вылезло ли окно ошибки или нет. Что нибуть на подоби этого:
Код:

while 1
sleep(100)

If  WinExists("AutoIt Error","") Then ControlClick("AutoIt Error", "", "[ID:2]") ;это строчка если ошибка вылетает при выполнении скрипта

If not ProcessExists("AutoIt3.exe") then ShellExecute(@ScriptDir & "\файлик.au3","","","open")

wend


Antoschka2 08-04-2010 00:52 1387547

хмм как-то у меня не получается вставить. скрипт начинает работать но при RANDOM просто выходит.
всёчто надочтобы выбрал чисто случаино между func odin u func dva

Antoschka2 08-04-2010 01:14 1387560

Func generate ()
sleep(6000)
switch random(0,1,1)
case 0
Call("odin")
case 1
Call("dva")
EndSwitch
EndFunc


или чтото неправильно?

madmasles 08-04-2010 01:19 1387563

Antoschka2,
Попробуйте так:
Код:

;...
HotKeySet("{ESC}", "_Bye") ;Esc - выход
WinWaitActive("www.---.de - Windows Internet Explorer")

While 1
    TrayTip("", "Работаем", 3, 16)
    Sleep(3000)
    $random = Random(0, 1, 1)
    If $random = 0 Then
        TrayTip("", "Работает функция odin", 3, 16)
        odin()
        TrayTip("", "", 0)
    Else
        TrayTip("", "Работает функция dva", 3, 16)
        dva()
        TrayTip("", "", 0, 16)
    EndIf
WEnd

Func _Bye()
    Exit
EndFunc  ;==>_Bye
;...

Только я бы Вам посоветовал сделать выход по горячей клавише, а то скрипт так будет работать вечно.

PS
Вы бы код тегами оформляли. Это # над сообщением.

Antoschka2 08-04-2010 01:39 1387574

огромное спасибо HORRIBLE, madmasles,


Время: 08:04.

Время: 08:04.
© OSzone.net 2001-