Значение(статус) 1 канала по 2 другим

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Автор
    Сообщения
  • #21264
    Mettall
    Участник

    Помогите новичку написать формулу.

    Есть 2 входных канала и 1 выходной канал, необходимо выполнить условие

    Если

    «1 канал» > 0 и «2 канал» > 0 то «канал 3» =1
    «1 канал» > 0 и «2 канал» < 0 то «канал 3» =1
    «1 канал» < 0 и «2 канал» > 0 то «канал 3» =1
    «1 канал» < 0 и «2 канал» < 0 то «канал 3» =0

    • Эта тема была изменена 1 неделя, 4 дня назад от Mettall.
    #21266
    Mikhail
    Модератор

    В таблицу Формулы нужно добавить:

    public double MyFunc(int cnlNum1, int cnlNum2)
    {
      if (Stat(cnlNum1) <= 0 || Stat(cnlNum2) <= 0)
        return 0;
      double val1 = Val(cnlNum1);
      double val2 = Val(cnlNum2);
      
      if (val1 < 0 && val2 < 0)
        return 0;
      else
        return 1;
    }

    Затем в формуле 3-го канала дорасчётного типа: MyFunc(1, 2)

    • Этот ответ был изменен 1 неделя, 4 дня назад от Mikhail.
    #21270
    Mettall
    Участник

    Выдает ошибку на сервере(

    Картинка

    • Этот ответ был изменен 1 неделя, 3 дня назад от Mettall.
    #21273
    a80808
    Участник

    Фигурные скобки в структуре if пропущены (ИМХО):

    public double MyFunc(int cnlNum1, int cnlNum2)
    {
    if (Stat(cnlNum1) <= 0 || Stat(cnlNum2) <= 0)
    {
    return 0;
    }
    double val1 = Val(cnlNum1);
    double val2 = Val(cnlNum2);

    if (val1 < 0 && val2 < 0)
    {
    return 0;
    }
    else
    {
    return 1;
    }
    }

    #21274
    manjey73
    Участник

    тут смотря где должно быть double valx

    Если после if всего один оператор, то скобки не нужны…

    #21275
    Mikhail
    Модератор

    Откройте файл CalcEngine.cs и перейдите на ту строку, которая указана в ошибке. Какой оператор в файле *.cs на этой строке?

    #21282
    Mettall
    Участник

    В общем какая-то магия 🙂 Заново создал формулу, вставил код, создал канал (дорасчетный ти), вставил название формулы, вставил номера каналов И ВСЕ ЗАРАБОТАЛО(пока)! Почему в прошлый раз не работало не знаю. ЗА ФОРМУЛУ СПС!

    в файле *.cs на этой строке — public double MyFunc_(int cnlNum1, int cnlNum2)

    • Этот ответ был изменен 1 неделя, 3 дня назад от Mettall.
    #21284
    Mikhail
    Модератор

    Возможно, какой-то символ был, на который ругался компилятор.

    #21289
    a80808
    Участник

    А там знак подчеркивания в конце обновления формулы (public double MyFunc_(int cnlNum1, int cnlNum2) — это так надо?

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Вы должны авторизироваться для ответа в этой теме.