Calc - калькулятор

...
  • Под колибри? Сворачивается/разворачивается при нажатии NumLock? Тригонометрические фукции и разные системы счисления? :)
  • Да нет, просто в стандартном есть только кнопка закрытия. Вот я и решил попробовать привинтить к нему скин колибри.
    Насчет остального - не все сразу! ;)
  • Heavyiron
    Молодец, все мы начинали, с чего ни будь такого.
    Выложи для скачивания или слей мне, включим в следующий дистрибутив.
    mario79[dog]bk[dot]ru
    А для пущего интереса можешь еще попробовать изменить дизайн кнопок и оформления.
    Заодно узнаешь много нового и интересного.
  • Продолжение работ над калькулятором:
    1) несколько изменено оформление окна вывода результата ("+" не отображается, как не отображается и дробная часть в целом десятичном числе);
    2)цвет кнопки сброса изменен на красный;
    3)изменен цвет окна;
    4)исходники сократились ~ на 200 строк за счет использования макроса (в частности mcall от mike.dld)
    5)просто узнал для себя много нового ;)
    Вопросы, которые возникли по ходу:
    1)Обрабатываются ли в колибри клавиши Numpad-а и где можно взять ASCII-коды для них?
    2)Если при использовании meos_app_start не задавать какие-либо параметры (кол-во памяти для приложения, например) как распределяется память и решает ли новый менеджер памяти от halyavin-а проблемы, описанные Trans-ом в его "Опыте продолжительного общения"?
    3)Для реализации предложения camper-а (о запуске/закрытии калькулятора Numlockom) можно добавить, например в код панели процедуру обработки Numlocka и запуска калькулятора, или я глючу? Что-то похожее было с запуском календаря при клике на часах.
    Просьба высказываться, выслушаю любые предложения и по мере возможностей постараюсь их реализовать в коде;)

    P.S. Кстати, в оригинале калка от Вилле было обнаружено множество глюков и недоделок. Попробуйте ввести, например,
    цифр 9-10 в десятеричной системе счисления, потом разделите на любое число, чтобы получилась дробь. - Не получается!
    А еще растяните окно калькулятора вниз эдак вдвое и наберите любое число. Заметили появившиеся окошки?
  • Heavyiron wrote: 1)Обрабатываются ли в колибри клавиши Numpad-а и где можно взять ASCII-коды для них?
    2)Если при использовании meos_app_start не задавать какие-либо параметры (кол-во памяти для приложения, например) как распределяется память и решает ли новый менеджер памяти от halyavin-а проблемы, описанные Trans-ом в его "Опыте продолжительного общения"?
    3)Для реализации предложения camper-а (о запуске/закрытии калькулятора Numlockom) можно добавить, например в код панели процедуру обработки Numlocka и запуска калькулятора, или я глючу? Что-то похожее было с запуском календаря при клике на часах.
    1) Обычными функциями (№2) клавиатуры - коды совпадают с клавишами стрелок, Home, End и т.п. При изменении режима на чтение скан-кодов, похоже, можно различить, не пробовал.
    2) Не в курсе - всегда прописываю заголовок явно, через dd/db. Кстати, упакованная программа занимает до 20 кб памяти, так что в случае мелких программ нелишне сразу перераспределить память функцией 64.
    3) Конечно, можно!
    Vivat assembler et KolibriOS!
  • > willow
    3) Конечно, можно!
    А сложно ли? И если не очень сложно, то давай спробанем (насколько я понимаю, новая панель - твоя разработка?)!
    to Johnny B and ALL: Как только более-менее доведу его до ума, то обязательно сразу же выложу. Просто, углубившись в работу калькулятора, обнаружил столько багов, что уже не знаю, как ЭТО вообше работает :) В общем - огромный фронт работ!
  • упакованная программа занимает до 20 кб памяти
    Это верно для mexc,mxp*, но MtApPack старается без необходимости не увеличивать размер используемой памяти. Например, если есть куча (достаточно много) неинициализированных данных, то дополнительная память для распаковки будет прямо на месте этих данных (раз они неинициализированы, то можно забивать их чем угодно). Правда, если неинициализированных данных мало, размер памяти все же будет увеличен.
    Кстати, по поводу багов: с каких это пор cos(pi)=0?
  • с каких это пор cos(pi)=0?
    Это я отже заметил, правда еще не отловил
  • Heavyiron
    1) Смотри приложения keyascii и scancode в самой ОС. В меню они называются ASCII-КОДЫ и SCAN-КОДЫ, расположены на вкладке РАЗРАБОТКА.
    2) Насчет макросов я не знаю точно это к mike.dld, а вот внедрение менеджера памяти исправило многие старые глюки и соответственно механизм распределения памяти сейчас другой. Так что с этим проблем нет.
    3) Насчет NUMLOCK я не уверен, дело в том, что без проблем используется возврат кодов лишь от Ctrl, Alt и Shift. Их статус возвращается в отдельной функции. Все остальные кнопки возвращаются, только если приложение активно. Я, конечно, попытался решить некоторым образом (не самым лучшим) эту проблему, чтобы панель поддерживала те горячие комбинации, которые она сейчас поддерживает. Проблема еще в том, что Caps Lock, Scroll Lock и Num Lock это регистровые клавиши от их положения зависит генерируемый кнопками код, по этому их использование для подобных целей нежелательно.
    Лучше использовать комбинации ALT + функциональные клавиши.
    4) @PANEL это не разработка willow. В исходниках я размещаю файлы не по авторству, а по принципу кто их последним изменял. Панель это общее творение нас всех. Новое оформление, кнопки, звук из спикера, большинство горячих комбинаций клавиш (не все) - это сделал я. Это не хвастовство - просто констатация факта. Если хочешь знать, кто какие изменения вносил, читай Readme.txt и History.txt
  • Ок, исправлюсь! :)
  • Heavyiron wrote:> willow
    3) Конечно, можно!
    А сложно ли?
    А нужно ли? В будущем, когда кнопка NumLock будет работать таким образом, для которого она предназначается, я не хотел бы видеть калькулятор при её использовании...
    in code we trust
  • Думаю лучше сделать сворачивание/разворачивание калькулятора (после его запуска) клавишей нумлок (или сочетанием). вообще нужно сделать "shoucut-key manager" - программа после запуска анализирует некий файл настроек, после которого будет висеть в памяти и запускать программы при нажатии определённой комбинации клавиш. передо мной в написании такой проггаммы стоит один барьер - нет функции глобального получения событий клавиатуры (если не брать в счёт альт и контрол, кстати, чёт я не понял как ими пользоваться... вобщем (с) Марио... дайте объяснения ;) )
  • >mike.dld "А нужно ли?" - Может и вправду не нужно! В принципе хватает возможности запускать его так, как и теперь.
    "В будущем, когда кнопка NumLock будет работать таким образом, для которого она предназначается..." - А есть у кого наработки в этом направлении? Может мне тогда и не заниматься морокой с ASCII и scan-кодами Numpad, если скоро все исправится;)?
    Спасибо за интерес. Положение дел такое: исправляю обнаруженные глюки (по мере возможности), кое-что улучшаю - и ПОКА с калькулятором все. Продолжу грызть асм дальше на чем-нибудь другом :)! Потом, после "повышения квалификации", может и вернусь к калькулятору.
  • DoomEd Archangel
    Вообще то функции такой программы (shoucut-key manager) выполняет @PANEL, Правда, горячие комбинации прописаны в коде, и ни в каком файле их нет. Дело в том, что приходится анализировать и ASCII и SCAN коды.
    Вообще то функция независимого получения кодов клавиш уже есть, правда она используется исключительно для @PANEL.
    Был, правда, раньше глюк, когда фокус возвращался к несуществующему приложению при завершения активного приложения. Из-за этого функция переставала работать. Однако в следующей версии дистрибутива, который выйдет скоро присутствует ядро, в котором я не только сделал отображение разных скинов для активного и неактивных окон, но и предварительно сделал стек для сохранения последовательности переключения фокуса. Теперь он возвращается реальному приложения при завершении активного и не повисает в воздухе.
    Ты лучше доделай буфер обмена. ;-)

    Heavyiron
    Такая работа была начата mike.dld (светодиоды ведь загораются и гаснут, раньше не загорались), но не была закончена.
    Ты главное мне не забудь прислать последнее свое творение, чтобы я включил в дистрибутив, а то ты мне только первый самый прислал.
  • Who is online

    Users browsing this forum: No registered users and 8 guests