|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Изменение счётчика итераций цикла |
|
Изменение счётчика итераций цикла
|
Пользователь Сообщения: 68 |
Профиль | Отправить PM | Цитировать
Привет.
Допустим, у меня есть некий цикл, он работает, как нужно, но в определённый момент, мне нужно изменить количество итераций цикла. Из вне. Из другой функции. Возможно ли такое в принципе? $Arr = 7 For $i = 0 To $Arr MsgBox(0, "111", $i) ; If $i = 3 Then ExitLoop Next Func _bbb() ;И отсюда, по некому событию я хочу изменить $Arr EndFunc Изменить $Arr. Хоть, прибавить, хоть убавить. Как такое реализовать? Всегда выдаётся ошибка, что массив имеет неправильное количество индексов. Я думал про ReDim, но как не крутил, ничего не получилось. Для примера, я хочу, чтобы было не 7, а 12 итераций. |
|
Отправлено: 10:16, 23-05-2017 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать Цитата Паразит:
Изменить количество итераций можно как-то так, например |
|
------- Отправлено: 11:28, 23-05-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать Я не стал писать про массив, потому что массив мне возвращает некоторую цифру (через UBound).
Т.е., это всего лишь цифра, которую мне нужно изменить, при появлении некоторого события. oz84, а можно ли это реализовать через For To Next? Дело в том, что мой скрипт очень сложен, и я от этого цикла получаю не только его тело, но и его индекс, который используется в других местах скрипта. |
Последний раз редактировалось Паразит, 23-05-2017 в 13:00. Отправлено: 12:48, 23-05-2017 | #3 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать Паразит, тут идексом будет $iCount, такой же счётчик, как и $i (только если $i = 0, то количество итераций будет 8, а не 7). Извиняюсь, в последнее время чаще был удобен бесконечный цикл с выходом по условию, ну и написал по привычке...
Можно и в For, только нужно добавить проверку, что не выходите за пределы размера массива, до того, как получить из него некоторую цифру. Т.е. предусмотреть в скрипте ошибку, тогда до обработчика ошибок самого AutoIt дело и не дойдёт. |
------- Отправлено: 14:17, 23-05-2017 | #4 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать Получается, что переменная StopValue читается только при первом проходе.
Вывод: Через For To Next реализовать такое невозможно. oz84, спасибо Вам за помощь. |
|
Последний раз редактировалось Паразит, 23-05-2017 в 15:12. Отправлено: 14:41, 23-05-2017 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Паразит:
Что касается проверки массива, не вижу тут проблемы: |
|
------- Отправлено: 21:09, 25-05-2017 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Разное количество итераций с одным(почти) и тем же условием | crashtuak | Программирование и базы данных | 2 | 05-07-2012 14:39 | |
Разное - Остановка счётчика триальной программы или восстановление её работы | beowulf0208 | Microsoft Windows 7 | 1 | 14-03-2011 12:41 | |
CMD/BAT - [решено] Пакетное переименование с использованием алфавитного счётчика | kotik147 | Скриптовые языки администрирования Windows | 6 | 13-05-2010 00:03 | |
HP Deskjet D4363 сброс счётчика | shponder | Хочу все знать | 0 | 22-01-2010 19:21 |
|