Что нового

[Процессы] Возврат цикла.

lazarxxx

Новичок
Сообщения
53
Репутация
2
Доброго всем времени!
У меня два вопроса по программированию.
1 допустим, я решаю какую-то задачу в while 1 (понятно при запуски программы она начнёт выполнятся 1) в какое-то время процесс завершается и мне надо перейти в while 3 а не в 2
Потом допустим опять в 1, а потом в 3 как это сделать?
2 вопрос можно ли чтоб переменные некоторые были глобальные и они работали в любом while () а некоторые допустим только в While 3 ?
Заранее благодарен!
Код:
AutoIt 
Dim $a=5 ; надо чтоб была глобальной
While 1
Dim $s=10 ;штоб воспринималась только здесь  
   WEnd
 While 2
    WEnd
	  
	  
While 3
 Dim $s=30 ;штоб воспринималась только здесь    
   WEnd
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Процессы] While и Dim

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Процессы] While и Dim" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
Переменная может иметь локалюную область видимости только внутри функции.
http://autoit-script.ru/autoit3_docs/keywords/Func.htm
 

running-frag

why me?
Сообщения
441
Репутация
60
Есть такое понятие как функция.

Код:
Func

Тыкни на неё, почитай описание.

http://autoit-script.ru/autoit3_docs/intro/lang_variables.htm

http://autoit-script.ru/autoit3_docs/ ищем всё что неясно тут.
 
Автор
L

lazarxxx

Новичок
Сообщения
53
Репутация
2
подскажите пожалуйста где здесь ошибка? почему я не могу пролистывать значения?
Код:
AutoIt 
$d=0
Dim $a[4] = [0xFE1303,0xFC1100,0xFE1100,0xFB1808 ]
While 1
$d=$d+1
ConsoleWrite ("x" & $a[$d] &@CR)
If $d=4 Then
   $d=$d-3
   EndIf
Sleep(2000)
   WEnd
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
Dim $Array[4] = [0xFE1303, 0xFC1100, 0xFE1100, 0xFB1808]
Global $Item

While 1
    If ($Item = 3) Then
        $Item = 1
	EndIf
	$Item += 1
    ConsoleWrite ('x' & $Array[$Item] &@CR)
    Sleep(1000)
WEnd


Или

Код:
Dim $Array[4] = [0xFE1303, 0xFC1100, 0xFE1100, 0xFB1808]

While 1
	For $i = 0 To UBound($Array) - 1
		ConsoleWrite('x' & $Array[$i] & @CRLF)
		Sleep(1000)
    Next
WEnd
 
Верх