Что нового

Помогите разобраться выводом из массива в цикле

Sionetta

Новичок
Сообщения
2
Репутация
0
Вот простая задача, а выполнить не получается.

Нужно заходить на сайт под разными пользователями.

Ругается на эту конструкцию " Send($username[$i]) "

Без цикла все работает.

Ткните, пожалуйста носом где ошибка. Уже полдня убил :(

Код:
#include <IE.au3>

; Создаю массив из восьми пользователей

Global $username[1] = "si"
Global $username[2] = "sa"
Global $username[3] = "ba"
Global $username[4] = "be"
Global $username[5] = "lo"
Global $username[6] = "ko"
Global $username[7] = "ez"
Global $username[8] = "mo"

$password = "xxxxx"  ; пароль для простоты один для всех


$oIE = _IECreate ("http://ya.ru")   ; Захожу на сайт
WinSetState ( "ya.ru","", @SW_MAXIMIZE) ; Открываю окно на полную

For $i = 1 To 8                            ; Цикл для переменной $i от 1 до 8
   _IELinkClickByText ($oIE, "Вход")
   Sleep (1000)
   Send($username[$i]) 						; Подставляю имя очередного пользователя
   Sleep (500)
   Send("{TAB}")
   Sleep (500)
   Send($password)
   Send ("{Enter}")
   Sleep (7000)
   _IELinkClickByText ($oIE, "Выход")
   Sleep (1000)
Next


WinClose ( "ya.ru","")
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
203
Sionetta
Вы не создаете массив. Вы задаете значения ячеек несуществующему массиву и задать значение ячейки массива глобально нельзя

Прочитайте Массивы

Пример для вашего случая
Код:
#include <Array.au3>

Global $aUsername[8] = ["si", "sa", "ba", "be", "lo", "ko", "ez", "mo"]
_ArrayDisplay($aUsername)

For $i = 0 To 7
	ToolTip($aUsername[$i], @DesktopWidth / 2, @DesktopHeight / 2, "", 0, 2)
	Sleep(250)
Next
ToolTip("")

$aUsername[0] = 1
$aUsername[1] = 2
$aUsername[2] = 3
$aUsername[3] = 4
$aUsername[4] = 5
$aUsername[5] = 6
$aUsername[6] = 7
$aUsername[7] = 8

_ArrayDisplay($aUsername)
For $i = 0 To 7
	ToolTip($aUsername[$i], @DesktopWidth / 2, @DesktopHeight / 2, "", 0, 2)
	Sleep(250)
Next
 
Автор
S

Sionetta

Новичок
Сообщения
2
Репутация
0
Спасибо. Задаботало в таком виде:

Код:
#include <IE.au3>

Local $Username[8] = ["si","sa","ba","be","lo","ko","ez","mo"]

$password = "xxxxxx"

$oIE = _IECreate ("http://ya.ru")
WinSetState ( "ya.ru ","", @SW_MAXIMIZE)

For $i = 0 To 7
   _IELinkClickByText ($oIE, "Вход")
   Sleep (1000)
   Send($Username[$i])
   Sleep (500)
   Send("{TAB}")
   Sleep (500)
   Send($password)
   Send ("{Enter}")
   Sleep (7000)
   _IELinkClickByText ($oIE, "Выход")
   Sleep (1000)
Next


WinClose ( "ya.ru ","")


:laugh:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Sionetta

[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Верх