Что нового

Не расскажете о команде с Оператором If ?

dr.room

Новичок
Сообщения
283
Репутация
0
Доброго времени суток
Я новичок и только знакомлюcь с программой. Очень хочется разобраться с командой с Условием: Если - то. Не могу понять как она работает. Пару бы примеров - здорово бы помогли.
Спасибо
ps
Своими словами, так сказать без спец терминологии - жутко запутывает :smile:
 
A

Alofa

Гость
Re: Не расскажете о команде "Если то" ?

dr.room
Для начала изучения Autoit людям, имеющим представление о том как устроен и работает компьютер, после школьного курса информатики, нижеследующего вполне должно хватить.


dr.room сказал(а):
Пару бы примеров - здорово бы помогли.
Тут, все тут.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Re: Не расскажете о команде "Если то" ?

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


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

"Не расскажете о команде "Если то" ?" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Глобальный модератор.









Предупреждение За нарушение общих правил (пункт В.8):
Так как эта конференция называется "Русское сообщество AutoIt", язык общения на ней - Русский. Названия фирм или программных продуктов, аббревиатуры и т.д. должны быть написаны так, как они пишутся в оригинале, например не следует писать УСБ вместо USB. На форуме крайне не рекомендуется намеренно искажать русский язык и использовать "сетевой жаргон" на подобии "Аффтар выпей йадау!".


С уважением, ваш Глобальный модератор.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
OffTopic:
dr.room
Не могу понять как она работает.
Отправляет жена мужа-программиста в магазин и говорит:
- Купи бутылку молока. А если будут яйца, то купи десяток.
Муж приходит из магазина и приносит десять бутылок молока. На вопрос жены "Почему ты купил десять бутылок?" он ответил:
- Потому что яйца - были.
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Ок - а как в качестве statements (если я правильно понял...) поставить метку для перехода к заданному участку кода.
На простеньком примере :smile:
Код:
; Пример выбора из 2-х действий
If MsgBox(4 + 32, 'Сообщение', 'Продолжить?') = 6 Then
;~     Метка 1
Else  ; 
;~     Метка  2
EndIf

;~ Переход 1
;~ Переход 2
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Безусловный переход уже давно мало где используется, т.к. сильно "загрязняет" код. Используйте доступные возможности ЯП. Но если хотите, то вот небольшой трюк:

Код:
While 1
	If ... Then ExitLoop
	...
WEnd
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
dr.room
Второе предупреждение? Первый пост.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Можно через функции :
Код:
; Пример выбора из 2-х действий
If MsgBox(4 + 32, 'Сообщение', 'Продолжить?') = 6 Then
Metka1()
Else  ;
Metka2()
EndIf

Func Metka1()
	MsgBox(0,'Нажата кнопка "Да"','Далее действия по метке 1')
EndFunc

Func Metka2()
	MsgBox(0,'Нажата кнопка "Нет"','Далее действия по метке 2')
EndFunc
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Немного разобрался с условием старта с определенного фрагмента кода. А как быть с условием остановки/сообщения скрипта, например при достижении заданного в условии участка кода: функции какой-то , к примеру. Посоветуйте
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Код:
MsgBox()
Показывает сообщение и останавливает выполнение скрипта , пока Вы его не закроете , либо по тайм-ауту, если он установлен.
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Нет нет, я не о уведомлении самом - я в принципе. (просто не правильно выразился)
Т.е. моделирую совершенно новую ситуацию. Когда где-то в скрипте, задаётся условие, специальное условие: например, как реакция на нажатие кнопки из выпадающего списка. Условием есть то что скрипт должен выполняться "вот до этой функции только, а дальше нет: стоп+уведомление"
Как это можно реализовать?
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
dr.room
реакция на нажатие кнопки из выпадающего списка
Если вы про ComboBox, то см. обработку события $CBN_DROPDOWN в примере из справки к функции
Код:
_GUICtrlComboBox_Create()
Только как-то это не совсем по теме...
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
стоп+уведомление
Уведомление в каком виде ? Стоп ... а дальше продолжить работу при каких-то условиях ? Опять-же
Код:
MsgBox()
- наставьте туда кнопок разных "Да, Нет, Отмена"итп, скрипт выдаст Вам уведомление и остановится до тех пор, пока Вы не нажмёте какую ни-будь кнопку, дальше в зависимости от выбора различные действия - выбор функции, выход , продолжение работы скрипта...
Если нужно в каком-то месте останавливать работу скрипта , можно ввести флаг и дальше в зависимости от состояния флага останавливать скрипт в нужном месте, либо продолжать работу, например :
Код:
$flag=0
;тело скрипта.......

;в обработке реакции на нажатую кнопку, условие итп ставите флаг остановки
$flag=1

;дальше в любом месте, где возможно нужна остановка с уведомлением
If $flag then MsgBox(48,'Пауза','Скрипт будет остановлен, пока не закрыть это окно !')

;дальше продолжение скрипта, если нужно - вернуть $flag=0 , обработка реакции на кнопки в MsgBox  итд
 
Верх