Как сделать чтобы вводимый текст менялся так: 1, 2, 3 и т. п.?
» AutoIT
Mister_Che 08:53 21-04-2008
Цитата:
Вводимы куда? вообще подобное через циклы делается:
Код: For $i = 1 To 10
$sTextToSend = $i & ", "
If $i = 10 Then $sTextToSend = $i
Send($sTextToSend)
Next
Цитата:
чтобы вводимый текст менялся так
Вводимы куда? вообще подобное через циклы делается:
Код: For $i = 1 To 10
$sTextToSend = $i & ", "
If $i = 10 Then $sTextToSend = $i
Send($sTextToSend)
Next
Всем Привет
В сетке есть несколько компов которые должные отсыласть запрос серверу на выполнение определеных комманд. Примеры скриптов Клиент Сервер на офф. форумуе нашол. А как сделать так чтобы Клиент отпралял комманду Серверу, а сервер в свое время в зависимость от команду выполнял соответствующую фукцию (в функции будет генерироватся фаил *.pdf но с разными времмеными рамками) и после того как создатся фаил возвращал клиенту название файла.
В сетке есть несколько компов которые должные отсыласть запрос серверу на выполнение определеных комманд. Примеры скриптов Клиент Сервер на офф. форумуе нашол. А как сделать так чтобы Клиент отпралял комманду Серверу, а сервер в свое время в зависимость от команду выполнял соответствующую фукцию (в функции будет генерироватся фаил *.pdf но с разными времмеными рамками) и после того как создатся фаил возвращал клиенту название файла.
ViSiToR
Выходит вот это сейчас: "1? 2? 3? 4? 5? 6? 7? 8? 9? 10", набирается сразу.
Нужно вот что - кликаешь в форму хтмл страницы, набираешь "1", затем перемещение мышки, клики, нажатия клавиши, затем опять подносишь курсор к форме, кликаешь (чтоб написать что-нибудь) и нужно, чтоб набралось "2" и т. п.
Добавлено:
Как зациклить любой код?
Добавлено:
А как сделать чтобы печатались фразы из какого-нибудь массива?
Выходит вот это сейчас: "1? 2? 3? 4? 5? 6? 7? 8? 9? 10", набирается сразу.
Нужно вот что - кликаешь в форму хтмл страницы, набираешь "1", затем перемещение мышки, клики, нажатия клавиши, затем опять подносишь курсор к форме, кликаешь (чтоб написать что-нибудь) и нужно, чтоб набралось "2" и т. п.
Добавлено:
Как зациклить любой код?
Добавлено:
А как сделать чтобы печатались фразы из какого-нибудь массива?
Цитата:
Как зациклить любой код?
Смотри в справке: While Wend; Do Until
Цитата:
А как сделать чтобы печатались фразы из какого-нибудь массива?
Код: Dim $aWord[4] = [3, "Hello", "World", "Good"]
For $i = 1 To $aWord[0]
MsgBox(0, "Msg", $aWord[$i])
Next
Maza Faka, не получилось засунуть в свой код, вот в этот:
MouseClick("left", 913, 431, 1)
Send ("{HOME}")
MouseClick("left", 376, 598, 1)
Send("#my script")
MouseClick("left", 354, 653, 1)
Send("#answer")
MouseClick("left", 644, 596, 1)
Sleep(1000 * 60)
Нужно, чтобы вместо Send("#answer") появлялись как раз слова из массива или цифры по порядку.
Добавлено:
И чтоб как последнее слово или цифра напечатались, то все заново бы было или вообще в рандомном порядке.
MouseClick("left", 913, 431, 1)
Send ("{HOME}")
MouseClick("left", 376, 598, 1)
Send("#my script")
MouseClick("left", 354, 653, 1)
Send("#answer")
MouseClick("left", 644, 596, 1)
Sleep(1000 * 60)
Нужно, чтобы вместо Send("#answer") появлялись как раз слова из массива или цифры по порядку.
Добавлено:
И чтоб как последнее слово или цифра напечатались, то все заново бы было или вообще в рандомном порядке.
Mister_Che
Цитата:
А в чём проблема? Вставляй их в цикле:
Код: Dim $aWord[5] = [4, "Hello", "World", "Good", "Morning"]
Run("notepad.exe")
WinWait("[Class:Notepad]")
While 1
For $i = 1 To $aWord[0]
ControlSend("[Class:Notepad]", "", "Edit1", $aWord[$i])
ControlSend("[Class:Notepad]", "", "Edit1", "{Enter}")
Sleep(50)
Next
WEnd
Цитата:
Нужно, чтобы вместо Send("#answer") появлялись как раз слова из массива или цифры по порядку.
А в чём проблема? Вставляй их в цикле:
Код: Dim $aWord[5] = [4, "Hello", "World", "Good", "Morning"]
Run("notepad.exe")
WinWait("[Class:Notepad]")
While 1
For $i = 1 To $aWord[0]
ControlSend("[Class:Notepad]", "", "Edit1", $aWord[$i])
ControlSend("[Class:Notepad]", "", "Edit1", "{Enter}")
Sleep(50)
Next
WEnd
Цитата:
while 1
MouseClick("left", 120, 123, 1)
MouseClick("left", 913, 431, 1)
Send ("{HOME}")
MouseClick("left", 376, 598, 1)
Send("#my script")
MouseClick("left", 736, 637, 1)
Dim $aWord[5] = [4, "Hello", "World", "Good", "Morning"]
For $i = 1 To $aWord[0]
Send($aWord[$i])
MouseClick("left", 644, 596, 1)
MouseClick("left", 295, 120, 1)
Next
Sleep(1000 * 120)
WEnd
Нужно, чтоб написался Хелло, сделалось 2 маусклика и на две минуты затих, чтоб затем следующее слово ввел (с повторением до этого вышестоящих маускликов). Не получается, куда бы я Некст ни совал.
Тоже и с цифирным вариантом
Цитата:
For $i = 1 To 3
$sTextToSend = $i
If $i = 3 Then $sTextToSend = $i
Send($sTextToSend)
Next
Добавлено:
Он или вводит сразу все цифры/буквы или делает бессмысленные движения мышью.
XpycTMD
Цитата:
Цитата:
Примеры скриптов Клиент Сервер на офф. форумуе нашол. А как сделать так чтобы Клиент отпралял комманду Серверуа в примерах разве этого нет?.. реализация зависит от выбранных протоколов
Mister_Che
заработок на кликах и запонениях всяких форм?
есть же специальные программы типа робоформ.
покажи свою форму на которой ты тренируешся.
з.ы. у автоита есть функции специальные для работы с окном IE, в них покопайся может чё дельное найдёш.
заработок на кликах и запонениях всяких форм?
есть же специальные программы типа робоформ.
покажи свою форму на которой ты тренируешся.
з.ы. у автоита есть функции специальные для работы с окном IE, в них покопайся может чё дельное найдёш.
ynbIpb, нет.
Кто-нибудь даст нормальный совет? Нужно чтобы были клики, слово (цифра), клики, пауза. Клики, следующее слово (следующая цифра), клики, пауза.
В моем коде или сразу все слова или два последних клика повторяются несколько раз.
Добавлено:
Про пример для Упыря, пример - любая хтмл страница с формой.
Добавлено:
Он в лучшем случае пишет одно слово делает два клика, но затем опять делает эти же 2 клика несколько раз вместо того, чтобы заснуть на две минуты и начать сначала.
Кто-нибудь даст нормальный совет? Нужно чтобы были клики, слово (цифра), клики, пауза. Клики, следующее слово (следующая цифра), клики, пауза.
В моем коде или сразу все слова или два последних клика повторяются несколько раз.
Добавлено:
Про пример для Упыря, пример - любая хтмл страница с формой.
Добавлено:
Он в лучшем случае пишет одно слово делает два клика, но затем опять делает эти же 2 клика несколько раз вместо того, чтобы заснуть на две минуты и начать сначала.
Mister_Che
Вот приблизительно как я это вижу:
Код: ;защита от запуска двух копий
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
$MsgBox1 = MsgBox(68, "Автоклик", "Сейчас начнётся автоматическая работа в окне броузера. Продолжить?")
If $MsgBox1 = 7 Then Exit ;если ответ нет, то выходим из скрипта
WinWaitActive("Яндекс - Opera","Яндекс", 30)
MouseClick( "left", 341 ,455,2)
Sleep(1000)
Send("0")
Sleep(1000)
MouseClick( "left", 893 ,451,1)
Sleep(8000)
For $i = 1 To 10;цикл, пока не достигнет 10
MouseClick( "left", 315 ,191,2)
Sleep(1000)
Send($i)
Sleep(1000)
MouseClick( "left", 957 ,191,1)
Sleep(8000)
Next
MsgBox(0, "Автоклик", "Автоклик окончен")
Вот приблизительно как я это вижу:
Код: ;защита от запуска двух копий
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
$MsgBox1 = MsgBox(68, "Автоклик", "Сейчас начнётся автоматическая работа в окне броузера. Продолжить?")
If $MsgBox1 = 7 Then Exit ;если ответ нет, то выходим из скрипта
WinWaitActive("Яндекс - Opera","Яндекс", 30)
MouseClick( "left", 341 ,455,2)
Sleep(1000)
Send("0")
Sleep(1000)
MouseClick( "left", 893 ,451,1)
Sleep(8000)
For $i = 1 To 10;цикл, пока не достигнет 10
MouseClick( "left", 315 ,191,2)
Sleep(1000)
Send($i)
Sleep(1000)
MouseClick( "left", 957 ,191,1)
Sleep(8000)
Next
MsgBox(0, "Автоклик", "Автоклик окончен")
Ну, я это все стараюсь переделывать...
Это разве настолько сложная задача, что нужно использовать Яндексы, мессадж боксы?
Проще говоря, нужно сосчитать до трех на этой странице, используя клики (и зациклить это дело) - http://forum.ru-board.com/topic.cgi?forum=2&bm=1&topic=2904&glp
То есть, открываем вкладку с той страницей средней кнопкой мыши, выделена эта.
Вот, что мне нужно (задача для скрипта):
Открыть мышью вторую вкладку
Нажать END чтоб страница переместилась до формы
Кликнуть по форме чтоб можно было записать
Ввести "1" (или первое слово в массиве)
Нажать мышкой Отправить
Нажать мышью на первой вкладке
Пауза в две минуты
После нее все должно повториться, но должно ввестись второе число (второе слово в массиве).
Это разве настолько сложная задача, что нужно использовать Яндексы, мессадж боксы?
Проще говоря, нужно сосчитать до трех на этой странице, используя клики (и зациклить это дело) - http://forum.ru-board.com/topic.cgi?forum=2&bm=1&topic=2904&glp
То есть, открываем вкладку с той страницей средней кнопкой мыши, выделена эта.
Вот, что мне нужно (задача для скрипта):
Открыть мышью вторую вкладку
Нажать END чтоб страница переместилась до формы
Кликнуть по форме чтоб можно было записать
Ввести "1" (или первое слово в массиве)
Нажать мышкой Отправить
Нажать мышью на первой вкладке
Пауза в две минуты
После нее все должно повториться, но должно ввестись второе число (второе слово в массиве).
Как получить ID кликнутого элемента TreeView ?
Через WM_NOTIFY не смог получить
Через WM_NOTIFY не смог получить
SysLam
Цитата:
Уже разобрался. Изначально использовал скрипт чата, а щас поискав еще раз на офф форуме нашол Remote Server BETA Он мне подходит, только для отсылки комманд сереру, но он не возвращает название файла который был сгенерирован, хотя есть идея как можно это сделать
Цитата:
а в примерах разве этого нет?.. реализация зависит от выбранных протоколов
Уже разобрался. Изначально использовал скрипт чата, а щас поискав еще раз на офф форуме нашол Remote Server BETA Он мне подходит, только для отсылки комманд сереру, но он не возвращает название файла который был сгенерирован, хотя есть идея как можно это сделать
gregaz
Цитата:
Можно так:
Код: #include <GuiConstants.au3>
Opt("GuiOnEventMode", 1)
$hGUI = GUICreate("Test GUI", 300, 200)
GUISetOnEvent($GUI_EVENT_CLOSE, "Quit")
$hTreeView = GUICtrlCreateTreeView(10, 10, 280, 180, _
BitOR($TVS_EDITLABELS, $TVS_INFOTIP, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_HASBUTTONS), $WS_EX_CLIENTEDGE)
For $i = 1 To 5
$hItem = GUICtrlCreateTreeViewItem("Item" & $i, $hTreeView)
GUICtrlSetOnEvent(-1, "_GetId")
For $j = 1 To 5
GUICtrlCreateTreeViewItem("SubItem" & $j, $hItem)
GUICtrlSetOnEvent(-1, "_GetId")
Next
Next
GUISetState()
While 1
Sleep(100)
WEnd
Func Quit()
Exit
EndFunc
Func _GetId()
ConsoleWrite("+Clicked item ID is : " & @GUI_CtrlId & @LF)
EndFunc
Цитата:
Как получить ID кликнутого элемента TreeView ?
Можно так:
Код: #include <GuiConstants.au3>
Opt("GuiOnEventMode", 1)
$hGUI = GUICreate("Test GUI", 300, 200)
GUISetOnEvent($GUI_EVENT_CLOSE, "Quit")
$hTreeView = GUICtrlCreateTreeView(10, 10, 280, 180, _
BitOR($TVS_EDITLABELS, $TVS_INFOTIP, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_HASBUTTONS), $WS_EX_CLIENTEDGE)
For $i = 1 To 5
$hItem = GUICtrlCreateTreeViewItem("Item" & $i, $hTreeView)
GUICtrlSetOnEvent(-1, "_GetId")
For $j = 1 To 5
GUICtrlCreateTreeViewItem("SubItem" & $j, $hItem)
GUICtrlSetOnEvent(-1, "_GetId")
Next
Next
GUISetState()
While 1
Sleep(100)
WEnd
Func Quit()
Exit
EndFunc
Func _GetId()
ConsoleWrite("+Clicked item ID is : " & @GUI_CtrlId & @LF)
EndFunc
Цитата:
while 1
MouseClick("left", 120, 123, 1)
MouseClick("left", 913, 431, 1)
Send ("{HOME}")
MouseClick("left", 332, 552, 1)
Send("#my script")
MouseClick("left", 668, 624, 1)
For $i = 1 + $a
Send($i)
Next
$a = 1
MouseClick("left", 663, 554, 1)
MouseClick("left", 295, 120, 1)
Sleep(1000 * 5)
WEnd
Попытался решить свою проблему так. Не помогло.
gregaz 09:57 23-04-2008
Цитата:
Именно ID нужен, Handle сойдёт?
Код: #include <GUIConstants.au3>
#include <GuiTreeView.au3>
Opt("GuiOnEventMode", 1)
Global $iTV_Item_Clicked = False
$Gui = GUICreate("Test", 300, 200)
GUISetOnEvent(-3, "OnExit")
$nTreeView = GUICtrlCreateTreeView(20, 20, 260, 160, -1, $WS_EX_STATICEDGE+$WS_EX_CLIENTEDGE)
$hTreeView = GUICtrlGetHandle($nTreeView)
GUIRegisterMsg($WM_NOTIFY, "TV_Event")
GUISetState()
Initialize()
While 1
Sleep(10)
If $iTV_Item_Clicked Then
$iTV_Item_Clicked = False
Local $hItem = _GUICtrlTreeView_GetSelection($hTreeView)
Local $sItemText = _GUICtrlTreeView_GetText($hTreeView, $hItem)
ConsoleWrite($sItemText & @LF)
EndIf
WEnd
Func Initialize()
For $i = 1 To 50
_GUICtrlTreeView_InsertItem($nTreeView, "Item " & $i)
Next
EndFunc
Func TV_Event($hWnd, $Msg, $wParam, $lParam)
Local $NMHDR = DllStructCreate("hwnd;uint;short", $lParam)
If DllStructGetData($NMHDR, 1) = $hTreeView And DllStructGetData($NMHDR, 3) = -451 Then $iTV_Item_Clicked = True
Return $GUI_RUNDEFMSG
EndFunc
Func OnExit()
Exit
EndFunc
Цитата:
Как получить ID кликнутого элемента TreeView ?
Именно ID нужен, Handle сойдёт?
Код: #include <GUIConstants.au3>
#include <GuiTreeView.au3>
Opt("GuiOnEventMode", 1)
Global $iTV_Item_Clicked = False
$Gui = GUICreate("Test", 300, 200)
GUISetOnEvent(-3, "OnExit")
$nTreeView = GUICtrlCreateTreeView(20, 20, 260, 160, -1, $WS_EX_STATICEDGE+$WS_EX_CLIENTEDGE)
$hTreeView = GUICtrlGetHandle($nTreeView)
GUIRegisterMsg($WM_NOTIFY, "TV_Event")
GUISetState()
Initialize()
While 1
Sleep(10)
If $iTV_Item_Clicked Then
$iTV_Item_Clicked = False
Local $hItem = _GUICtrlTreeView_GetSelection($hTreeView)
Local $sItemText = _GUICtrlTreeView_GetText($hTreeView, $hItem)
ConsoleWrite($sItemText & @LF)
EndIf
WEnd
Func Initialize()
For $i = 1 To 50
_GUICtrlTreeView_InsertItem($nTreeView, "Item " & $i)
Next
EndFunc
Func TV_Event($hWnd, $Msg, $wParam, $lParam)
Local $NMHDR = DllStructCreate("hwnd;uint;short", $lParam)
If DllStructGetData($NMHDR, 1) = $hTreeView And DllStructGetData($NMHDR, 3) = -451 Then $iTV_Item_Clicked = True
Return $GUI_RUNDEFMSG
EndFunc
Func OnExit()
Exit
EndFunc
А как сделать слово состоящее из пяти случайных букв?
Mister_Che 13:47 23-04-2008
Цитата:
Если я не ошибаюсь, то я ответил тебе на этот вопрос тут .
Если всё же ошибаюсь (тогда это довольно странное совпадение), то вот этот код:
Код: $sWord = ""
For $i = 1 To 5
$sWord &= Chr(Random(97, 122, 1))
Next
MsgBox(64, "", $sWord)
Цитата:
как сделать слово состоящее из пяти случайных букв?
Если я не ошибаюсь, то я ответил тебе на этот вопрос тут .
Если всё же ошибаюсь (тогда это довольно странное совпадение), то вот этот код:
Код: $sWord = ""
For $i = 1 To 5
$sWord &= Chr(Random(97, 122, 1))
Next
MsgBox(64, "", $sWord)
ЫЫЫ, это йа. Спасибо.
А с печатанием разных цифр никак нельзя сделать? Мой последний код, кажется, гениален, но не работает.
А с печатанием разных цифр никак нельзя сделать? Мой последний код, кажется, гениален, но не работает.
Спасибо всем,кто откликнулся
Пока ждал нашел вот такое решение : (но только для двойного клика работает
Подстановка в стандартный $WM_NOTIFY :
Код:
Case $hWndTreeview
Switch $iCode
Case $NM_DBLCLK ;
$aa= _GUICtrlTreeView_GetSelection($hWndTreeview)
$hWndItem=_GUICtrlTreeView_GetItemParam($hWndTreeview, $aa)
EndSwitch
Пока ждал нашел вот такое решение : (но только для двойного клика работает
Подстановка в стандартный $WM_NOTIFY :
Код:
Case $hWndTreeview
Switch $iCode
Case $NM_DBLCLK ;
$aa= _GUICtrlTreeView_GetSelection($hWndTreeview)
$hWndItem=_GUICtrlTreeView_GetItemParam($hWndTreeview, $aa)
EndSwitch
А почему он в этом случае посылает $sWord, а не рандомное слово?
Цитата:
Добавлено:
Кавычки надо снять.
Цитата:
$sWord = ""
For $i = 1 To 5
$sWord &= Chr(Random(97, 122, 1))
Next
Send("$sWord")
Добавлено:
Кавычки надо снять.
Решил ту свою проблему, ПОДСКАЗАЛИ НА ТОМ ФОРУМЕ. Там ларчик просто открывался на самом деле, но я не программер, никогда бы сам не догадался.
Что-то запутался.
Надо в строке заменить символ(ы) с определенным кодом.
Например такой код должен заменить символ с кодом 133(дес.)
Код:
Код:
$Nstring = StringRegExpReplace($string, "(\x85)", "85", 0)
Надо в строке заменить символ(ы) с определенным кодом.
Например такой код должен заменить символ с кодом 133(дес.)
Код:
Код:
$Nstring = StringRegExpReplace($string, "(\x85)", "85", 0)
У меня каждый понедельник в 00:00 генерируестся pdf фаил, план проверок на неделю.
В названии файла должно стоять число когда он сгенерировался (Напиример 24.04.2008) и число по какое он действителен (Напиример 01.05.2008). Как сделать так чтою бы скрипт автоматически прибовлят к дате генерации неделю и выдала конечную дату.
В названии файла должно стоять число когда он сгенерировался (Напиример 24.04.2008) и число по какое он действителен (Напиример 01.05.2008). Как сделать так чтою бы скрипт автоматически прибовлят к дате генерации неделю и выдала конечную дату.
sergtch
шаблон "\x##" обозначает ASCII символ, т.е. в интервале от 0 до 127 (см. справку), можно так:
Код: $Nstring = StringRegExpReplace($string, chr(133), "~")
шаблон "\x##" обозначает ASCII символ, т.е. в интервале от 0 до 127 (см. справку), можно так:
Код: $Nstring = StringRegExpReplace($string, chr(133), "~")
Как всегда, как отправил вопрос, так и дошло.
Продолжая по теме, сам шаблон я считываю из файла.
Можно ли как-то строку, вида: "chr(133)" преобразовать в функцию: chr(133) ?
Продолжая по теме, сам шаблон я считываю из файла.
Можно ли как-то строку, вида: "chr(133)" преобразовать в функцию: chr(133) ?
SysLam
Спсаибо то что надо. Смотрел в справке не заметил этой фнкции наверное
Спсаибо то что надо. Смотрел в справке не заметил этой фнкции наверное
sergtch
не понял, у тебя вместо "chr" может быть другая функция?.. иначе зачем огород городить, а не вызвать сразу Chr() ?
не понял, у тебя вместо "chr" может быть другая функция?.. иначе зачем огород городить, а не вызвать сразу Chr() ?
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
Предыдущая тема: Quintura Search
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.