Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Оператор IF  (Прочитано 2422 раз)

ART63

  • Постоялец
  • ***
  • Сообщений: 151
    • Просмотр профиля
Оператор IF
« : 18 Апреля 2022, 11:58:07 »
Добрый день!

Подскажите, пожалуйста, почему не работает такая конструкция в операторе IF?

Timothy Clement

  • Постоялец
  • ***
  • Сообщений: 166
  • ОАО Борисовский завод "Металлист"
    • Просмотр профиля
    • Полымя
Re: Оператор IF
« Ответ #1 : 18 Апреля 2022, 12:00:37 »
Добрый день. При использовании нескольких условий в операторе if..then..else нужно брать каждое условие в скобки.

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1414
    • Просмотр профиля
Re: Оператор IF
« Ответ #2 : 18 Апреля 2022, 12:31:18 »
Здравствуйте.

Как правильно отметил Timothy, условия перечисляемые в конструкции if...then должны быть заключены в скобки - подробнее см. по ссылке. Также, в скриптах следует всегда использовать явное приведение значения переменной к нужному типу(подробнее см. по ссылке). Например, если нужно сравнить значение переменной с целым числом, то можно взять значение переменной переведенное в тип Integer(свойство AsInt).
Код: (delphi)
if (OBJ1_QF_DGU1.AsInt = 3) or (OBJ1_QF_DGU1IsWork.AsInt = 2) then 
« Изменён: 18 Апреля 2022, 12:42:08 от Simple_Scada »