Пятница, 29 Ноября 2024, 01:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Импульс + if условие С#
SSS22Дата: Воскресенье, 02 Февраля 2020, 19:02 | Сообщение # 1
был не раз
Сейчас нет на сайте
Доброе время суток!
Недавно стал изучать С# поэтому прошу вашей помощи в одном вопросе:
Задача: нужно чтобы скрипт по входному импульсу (логический вход) считывал входную переменную DATA_now (?DateTime).
а также по определенным условиям прибавлял к данной переменной 15 минут, после каждого нового входного импульса.
Все это организовано в коде С#. Частично работает. Время считывается и прибавляет 15 минут.....НО....делает это автоматически, а не по условию! (то есть.... что я if употребляю в коде или нет...одинаково )

Вот код: (не ругайте строго)))

using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using FB.FBAttributes;
using System.Linq;

[FBRetain]
public partial class ФБ : ScriptBase
{
public override void Execute()
{

bool SIGNAL_DATA1 = Convert.ToBoolean(SIGNAL_DATA); // ?bool
bool Error1 = Convert.ToBoolean(Error); // ?bool
DateTime Dtime_now = Convert.ToDateTime(DATA_NOW); // ?DateTime
DateTime Time4 = new DateTime();
DateTime Time2 = new DateTime();
DateTime Time3 = new DateTime();
DateTime Time1 = new DateTime();

if ((SIGNAL_DATA1==true) & (Error1==false));
{
DateTime Timenow1 = Dtime_now;
Time1 = Timenow1.AddDays(+1);
Time2 = Timenow1.AddDays(+2);
Time3 = Time1;
Time4 = Timenow1;
}

if (SIGNAL_DATA1 & !Error1); //импульс запуска и отсутсвие ошибки
{
if ((Time3 >= Time1) &(Time3<=Time2)); //проверка промежутка времени
{
Time3= Time3.AddMinutes(+15); // /прибавим 15 минут тут все работает но прибавляет только 1 раз
WORK_OUT=true; //готовность

}
}
Dtime11=Time1; // ?DateTime выходная переменная времени
Dtime12=Time2; // ?DateTime выходная переменная времени
Dtime13=Time3; // ?DateTime выходная переменная времени
Dtime14=Time4; // ?DateTime выходная переменная времени
}
}


kostian135Дата: Понедельник, 03 Февраля 2020, 00:39 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Цитата SSS22 ()
if ((SIGNAL_DATA1==true) & (Error1==false));
{
DateTime Timenow1 = Dtime_now;
Time1 = Timenow1.AddDays(+1);
Time2 = Timenow1.AddDays(+2);
Time3 = Time1;
Time4 = Timenow1;
}

if (SIGNAL_DATA1 & !Error1); //импульс запуска и отсутсвие ошибки
{
if ((Time3 >= Time1) &(Time3<=Time2)); //проверка промежутка времени
{
Time3= Time3.AddMinutes(+15); // /прибавим 15 минут тут все работает но прибавляет только 1 раз
WORK_OUT=true; //готовность
}

Код

if (SIGNAL_DATA1==true && Error1==false){}

if (Time3 >= Time1 &&Time3<=Time2){}
MinskiiДата: Воскресенье, 01 Марта 2020, 01:52 | Сообщение # 3
участник
Сейчас нет на сайте
В языке C# "&" является оператором логического умножения. Оператором логического "и" является "&&".

Один терранозавр - это 1024 гиганозавра, или 1048576 меганозавров.
Java/Kotlin, C#, C++.
Android разработчик. Инженер-программист программного обеспечения информационной безопасности мобильных систем.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг