убийца титанового велосипеда для тактовой кнопки.
- Войдите на сайт для отправки комментариев
Ср, 18/04/2018 - 02:24
тут один профи решил поразить меня в печень. #30
...обещал поразить бесплатно, но теперь требует денег.
цитирую, чисто напоржать и поучиться у профессионала, как нужно побеждать в дискуссиях с непрофессионалами... за бабло. О_О
*прошу модераторов прибить тему.
пусть народ пользуется убивцем велосипеда от профессионала.
шо? деньги?
отож.
>некто Logik#30
Ничего подобного, я профи, пишу код за деньги. И если кому надо коду от меня - так не за так. И об этом изначально я те писал, влом только искать. Но учитывая чтот ты настырно клянчиш уже который месяц и беря во внимание, что недавно был день дурака, а заслуженого подарка на форуме ты так и нифига не получил, то дарю. Но не все ;) Интересные методы классов я позатираю, поля данных оставлю для подсчета. Так до поступления финансов на счет.
Ну и вывод при полном наличии иерархии классов
Этта шо? О_О
Этта шо? О_О
шо-шо - пока не заплатишь Логику, не узнаешь. но, мне уже заочно стыдно. о_О
нууу... я думаю, у профессионалов Phisical несколько по-другому пишеца. :)
нууу... я думаю, у профессионалов Phisical несколько по-другому пишеца. :)
Fizicheskiye ? L_o
ну, не знаю...
чел не моргнув глазом хранит время в байтах
считает, что можно ограничиться обработкой четырёх кнопок
но, самое феерическое, что кнопок обрабатывается, допустим, четыре, а событий с этих кнопок может прийти одновременно... ОДНО.
235
switch
(kbd.Process(Time))
236
{
237
case
KBD_EVENT_DONE:
break
;
238
case
KBD_EVENT_UP:
break
;
239
case
KBD_EVENT_LONG:
break
;
240
case
KBD_EVENT_SHORT:
break
;
241
case
KBD_EVENT_DBL:
break
;
242
}
нууу... я думаю, у профессионалов Phisical несколько по-другому пишеца. :)
Да у него, по-моему, и Viev за норму считается.
нууу... я думаю, у профессионалов Phisical несколько по-другому пишеца. :)
Да у него, по-моему, и Viev за норму считается.
к какой-то фигне придираетесь.
DetSimen, тоже не DedSemen...
Дак мы же не высоквалифицированные программисты за деньги, чего нам еще обсуждать-то? Хоть так приобщимся...
чел не моргнув глазом хранит время в байтах
Не особо разбирался в коде, но если интервалы длиннее 255 не интересуют, то хранить в байтах наиболее разумно (насчёт "моргать" - не знаю). Нафига тратить больше, если нет разницы?
Не особо разбирался в коде, но если интервалы длиннее 255 не интересуют, то хранить в байтах наиболее разумно (насчёт "моргать" - не знаю). Нафига тратить больше, если нет разницы?
если чисто считать время отклика кнопки(ака-антидребезг), то не интересуют, но - нет:
010
// физические события изменения состояния кнопок
011
KBD_EVENT_DONE,
012
KBD_EVENT_UP,
013
//логические события
014
KBD_EVENT_LONG,
015
KBD_EVENT_SHORT,
016
KBD_EVENT_DBL,
017
KBD_EVENT_PRESS,
да-да - вся фигня у нас случается в диапазоне 0-255 миллисекунд.
но самая веселуха начинается, когда заюзаешь диапазон значений 255-время_лупа <-> 255. О_о
У Вас оригинальный способ определения профессионалов. Стоматолога тоже так выбирали? Только хирурга так не выбирайте, а то семе прийдется мастера по надгробям выбирать. Вот там точно орфография важна будет.
ты не на личности переходи, а ответь - сколько кнопок у тебя можно одновременно нажать?
четыре?
#define KEY_TIME_MAX 4 //столько кнопок одновременно можно нажать
или одну?
237
case
KBD_EVENT_DONE:
break
;
238
case
KBD_EVENT_UP:
break
;
239
case
KBD_EVENT_LONG:
break
;
240
case
KBD_EVENT_SHORT:
break
;
241
case
KBD_EVENT_DBL:
break
;
ну, не знаю...
чел не моргнув глазом хранит время в байтах
считает, что можно ограничиться обработкой четырёх кнопок
но, самое феерическое, что кнопок обрабатывается, допустим, четыре, а событий с этих кнопок может прийти одновременно... ОДНО.
Не совсем одно, их там много будет учитывая
KBD_EVENT_DONE
. Но конкретно при одновременном нажатии четырех кнопокм спецом прийдет с кодом соответствующим именно такой комбинации. Очень удобно. Получается комбинации обрабатываются как обычное нажатие и на уровне loop их можна и не различать вобще если хочется.но самая веселуха начинается, когда заюзаешь диапазон значений 255-время_лупа <-> 255. О_о
А причем тут 0-255 миллисекунд? На одном байте интервал хоть в мильенлет отмеряется. Только с точность вопрос, если 40тыс. лет устраивает то можна. В данном коде до 2,55сек меряю. Для лонгклика нужно. Точность 0,1сек при работе с кнопками достаточно.
Клапауций 555, вместо того чтоб дальше сотрясать форум своим уровнем непонимания, определись с простым вопросом. Код покупаеш или нет? Если нет - хоре клянчить, я не подаю. Если да - поговорим как культурные люди ;)
Думаю всем понятно что бесплатным бывает не только сыр, но и велосипеды. С соответствующими последствиями типа
ну, не знаю - на данный момент у меня на матрицу 10х10=100 кнопок расходуется 840 байт RAM.
Честно говоря, так же не вижу ничего плохого в "кривых" названиях переменных и объектов. Видел много "профи" кода, там и не такое встречается. А про правила хорошего тона при написании кода, говорить так же не правильно, то что для кого то хорошо, другому - плохо.
Другой вопрос, нужны ли такие пляски с классами для элементарного опроса клавиатуры... Но это дело вкуса.
Другой вопрос, нужны ли такие пляски с классами для элементарного опроса клавиатуры... Но это дело вкуса.
Тссс, на святое покушаешься :) Тело, помнится, уходило в истерику и несознанку, когда речь шла о классах, а оно вон оно чо, оказывается: там не только нахер не нужная иерархия (видимо, паттерны программирования тело не особо знает), так ещё и раздутая VMT. Типичный подход "горе от ума": предпосылки мне ясны - хотелось сделать как удобнее, но - получилось как всегда, мухи с котлетами перемешались, сразу видно "я освоил наследование, куда бы его впихнуть?". Там всё великолепно решается гораздо проще, но - пример кода приведу только за деньги :)
пример кода приведу только за деньги :)
"Экий ты меркантильный Маргадон, о душе бы подумал!"
Честно говоря, так же не вижу ничего плохого в "кривых" названиях переменных и объектов. Видел много "профи" кода, там и не такое встречается. А про правила хорошего тона при написании кода, говорить так же не правильно, то что для кого то хорошо, другому - плохо.
Другой вопрос, нужны ли такие пляски с классами для элементарного опроса клавиатуры... Но это дело вкуса.
Почему классы? Отвечаю. Из задачи следует. В ней явно видны уровни обработки. Я начал было сразу в лоб без ООП, но передумал. На самом нижнем уровне сканируем кнопки и просто выявляем изменения состояния. Далее по результатам сканирования формируются сообытия о изменении статуса кнопок, на этом уровне уже ничего не известно о сканировании. На следующем - по данным о времени изменения статус - формируются события долгого и короткого нажатия. В следующем - даблклик. Далее - одновременное нажатие. В принципе возможно и разветвление наследования. Но пока не нужно. Эта иерархия наследования отлично выносится в либу. А в софте пользоователя - только класс
KBD
в котором реализованы методы сканирования, и приема результатов. Теперь вопрос - от кого его наследовать? А от любого члена иерархии! При этом функционал (и размер кода и данных разумеется) зависит от того, от кого унаследовались. Т.е. не нужен даблклик - наследуемся от класса до него. Все просто. Ну и кроме того в данном случае ООП оправдано и значительным числом чиртуальных методов. А они позволяют легко вынести с базового класса работу с пинами. Она специфична для проекта, сканы и возвраты могут быть разбросаны по портам и даже висеть на расширениях или других устройствах.Т.е. не нужен даблклик - наследуемся от класса до него. Все просто.
Надеюсь, понимающим ясно, в каком месте огромный архитектурный косяк и костыль вида "сбоку бантик"?
Ну и кроме того в данном случае ООП оправдано и значительным числом чиртуальных методов.
Которые там нахер не нужны.
А они позволяют легко вынести с базового класса работу с пинами.
А для этого не нужен базовый класс. Для этого есть другие, более правильные архитектурные решения. Могу привести пример кода, 10000 рублей и он твой.
Чем отличется профессионал от любителя? Профессионал продает код за деньги, а любитель пишет на интерес. Но в обоих случаях код может быть отстойным и не рабочим.
Даффай еще! Больше злобы, зубы шире скаль! За ногу, за ногу кусай!
ПС. По существу вопросы будут?
К тебе? По существу? Если бы ты был способен адекватно воспринимать критику - были бы. А так - смысла не вижу, ты ж у нас раззвездатый физдабол, как известно, какие к такому телу могут быть вопросы по существу? Тебя вон как ни макай - оно тебе всё время родное, похоже, тебе это удовольствие доставляет, что ли, раз ты уже своё вонючее начал сюда выкладывать?
По существу я, кстати, написал: сплошной архитектурный косяк и непонимание того, что делаешь - первый признак недоучки с ЧСВ. Такая иерархия, как приведена - это идиотизм и костыль, паттерны программирования тебе неизвестны - так, освоил классы, вроде бы (ключевое тут - вроде бы). Кучу виртуальных методов для решения такой тривиальной задачи - минус премия сразу, идиотов надо наказывать.
Как сделать правильно - я тебе предложил: 10000 рублей и так и быть, я продемонстрирую архитектурный костяк без твоих идиотизмов. Но ты мало того, что трепло и неграмотный, так ещё и жлоб, впрочем, это ясно, по-моему, не только мне.
Продолжай дальше упиваться своей исключительностью здесь, раз в коллективе чмырят.
Не совсем одно, их там много будет учитывая
KBD_EVENT_DONE
. Но конкретно при одновременном нажатии четырех кнопокм спецом прийдет с кодом соответствующим именно такой комбинации. Очень удобно. Получается комбинации обрабатываются как обычное нажатие и на уровне loop их можна и не различать вобще если хочется.т.е. у тебя одновременно обрабатывается не ОДНА кнопка, а ОДНО действие со всеми кнопками? О_О
а, когда у тебя одновременно нажата, допустим, одна кнопка и отпущены три - отжатие этих трёх ты тупо скипаешь? алё! гараж! у вас три автомобиля уехало в неизвестном направлении, пока вы принимали один! О_О
А причем тут 0-255 миллисекунд? На одном байте интервал хоть в мильенлет отмеряется. Только с точность вопрос, если 40тыс. лет устраивает то можна. В данном коде до 2,55сек меряю. Для лонгклика нужно. Точность 0,1сек при работе с кнопками достаточно.
а, при том, что время отклика кнопки у тебя болтается в диапазоне 0-0,1 сек вместо ожидаемого и настроеного пользователем 0,1+время_луп
хотя, ты мне ранее аргументированно доказал, что тормоза, тебя окружающие не различают время 0 и 0,1 секунды. лично я отличаю время реакции 0,05 и 0,1. для кодовой однопальцевевой клавиатуры подойдёт 0,1. для набора текста - отклик 0,1 будет выбешивать, а если этот параметр случаен в диапазоне 0-0,1, то возникнет желание найти пейсателя сего и заплатить ему по полной программе.
В данном коде до 2,55сек меряю.
у тебя сколько этих кодов? давай код, где меряется 4,294,967,295 миллисекунд, одновременно обрабатываются ВСЕ кнопки - допустим 100. не скипаются разные, но одновременные события. О_О
Код покупаеш или нет?
ты желаешь, что бы я попросил админа забанить тебя за торговлю в несоответсвующей ветке форума?
тема чистится от личных разборок.
да-да, у меня есть кнопка "сбросить в пропасть без разговоров". О_О
А чё, твой срач с логиком - не личная разборка?
нет. это - спор о качестве кода класс титановый велосипед для тактовой кнопки.
Не совсем одно, их там много будет учитывая
KBD_EVENT_DONE
. Но конкретно при одновременном нажатии четырех кнопокм спецом прийдет с кодом соответствующим именно такой комбинации. Очень удобно. Получается комбинации обрабатываются как обычное нажатие и на уровне loop их можна и не различать вобще если хочется.т.е. у тебя одновременно обрабатывается не ОДНА кнопка, а ОДНО действие со всеми кнопками? О_О
а, когда у тебя одновременно нажата, допустим, одна кнопка и отпущены три - отжатие этих трёх ты тупо скипаешь?
Ты бы код сразу почитал щоле прежде чем фантазировать. Реакция на отжатие зависит от того отжимается кнопка из числа описаных как комбинация или нет. Если кнопки из комбинации то физические эвенты для каждой, а логические для комбинации в твоем примере одно на три. Если кнопки не являются комбинацией - то на каждую и физические и логические. Ты в то что под спойлером не заглядываеш, ладно перетяну. Три кнопки с кодами 19, 1A, 1B, нажаты одновременно, отпущены по очереди все события на местах. Причем первая попала в короткий клик а две другие - длинный.
А причем тут 0-255 миллисекунд? На одном байте интервал хоть в мильенлет отмеряется. Только с точность вопрос, если 40тыс. лет устраивает то можна. В данном коде до 2,55сек меряю. Для лонгклика нужно. Точность 0,1сек при работе с кнопками достаточно.
а, при том, что время отклика кнопки у тебя болтается в диапазоне 0-0,1 сек вместо ожидаемого и настроеного пользователем 0,1+время_луп
хотя, ты мне ранее аргументированно доказал, что тормоза, тебя окружающие не различают время 0 и 0,1 секунды. лично я отличаю время реакции 0,05 и 0,1.
К сожалению это голословное утверждение не подтверждено хоть чем либо. Цифра 0,1 сек придумана не мной. Ты там в старте на тему сослался. В ней тоже люди опрашивают кнопку 0,1сек. Это общепринято. Возможно для ряда специальных приложений и/или товарищей будет не достаточно - так пофиг меняется константа и всех делов. Я так понял если с тобой договоримся, я те вышлю софт с периодом опроса 0,05 ;)
В данном коде до 2,55сек меряю.
у тебя сколько этих кодов? давай код, где....
Хотелку обламай. Кода у меня оч много ))) Работа такая. Только вот давать его каждому резону нету. Может те еще ключи от транспортных карт дать вместе с алгоритмом диверсификации )))
Код покупаеш или нет?
ты желаешь, что бы я попросил админа забанить тебя за торговлю в несоответсвующей ветке форума?
нет, я желаю получит от тебя ответ в стиле да или нет. И закроем эту тему. Чтоб ты перестал требовать код. Я ж отлично знаю, что ты нифига не купиш ))) Так хоть спасибо скажи за подарок. К следующему дню дурака может еще коду открою.
время unsigned long он запихал в byte, параметра "время события кнопки" не существут как такового - вместо него "общее время опроса всех кнопок",
Не. Не так. Время события в байте и хранится , смотри стр. 129-135. Для до 5-и кнопок. (Даффай не затевать дурной базар в пользу бедных на тему а если 10 сразу нажато. Этого не требуется. Будет требоватся констан
KEY_TIME_MAX
запишется 10, но не требуется вобще нигде).количество обработчиков сократил до 4-х, одновременно обрабатывает один тип событий.
Каких нах 4-х обработчиков. Ты вобще код смотрел прежде чем делать выводы? Он один! Но с параметром типа сообщения и кода кнопки. И за один вызов передает один тип события, просто этих вызовов столько, сколько событий возникло. Они друг за дружкой генерятся и обрабатываются.
Не вникая в суть рассматриваемых алгоритмов и задержек (лично меня удивило заявление "В ней тоже люди опрашивают кнопку 0,1сек. Это общепринято.", особенно его последняя часть, ну да ладно), должен отметить, что Вы не очень хорошо понимаете, зачем и как именно следует применять enum, чем отличаются виртуальные функции от переопределяемых, ну и еще ряд мелких замечаний, что недопустимо для профессионала, как Вы себя позиционируете
Так разясни. Иначе это пустотреп просто.
Ты бы код сразу почитал щоле прежде чем фантазировать.
какой код? где код? - нет кода. ¯\_(ツ)_/¯
нет, я желаю получит от тебя ответ в стиле да или нет. И закроем эту тему.
нууу... если ты мне заплатишь - я закрою эту тему.
а, пока к класс титановый велосипед для тактовой кнопки. у тебя не может быть претензий.
ты выстрелил себе в ногу - я никогда тебе не заплачу, что бы ты доказал свою правоту.
По поводу первого моего замечания.
Вообще то профессионал должен понимать, что основное назначение enum - это не создание алиасов для констант (с чем чудесно справляются define), а попытка обеспечить строгую (ну насколько об этом можно говорить применительно к С) типизацию для языка, в котором она сознательно нарушена. Поэтому попытка смешивать в одном перечислении "физические события" и "логические события" не может быть отнесена к лучшим сторонам архитектуры программы, а использование присваивания целым переменным констант из перечисления вообще находится по ту сторону границы между добром и злом.
По поводу второго замечания - есть множество великолепной литературы, посвященной использованию С++ для микроконтроллеров (в большинстве своем она англоязычная, но это не может служить серьезным препятствием для профессионала), и это одно из основных правил - если Вы не собираетесь использовать особенности виртуальных функций (в любой книге по собственно С++ они обязательно указаны), то не следует методы делать виртуальными, поскольку это создает "overhead".
Надеюсь, разъяснил понятно? Боюсь, в противоположном случае ничем помочь не смогу, поскольку подразумеваю определенный интеллектуальный и профессиональный уровень у своего визави. Правда, Ваше "тыканье" вызывает определенные сомнения в том, что Вы отвечаете предъявленным критериям.
Но в то же время, Кларауций, не могу не отметить, что Ваш код требует определенного рефакторинга в плане разделения уровней обработки - но это на мой взгляд, ведь я могу и ошибаться.
Ты вобще код смотрел прежде чем делать выводы?
я же не профессионал, написал, как понял - публикуй код с подробными комментариями, пиши сопроводительную документацию... тогда и поговорим о 100 одновременно нажатых кнопках, кому это не нужно, почему ты-тормоз, не различающий 50 и 100 миллисекунд.
алё! гараж! - это не клавиатура - это 100 кнопок, которые не только человек может нажимать или не один человек, а 100.
Но в то же время, Кларауций, не могу не отметить, что Ваш код требует определенного рефакторинга в плане разделения уровней обработки - но это на мой взгляд, ведь я могу и ошибаться.
ну, и кто запретил публиковать комментарии в теме велосипеда с примерами оптимизации?
я не против конструктивных предложений.
а, пока - цирк с Логиком: я не плачу за то, что бы Логик доказал свою правоту. О_О
По поводу первого моего замечания.
Вообще то профессионал должен понимать, что основное назначение enum - это не создание алиасов для констант (с чем чудесно справляются define), а попытка обеспечить строгую (ну насколько об этом можно говорить применительно к С) типизацию для языка, в котором она сознательно нарушена. Поэтому попытка смешивать в одном перечислении "физические события" и "логические события" не может быть отнесена к лучшим сторонам архитектуры программы, а использование присваивания целым переменным констант из перечисления вообще находится по ту сторону границы между добром и злом.
По поводу второго замечания - есть множество великолепной литературы, посвященной использованию С++ для микроконтроллеров (в большинстве своем она англоязычная, но это не может служить серьезным препятствием для профессионала), и это одно из основных правил - если Вы не собираетесь использовать особенности виртуальных функций (в любой книге по собственно С++ они обязательно указаны), то не следует методы делать виртуальными, поскольку это создает "overhead".
Надеюсь, разъяснил понятно?
Я был более краток :) Но суть передана верно - т-щ прохфесианал у нас просто плавает в теме, ещё и кичится этим.
Но в то же время, Кларауций, не могу не отметить, что Ваш код требует определенного рефакторинга в плане разделения уровней обработки - но это на мой взгляд, ведь я могу и ошибаться.
GarryC, не сочти за труд - сходи в класс титановый велосипед для тактовой кнопки. и набросай на примере и в коде велосипеда, где у меня там уровни обработки и зачем их разделять.
Жесть...
Я теперь вообще боюсь что либо писать в этом форуме... А то закидают тухлыми яйцами на тему непроффесианализма... Как начнут мордой по кочкам ООП возить приговаривая типа : "А кто это сделал, А ?"
Пойду валерианки выпью.... :(
Не понял, в чём проблема-то? Я что не по теме пишу? Или просто "дураку дали кнопку"?
иди - пожалуйся админу за удаление постов про жопу и просто ниочём.
Жесть...
Я теперь вообще боюсь что либо писать в этом форуме... А то закидают тухлыми яйцами на тему непроффесианализма... Как начнут мордой по кочкам ООП возить приговаривая типа : "А кто это сделал, А ?"
Пойду валерианки выпью.... :(
Нет, ну строго говоря, замечания GarryC очень даже обоснованы, я писал о том же ровно, только другим языком. Просто всем известный т-щ плевался, исходил на г., помнится - то ему классы не нра, то трава недостаточно зелёная. А тут оказалось, что он просто не смог в архитектуру и ООП, да и критику неспособен воспринимать в принципе.
Что касается кода Клапы - это как раз случай со всем известным инструментом - молоток. Да, везде есть изъяны, всегда можно найти, что улучшить, но зачем покрывать позолотой ручку, если молоток и так забивает гвозди - вот в чём вопрос? А Логика же ж уссыкалась о том, какой плохой код, да как она возьмёт, вытащит изо рта да напишет кой-чего получше. А на деле оказалось - пшик.
Что касается ООП, то если уж там его и юзать, то от той кучи виртуальных методов и проходного наследования можно смело отказаться в пользу паттернов, того же "состояния", "стратегии", "фасад". Тогда не будет дичи "надо даблклик - наследуемся от этого класса, не надо даблклик - наследуемся от другого". К тому же вводные задачи сами по себе подразумевают наличие HAL, и не так, как это попыталась нацарапать Логика.
Т.е., с архитектурной точки зрения, совершенно прозрачно напрашиваются следующие сущности:
1. HAL
2. Состояние
3. Стратегия.
Стратегий может быть овердохрена, и применять их можно к состоянию в бесконечном кол-ве вариантов, на примере тупого псевдокода в лоб "нужен/не нужен даблклик":
Вот это - ООП, и то, прошу заметить - тупые непродуманные наброски без претензий. Но уже здесь прослеживается полное разделение способов хранения, получения и работы с данными. А те каракули, которые были нассаны выше одним телом - они от нарциссизма и упивания своей "исключительностью". Я же говорю - чморят в коллективе, видимо.
Незнаю. Помоему писать "универсальную клавиатуру" как то незачем, что ли... А уж если делать это для сообщества, то красивее использовать калбэки, все же событийную логику никто не отменял, уж если мы с объектами дружим, так пусть они и ведут себя как объекты.
Незнаю. Помоему писать "универсальную клавиатуру" как то незачем, что ли... А уж если делать это для сообщества, то красивее использовать калбэки, все же событийную логику никто не отменял, уж если мы с объектами дружим, так пусть они и ведут себя как объекты.
brokly, это не клавиатура - это просто кнопка, класс обработчика кнопки и класс-оболочка для администрирования 1+ кнопки.
калбеки я видел в одной из библиотек для кнопки - синтаксически не совсем красиво, много нужно ручками прописывать... а, так - набор готовых переменных.
по поводу того, что не нужно - я тоже думал, что короткие и длинные нажатия не нужны, оказалось, что - нужны.
Пойду валерианки выпью.... :(
Лучше фирменного среццтва от DetSimen.
Клапауций, а можно вопрос... Почему у тебя в "титановой кнопке" задержки заданы не дефайнами, а константами? Это просто вопрос, без наездов и подколок. Правда интересно.
по поводу того, что не нужно - я тоже думал, что короткие и длинные нажатия не нужны, оказалось, что - нужны.
Когда кнопок мало, нужны не только короткие и длинные клики, попы и пушы, но и даблклики , и удержания.
оказалось, что - нужны.
однозначно нужны, особенно если пинов мало и хочеться парой кнопкой целое меню с кучей действий делать.
Пойду валерианки выпью.... :(
Лучше фирменного среццтва от DetSimen.
Дык он не присылает, далеко видимо. У меня есть такое средство от тещи, но супруга жестко контролит неурочные возлияния :) Если так лечиться, то сопьешся нахрен...
Клапауций, а можно вопрос... Почему у тебя в "титановой кнопке" задержки заданы не дефайнами, а константами? Это просто вопрос, без наездов и подколок. Правда интересно.
ну, смотри - сейчас актуальная версия 14-я. на какую из них смотришь ты сейчас - я не знаю.
были версии и с дефайнами и константами - тогда я в меру своего незнания пытался найти компромисс между расходом оперативки и возможностью юзать раздельные настройки для разных экземпляров класса.
дефайны не позволяют сделать раздельные настройки - сейчас настройки у меня хранятся в переменных оболочки класса и передаются обработчику кнопки пакетом.
Жесть...
Я теперь вообще боюсь что либо писать в этом форуме... А то закидают тухлыми яйцами на тему непроффесианализма... Как начнут мордой по кочкам ООП возить приговаривая типа : "А кто это сделал, А ?"
Пойду валерианки выпью.... :(
Сделай катушку Мишина, стрессы снимает без химикатов )))
Когда кнопок мало, нужны не только короткие и длинные клики, попы и пушы, но и даблклики , и удержания.
однозначно нужны, особенно если пинов мало и хочеться парой кнопкой целое меню с кучей действий делать.
всё есть - но, уговаривают ещё автоповтор прикрутить.
ну, смотри - сейчас актуальная версия 14-я. на какую из них смотришь ты сейчас - я не знаю.
Я смотрел ту , которая в начале твоей темы.
Пойду валерианки выпью.... :(
Лучше фирменного среццтва от DetSimen.
Моё, с кедровыми арешками, адназначна лучше валерянки.
Чесного С и кедровки всем срачующимся!
тогда я в меру своего незнания пытался найти компромисс между расходом оперативки и возможностью юзать раздельные настройки для разных экземпляров класса.
дефайны не позволяют сделать раздельные настройки - сейчас настройки у меня хранятся в переменных оболочки класса и передаются обработчику кнопки пакетом.
Как вариант: отдельная структура настроек, передающаяся указателем в конструктор или метод: сколько разных настроек захотели, столько и структур, не надо будет держать в каждом классе настройки. Но тут надо смотреть по расходу памяти, т.к. указатель - тоже два байта, как ни крути.