Что нового

Вставить текст с помощью Send или любой другой команды из цикла While...WEnd

Sia

Новичок
Сообщения
9
Репутация
0
К примеру есть цикл While...WEnd
$i = 0
While $i <= 10 ;
MsgBox(4096, '$i=' & $i, "Значение $i = " & $i, 1)
$i = $i + 1
WEnd
как с него взять то значение чисел что получается и вставить в скрипт для ввода в строку, при этом чтоб оно не останавливало сам цикл ?
 
Автор
S

Sia

Новичок
Сообщения
9
Репутация
0
Как то иначе можете объяснить ?
Есть цикл который считает число до заданного. К примеру 101, 102, 103, и как сделать так чтоб с цикла брались эти числа к примеру первое число 101 и вставлялось в строку ввода, и чтоб при этом счет цикла не заканчивался и дальше тоже самое с 102 и так до заданного числа.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
244
В строку ввода - GuiCtrlSetData(). Это Вы имели в виду ?
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 251, 138, 192, 124)
$Input1 = GUICtrlCreateInput("", 16, 24, 209, 21)
$Button = GUICtrlCreateButton("Запустить цикл", 16,50,200,25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button
            $i=100
            While $i<=109
                $i+=1
                GuiCtrlSetData($Input1,$i)
                ;Дальше что то выполняем с Input, например
                ConsoleWrite(GUICtrlRead($Input1)&@CR)
                Sleep(500)
            WEnd
    EndSwitch
WEnd
 
Автор
S

Sia

Новичок
Сообщения
9
Репутация
0
В строку ввода - GuiCtrlSetData(). Это Вы имели в виду ?
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 251, 138, 192, 124)
$Input1 = GUICtrlCreateInput("", 16, 24, 209, 21)
$Button = GUICtrlCreateButton("Запустить цикл", 16,50,200,25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button
            $i=100
            While $i<=109
                $i+=1
                GuiCtrlSetData($Input1,$i)
                ;Дальше что то выполняем с Input, например
                ConsoleWrite(GUICtrlRead($Input1)&@CR)
                Sleep(500)
            WEnd
    EndSwitch
WEnd

Да что-то такое, но есть вопрос.
Пример: Есть простой бот,
MouseClick("primary", 503, 208, 2, 0)
WinWaitActive()
AutoItSetOption("MouseCoordMode",0)
Sleep(500)
MouseClick("primary", 175, 632, 1, 0)
Sleep(500)
MouseClick("primary", 323, 74, 1,0)
Sleep(500)
MouseClick("primary", 49, 172, 1, 0)
Sleep(500)
Send(12345678910)
чтоб что-то открывал и вписывал по кардинатам в строку вода значение которое выдает цикл, именно как сделать так чтоб он работал внутри бота ? ибо цикл вставил а бот выдает ошибку при вводе текста.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
244
Пример с циклом, где ошибку даёт дайте
 
Автор
S

Sia

Новичок
Сообщения
9
Репутация
0
Код:
MouseClick("primary", 503, 208, 2, 0)
WinWaitActive(")
AutoItSetOption("MouseCoordMode",0)
Sleep(30000)
MouseClick("primary", 175, 632, 1, 0)
Sleep(30000)
MouseClick("primary", 323, 74, 1,0)
Sleep(2000)
MouseClick("primary", 49, 172, 1, 0)
Sleep(2000)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)
Sleep(500)
Send()
Sleep(4000)
MouseClick("primary", 315, 114, 1, 0)
Sleep(4000)
MouseClick("primary", 261, 154, 2, 0)
Sleep(4000)
Send("{BACKSPACE 10}")
MouseClick("primary", 325, 75, 1, 0)
Sleep(4000)
MouseClick("primary", 55, 173, 1, 0)

Вот код, как тут вставить цикл чтоб оно брало значения с цикла и не самому прописывать в Send ?
 

RavdonikaS

Новичок
Сообщения
68
Репутация
4
Какая роль у этих send вставлений? Это информация лично для вас чтобы видеть сколько было нажатий или там где кликает необходимо вводить количество нажатий? Или же это зависимость места нажатия от количества нажатий?
Лучше видеть где конкретно вы пытаетесь пристроить этот скрипт в таком виде остается только гадать что именно нужно
Подозреваю всю эту городуху можно в 4-5 строчек уложить
 
Автор
S

Sia

Новичок
Сообщения
9
Репутация
0
Какая роль у этих send вставлений? Это информация лично для вас чтобы видеть сколько было нажатий или там где кликает необходимо вводить количество нажатий? Или же это зависимость места нажатия от количества нажатий?
Лучше видеть где конкретно вы пытаетесь пристроить этот скрипт в таком виде остается только гадать что именно нужно
Подозреваю всю эту городуху можно в 4-5 строчек уложить
Роль Send вводить в поле там где происходит клик кол-во нажатий, я знаю что можно уместить код в меньше строк но пока надо так, и хочется узнать как в это все уложить цикл
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
244
Вот Ваш пример , но с циклом :
Код:
MouseClick("primary", 503, 208, 2, 0)
WinWaitActive(")
AutoItSetOption("MouseCoordMode", 0)
Sleep(30000)
MouseClick("primary", 175, 632, 1, 0)
Sleep(30000)
MouseClick("primary", 323, 74, 1, 0)
Sleep(2000)
MouseClick("primary", 49, 172, 1, 0)
Sleep(2000)

For $i = 101 To 112 ; Здесь сами задайте интервал, который нужен
    Send($i)
    Sleep(4000)
    MouseClick("primary", 315, 114, 1, 0)
    Sleep(4000)
    MouseClick("primary", 261, 154, 2, 0)
    Sleep(4000)
    Send("{BACKSPACE 10}")
    MouseClick("primary", 325, 75, 1, 0)
    Sleep(4000)
    MouseClick("primary", 55, 173, 1, 0)
    Sleep(500)
Next
 
Автор
S

Sia

Новичок
Сообщения
9
Репутация
0
Вот Ваш пример , но с циклом :
Код:
MouseClick("primary", 503, 208, 2, 0)
WinWaitActive(")
AutoItSetOption("MouseCoordMode", 0)
Sleep(30000)
MouseClick("primary", 175, 632, 1, 0)
Sleep(30000)
MouseClick("primary", 323, 74, 1, 0)
Sleep(2000)
MouseClick("primary", 49, 172, 1, 0)
Sleep(2000)

For $i = 101 To 112 ; Здесь сами задайте интервал, который нужен
    Send($i)
    Sleep(4000)
    MouseClick("primary", 315, 114, 1, 0)
    Sleep(4000)
    MouseClick("primary", 261, 154, 2, 0)
    Sleep(4000)
    Send("{BACKSPACE 10}")
    MouseClick("primary", 325, 75, 1, 0)
    Sleep(4000)
    MouseClick("primary", 55, 173, 1, 0)
    Sleep(500)
Next
Понял, спасибо за ваши ответы
 

RavdonikaS

Новичок
Сообщения
68
Репутация
4
"Роль Send вводить в поле там где происходит клик кол-во нажатий" Это я понял
Вопрос для чего туда вводить количество нажатий??? Без ввода клики не делаются или это информация лично для вас чтобы видеть количество нажатий(тогда не нужно полей и вводов)? какая цель заложена в это вставление количества нажатий?Для чего это нужно и какую роль выполняет в скрипте?
 
Верх