Что нового

[Ошибки] ошибка в использовании оператора IF (Illegal text at the end of statement)

Flukes

Новичок
Сообщения
10
Репутация
0
Подскажите в чем проблема.
К примеру
Код:
If 1=1 Then MsgBox (0,1,1)
Else MsgBox (0,2,2)
EndIf

выдает ошибку
D:\AutoIT\?? ??????\test.au3 (4) : ==> Illegal text at the end of statement (one statement per line).:
Else MsgBox (0, 2,2)
Else ^ ERROR
...и даже такой пример, без использования Else
Код:
If 1=1 Then MsgBox (0,1,1)
;Else MsgBox (0,2,2)
EndIf
Выдает ошибку
D:\AutoIT\?? ??????\test.au3 (5) : ==> "EndIf" statement with no matching "If" statement.:
EndIf
При том что, если скопировать(копи-паст) подобный код из другого файла с рабочим кодом, все прекрасно работает.
И еще, Код без использования EndIf
Код:
If 1=1 Then MsgBox (0,1,1)
;Else MsgBox (0,2,2)
;EndIf
Уже работает без проблем, хотя вроде не должен.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Flukes,
Как-то так.
Код:
$iRand = Random(0, 1, 1)
ConsoleWrite('$iRand: ' & $iRand & @LF)
;1
If $iRand Then MsgBox(64, '1', $iRand)

If $iRand Then
	MsgBox(64, '2', $iRand)
EndIf

If $iRand <> 0 Then  MsgBox(64, '3', $iRand)

If $iRand > 0 Then  MsgBox(64, '4', $iRand)

;0
If Not $iRand Then MsgBox(64, '5', $iRand)

If Not $iRand Then
	MsgBox(64, '6', $iRand)
EndIf

If $iRand = 0 Then  MsgBox(64, '7', $iRand)

If $iRand == 0 Then  MsgBox(64, '8', $iRand)

;0 Or 1
If $iRand Then
	MsgBox(64, '9', $iRand)
Else
	MsgBox(64, '10', $iRand)
EndIf
;etc



Добавлено:
Сообщение автоматически объединено:

Flukes [?]
При том что, если скопировать(копи-паст) подобный код из другого файла с рабочим кодом, все прекрасно работает.
ИМХО, скопирован не весь необходимый код.
 
Автор
F

Flukes

Новичок
Сообщения
10
Репутация
0
Ага. Разобрался стандартным методом "научного тыка", хотя в описаниях такого не встречал.
Если после Then в той же строке указать действие, то Else и EndIf можно не не использовать вовсе. А точнее нельзя использовать.
В моем случае нужно было после Then перейти на новую строку.
Код:
If 1=1 Then
MsgBox (0,1,1)
Else
MsgBox (0,2,2)
EndIf
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Flukes [?]
хотя в описаниях такого не встречал.
не знаю, что ты читал, но в справке это все есть. пробовал тыкать по ключевым словам-командам чтобы перейти к онлайн-справке?
http://autoit-script.ru/autoit3_docs/keywords/If.htm
 
Верх