???
Математика на уровне МГУ

Показано с 1 по 22 из 22

Тема: Объясните мне.. или опять об опциях управления!!

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пилот
    Регистрация
    27.09.2002
    Адрес
    Белгородская обл.
    Возраст
    52
    Сообщений
    574

    Re: Объясните мне.. или опять об опциях управления!!

    Цитата Сообщение от tahorg Посмотреть сообщение
    А чего б не сдлеать как в МСФС. Одна кнопка включает другая выключает. И никаких проблем с современными джойстиками. Т.е. для например АНО в конфиге 3 варианта

    вкл АНО
    выкл АНО
    вкл/выкл АНО - для кливишников и джоев непрограмированных
    О чем я и спрашиваю - ЭТО ТРУДНО?

  2. #2
    Инструктор Аватар для Stalevar
    Регистрация
    25.10.2003
    Адрес
    Киев
    Возраст
    42
    Сообщений
    2,843

    Re: Объясните мне.. или опять об опциях управления!!

    Цитата Сообщение от Swift_CCCP Посмотреть сообщение
    О чем я и спрашиваю - ЭТО ТРУДНО?
    Вообще то да. Это увеличивает кол-во функций(кода, относящегося, к управлению, время програмирования/тестировния, багов, (вписать свой вариант)) относящихся к управлению в 2-3 раза по сравнению с обычным вкл/выкл. Ценность сомнительна, проблемы очевидны. Сделать можно, но наверняка никто не хочет возиться, тратить лишнее время и создавать себе лишние проблемы, чтоб пара тройка избранных тумблерочками побаловалась
    Ноги, крылья... Главное - хвост!

  3. #3
    Конструктор
    Регистрация
    16.04.2002
    Адрес
    Внезапно Москва
    Возраст
    48
    Сообщений
    1,744

    Re: Объясните мне.. или опять об опциях управления!!

    Цитата Сообщение от Stalevar Посмотреть сообщение
    Вообще то да. Это увеличивает кол-во функций(кода, относящегося, к управлению, время програмирования/тестировния, багов, (вписать свой вариант)) относящихся к управлению в 2-3 раза по сравнению с обычным вкл/выкл. Ценность сомнительна, проблемы очевидны. Сделать можно, но наверняка никто не хочет возиться, тратить лишнее время и создавать себе лишние проблемы, чтоб пара тройка избранных тумблерочками побаловалась
    Угу, тем более что эта пара-тройка избранных уже сейчас может решить эту проблему, пусть даже и через Ж.

  4. #4
    Инструктор
    Регистрация
    21.03.2007
    Адрес
    Kharkov
    Возраст
    42
    Сообщений
    2,096

    Re: Объясните мне.. или опять об опциях управления!!

    Цитата Сообщение от Stalevar Посмотреть сообщение
    Вообще то да. Это увеличивает кол-во функций(кода, относящегося, к управлению, время програмирования/тестировния, багов, (вписать свой вариант)) относящихся к управлению в 2-3 раза по сравнению с обычным вкл/выкл.
    Хм...ну ты дал. 3 функции ToOn, ToOff, IsOn, в обработчике конпки "вкл" if(!IsOn())ToOn(), в обработчике кнопки "выкл" if(IsOn())ToOff(), а в тожле if (IsOn())ToOff() else ToOn(). Это типа трудно? Могут вылезти лишние баги? Или ты считаешь, что программеры МГ до этого не додумаются?
    А вот с синхронизацией и правда тяжело. Хотя если имеется управляющая панель на ЖК, то и не сильно сложно, с "железными" тумблерами конечно практически никак.
    Хорошей пропаганды должно быть много!

  5. #5
    Конструктор
    Регистрация
    16.04.2002
    Адрес
    Внезапно Москва
    Возраст
    48
    Сообщений
    1,744

    Re: Объясните мне.. или опять об опциях управления!!

    Цитата Сообщение от SJack Посмотреть сообщение
    Хм...ну ты дал. 3 функции ToOn, ToOff, IsOn, в обработчике конпки "вкл" if(!IsOn())ToOn(), в обработчике кнопки "выкл" if(IsOn())ToOff(), а в тожле if (IsOn())ToOff() else ToOn(). Это типа трудно? Могут вылезти лишние баги? Или ты считаешь, что программеры МГ до этого не додумаются?
    А вот с синхронизацией и правда тяжело. Хотя если имеется управляющая панель на ЖК, то и не сильно сложно, с "железными" тумблерами конечно практически никак.
    Что-то у Вас просто слишком.
    Вот пример NewView по обработке кнопок.
    Пару коментов к коду:
    fpkShft1 - пока кнопка удерживается функция отрабатывает в состояние 1.
    fpkShft2 - тоже для состояния 2.
    fpkTrigger1 - переключатель с состояния 1 в нормальное и обратно
    fpkTrigger2 - тоже для состояния 2 и нормального
    fpkOn1 - включение состояния 1
    fpkOn2 - тоже для 2
    fpkOff1 - включение нормального состояния из состояния 1
    fpkOff2 - тоже из состояния 2
    Ну и fpkOn + fpkOff работают как триггер fpkTrigger.

    Итак код функции:

    procedure_TFunctionProcessor.Check(var_Functions:_TFunction);
    begin
    __//_Func1_с_удержанием
    __if_Functions[FunctionsID[fpkShft1]]_then
    __begin
    ____OnShift1();
    ____if_Mode_<>_fpmShft1_then
    ____begin
    ______Mode_:=_fpmShft1;
    ______VValue_:=_fpvFunc1;
    ____end;
    __end
    __else
    __begin
    ____//_Func2_с_удержанием
    ____if_Functions[FunctionsID[fpkShft2]]_then
    ____begin
    ______if_Mode_<>_fpmShft2_then
    ______begin
    ________Mode_:=_fpmShft2;
    ________VValue_:=_fpvFunc2;
    ______end;
    ____end
    ____else
    ____begin
    ______//_Normal
    ______if_(Mode_=_fpmShft1_)_or
    _________(Mode_=_fpmShft2_)_then
    ______begin
    ________Mode_:=_fpmNormal;
    ________VValue_:=_fpvNormal;
    ______end;

    ______//_Func1_trigger
    ______if_Functions[FunctionsID[fpkTrigger1]]_or
    _________(Functions[FunctionsID[fpkOn1]]_and
    __________Functions[FunctionsID[fpkOff1]])_then
    ______begin
    ________if_(Mode_<>_fpmTrig1On_)_and
    ___________(Mode_<>_fpmTrig1Off)_then
    ________begin
    __________if_(Mode_<>_fpmOn1)_then
    __________begin
    ____________Mode_:=_fpmTrig1On;
    ____________VValue_:=_fpvFunc1;
    __________end
    __________else
    __________begin
    ____________Mode_:=_fpmTrig1Off;
    ____________VValue_:=_fpvNormal;
    __________end;
    ________end;
    ______end
    ______else
    ______begin_//_Не_Func1_триггер
    ________//_Сбросить_(преобразовать)_фиксированный_триггер
    ________if_Mode_=_fpmTrig1On_then
    __________Mode_:=_fpmOn1
    ________else
    ________if_Mode_=_fpmTrig1Off_then
    __________Mode_:=_fpmNormal;
    ________//_Func1_вкл
    ________if_Functions[FunctionsID[fpkOn1]]_then
    ________begin
    __________Mode_:=_fpmOn1;
    __________VValue_:=_fpvFunc1;
    ________end;
    ________if_Functions[FunctionsID[fpkOff1]]_then
    ________begin
    __________Mode_:=_fpmNormal;
    __________VValue_:=_fpvNormal;
    ________end;
    ______end;_//_Func1_trigger

    ______//_Func2_trigger
    ______if_Functions[FunctionsID[fpkTrigger2]]_or
    _________(Functions[FunctionsID[fpkOn2]]_and
    __________Functions[FunctionsID[fpkOff2]])_then
    ______begin
    ________if_(Mode_<>_fpmTrig2On_)_and
    ___________(Mode_<>_fpmTrig2Off)_then
    ________begin
    __________if_(Mode_<>_fpmOn2)_then
    __________begin
    ____________Mode_:=_fpmTrig2On;
    ____________VValue_:=_fpvFunc2;
    __________end
    __________else
    __________begin
    ____________Mode_:=_fpmTrig2Off;
    ____________VValue_:=_fpvNormal;
    __________end;
    ________end;
    ______end
    ______else
    ______begin_//_Не_Func1_триггер
    ________//_Сбросить_(преобразовать)_фиксированный_триггер
    ________if_Mode_=_fpmTrig2On_then
    __________Mode_:=_fpmOn2
    ________else
    ________if_Mode_=_fpmTrig2Off_then
    __________Mode_:=_fpmNormal;
    ________//_Func1_вкл
    ________if_Functions[FunctionsID[fpkOn2]]_then
    ________begin
    __________Mode_:=_fpmOn2;
    __________VValue_:=_fpvFunc2;
    ________end;
    ________if_Functions[FunctionsID[fpkOff2]]_then
    ________begin
    __________Mode_:=_fpmNormal;
    __________VValue_:=_fpvNormal;
    ________end;
    ______end;_//_Func1_trigger
    ____end;_//_else_if_Func1
    __end;_//_else_if_Shift_Func1
    end;

    Считаете, что можно сильно упростить?
    P.S. А куда индент делся? Заменил пробелы на подчерки.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •