Что нового

[Автоматизация] изменение значения переменной

andreitrane

Новичок
Сообщения
141
Репутация
3
к переменной дано несколько значений, например
Код:
$peremennaya = stringsplit("323524,24542343,536435", ",")

(значений может быть больше)

как сделать, чтобы в каждом новом кругу цикла поочереди ставились значения переменной в $ii? то есть в $i = 1 $ii = 323524, в $i = 2 $ii = 24542343, в $i = 3 $ii = 536435 и т.д.
Код:
$i = 1
for $i = 1 to 6
$ii = $peremennaya[??]
.................
...........
...........
next
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
andreitrane
мне, к сожалению, не дано тебя понять. но к твоему счастью, у меня есть хрустальный шар, и он сегодня работает. вот что он выдал
Код:
$peremennaya = stringsplit("323524,24542343,536435", ",")
for $i = 1 to $peremennaya[0]
    $ii = $peremennaya[$i]
next
 
Автор
A

andreitrane

Новичок
Сообщения
141
Репутация
3
нет, этот не подойдет, т.к. число кругов цикла может намного превышать количество $peremennaya[0]

если сделать так, как показали вы
Код:
$peremennaya = stringsplit("85876,9698696,689768976", ",") ;например сдесь их 3 штуки
for $i = 1 to 7 ;тут может стоять любое число, заданное пользователем
for $ii = 1 to $peremennaya[0]
$iii = $peremennaya[$ii]
...........................
........................
......................
next
next


то число кругов будет не семь, а 28
кстати необязательно использовать stringsplit, главное чтобы работало
если $i = 1 то $iii = $peremennaya[1], если $i = 1 то [2], если $i = 3 то [3], если $i = 4 то [1], если $i = 5 то [2] и т.д.
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
andreitrane [?]
то число кругов будет не семь, а 28
В этом случае у вас будут идти повторения.
Код:
Dim $Y = 1
$Data = StringSplit("85876,9698696,689768976", ",") ;например сдесь их 3 штуки
For $i = 1 To 7 ;тут может стоять любое число, заданное пользователем
	For $x = 1 To $Data[0]-1
		$ii = $Data[$x]
		ConsoleWrite("$ii:" & $Y & "="  & " -> " & $ii & @CRLF)
		$Y += 1
	Next
	$ii = $Data[3]
	ConsoleWrite("$ii:" & $Y & "=" & " -> " & $ii & @CRLF)
	$Y += 1
Next
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
andreitrane [?]
то число кругов будет не семь, а 28кстати необязательно использовать stringsplit, главное чтобы работалоесли $i = 1 то $iii = $peremennaya[1], если $i = 1 то [2], если $i = 3 то [3], если $i = 4 то [1], если $i = 5 то [2] и т.д.
по всей видимости, ты всерьез воспринял информацию о моем хрустальном шаре ;D. я пошутил, он уже пол года как не работает :-X
Код:
$peremennaya = stringsplit("85876,9698696,689768976", ",") ;например сдесь их 3 штуки
$dummy = 1;
$lubos_strashnoe_choslo_vvedennoe_polzovatelem = 10
$k = 1
for $i = 1 to $lubos_strashnoe_choslo_vvedennoe_polzovatelem
    $ii = $peremennaya[$dummy]
    ConsoleWrite($ii & @CRLF)
    if $i = $k*$peremennaya[0] then
		$dummy = 0
		$k += 1
	endif
    $dummy += 1
next
 
Автор
A

andreitrane

Новичок
Сообщения
141
Репутация
3
Kaster, а для чего нужна переменная $k? и для чего нужна (то есть что за команда) ConsoleWrite?
 
Автор
A

andreitrane

Новичок
Сообщения
141
Репутация
3
все, разобрался, спс
 
Автор
A

andreitrane

Новичок
Сообщения
141
Репутация
3
не, для чего $k понял (дошло наконец :rofl:), а насчет consolewrite нет, справка везде на английском, эта функция сдесь обязательна или нет?
 

edward_freedom

Осваивающий
Сообщения
200
Репутация
44
andreitrane
ConsoleWrite не обязательно.Эта функция показывает, что в данный момент делает скрипт и выводит внизу программы Autoit SciTe :ok:
 
Верх