Что нового

Калькулятор с поддержкой скинов

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
AutoIt: 3.3.4.0
Версия: 1.4

Категория: Графика / GDI+, Математика

Описание: Простой 10-разрядный (не считая "-" и ".") калькулятор с поддержкой скинов и позволяющий производить основные математические операции, такие как сложение, вычитание, умножение деление. Так же возможна работа с памятью ("M+", "M-", "MC" и "MR"). Помимо этого, калькулятор поддерживает операции копирования и вставки (CTRL+C, CTRL+V), причем вставлять можно целые выражения, например "(5 + 5) * 10". В этом случае в калькулятор будет передан резултат вычисления, т.е. "100". Так как число ограничено 10 разрядами, то на экране будет выведен результат округления, но последующие операции с этим числом будут производиться без учета округления, например:

[8][9] -> 89
[/] -> 89
[7] -> 7
[*] -> 12.71428571
[2][1] -> 21
[=] -> 267 (вместо 12.71428571 * 21 = 266.9999999)

Вы можете скачать дополнительные скины для этого калькулятора, один из которых (Dark Classic) уже предустановлен в программу, т.е. калькулятор может работать без установки скинов. Для выбора дополнительных скинов щелкните на окне калькулятора правой кнопкой мыши и выберите пункт "Select skin...", а затем укажите путь к нужному скину (.ini файлу). При желании, Вы можете нарисовать свой собственный скин, в качестве SDK может быть использован скин Dark Classic, как наиболее полный.

Dark Classic (Default)
Автор: Jonas (адаптирован Yashied)



Orange Clouds
Автор: The Kapsules Team (адаптирован Yashied)



White XL
Автор: Yashied



White Minimal
Автор: Yashied



Dark Project
Автор: Garrett


Так же присутствует поддержка горячих клавиш для произведения расчетов с помощью клавиатуры. Ниже представлена таблица соответсвия кнопок калькулятора и их аналогов на клавиатуре (как для стандартного калькулятора в Windows). Стоит заметить, что, в отличии от скинов, изменить эти горячие клавиши нельзя.

Hotkeys.png

Файл: AU3, EXE

Используемые библиотеки: Icons.au3, Restart.au3, WinAPIEx.au3

Скриншот(ы):

Calculator.png

Источник: Calculator (оффициальный форум)
Автор: Yashied

Примечания:

  • Калькулятор может работать без каких-либо дополнительных скинов. Скин Dark Classic уже включен в программу по умолчанию и находится в ресурсах .exe файла.
  • Исходный код представлен для ознакомления. Т.к. программа использует дополнительные ресурсы, простой запуск скрипта (.au3) ничего не даст, сначала нужно скомпилировать его в исполняемый файл (.exe) при помощи compile.cmd, который, в свою очередь, испльзует необходимые утилиты. Дабы не раздувать размер файла, эти утилиты не включены в архив, скачать их нужно самостоятельно и положить в соответствующую папку.
  • Для выхода из программы можно нажать клавишу ESC, или щелкнуть правой кнопкой мыши на калькуляторе и выбрать в появившемся меню пункт "Exit", или переместить курсор в правый верхний угол окна программы и щелкнуть на появившейся кнопке "Close", хотя наличие и местоположение этой кнопки определяется установленным скином (см. скриншот).
  • Картинки для скинов могут быть в любом формате, который поддерживает Windows, включая картинки, содержащие прозрачность.
  • Для большей красоты можно использовать два недокументированных параметра, которые находятся в реестре по адресу "HKEY_CURRENT_USER\Software\Calculator". По умолчанию эти параметры не используются и равны нулю.

    FadeOut = (0..100)
    Позволяет задать эффект Fade In/Out во время старта/закрытия программы соответственно. Рекомендуемое значение - (5..20). 0 - не использовать эффект.

    TransOnInactive = (0..255)
    Устанавливает прозрачность для калькулятора, в случае его неактивности. Значение параметра TransOnInactive определяет уровень прозрачности. Рекомендуемое значение - 200. 0 - не использовать эффект.

  • Файл .ini, который определяет скин, должен содержать следующие секции, даже, если они не используются (могут быть пустыми). В противном случае, скин не загрузится и будет использован скин по умолчанию.

    [Info]
    [Background]
    [Icon]
    [Buttons]
    [Digits]
    [Display]

 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
Очень красиво! Отличная работа
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Обновил программу до версии 1.2.

Список изменений:

  • Добавлена поддержка буфера обмена, и соответственно возможность использования таких комбинаций клавиш, как CTRL+C и CTRL+V (см. список горячих клавиш).
  • Выйти из программы теперь можно с помощью клавиши ESC. Для очистки экрана калькулятора используется клавиша DEL (см. список горячих клавиш).
  • Добавлены два дополнительных скина: White XL и White Minimal (см. скриншоты).
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Спасибо Yashied!
Просто великолепно!
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Может кто-нибудь предложит свой скин для пополнения коллекции?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Обновил программу (версия не изменилась). Теперь при вставке данных из буфера обмена производится вычисление выражения (если возможно). Например, при вставке строки "(5 + 5) * 10", в калькулятор будет вставлено "100". Как оказалось, очень полезная штука!
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,576
Репутация
335
Может приведешь пример, как должен выглядеть .ini файл и строение файлов в папке? Как же скин тогда писать? :smile:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Я это писал в самом начале. :smile:

Yashied сказал(а):
Вы можете нарисовать свой собственный скин, в качестве SDK может быть использован скин Dark Classic, как наиболее полный.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Обновил программу до версии 1.3.

Список изменений:

  • Улучшен алгоритм загрузки и проверки скинов.
  • Улучшен алгоритм защиты от повторного запуска программы.
  • Немного изменен графический интерфейс для поддержки дополнительных возможностей скинов (пока недокументированы).
  • Немного улучшена производительность.
  • Исправлено несколько незначительных ошибок.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Скин для калькулятора.

Name: Dark Project
Discription: Skin for Calculator v1.3 © 2010 Yashied
DarkProject.jpg
В нём есть три кнопки, которые не функционируют. Но я надеюсь, что функционал калькулятора будет расширяться! :smile:
Жду ваших комментариев!
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Хорошо сделано, спасибо. Скин поставил в шапку.

Garrett сказал(а):
Но я надеюсь, что функционал калькулятора будет расширяться...

Конечно, я добавлю эти кнопки и многие другие. Благо скин не обязательно должен использовать все кнопки сразу, можно и вообще без них обойтись. Это обеспечивает совместимость скинов с разными версиями калькулятора.

:beer:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Обновил программу до версии 1.4.

Список изменений:

  • Добавлена поддержка следующих кнопок (только для дополнительных скинов) и соответствующих им горячих клавиш: "+/-", "%", "Sqrt", "X^2", "X^Y", "1/X" и "Backspace".
  • Добавлен новый скин - Dark Project (спасибо Garrett'у).
 
V

VitAl2013

Гость
У меня он не запускается, но висит в процессах и кушает 6-8% от проца. Запускал и билдилдил на 3.3.6.0. Скачал "утилиты" запустил compile.cmd, указал Aut2Exe - получил Error Line 0.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
VitAl2013 сказал(а):
У меня он не запускается, но висит в процессах и кушает 6-8% от проца. Запускал и билдилдил на 3.3.6.0. Скачал "утилиты" запустил compile.cmd, указал Aut2Exe - получил Error Line 0.

:wacko:

Причем здесь Aut2Exe? Я про нее ничего не говорил. Нужно скачать утилиты и положить их в папку Utilities в том виде, в котором они находятся в архиве (каждая утилита в своей папке), затем нужно запустить compile.cmd.

Можно запускать и из SciTE, но сначала нужно запустить .exe и выбрать любой дополнительный скин (не умолчальный), чтобы он сохранился в реестре. После этого открывайте .au3 в SciTE и жмите F5. Просто дефолтный скин находится в ресурсах файла, и до компиляции это работать не будет.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Обновил программу, версия осталась прежней.

Список изменений:
  • Исправлена ошибка, приводящая к утечке памяти.
  • Незначительные изменения кода.
 

FlatX007

Tattoo!
Сообщения
197
Репутация
35
Пользуюсь 1.2 ... вообще ни каких проблем не заметил :-[
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
FlatX007 сказал(а):
Пользуюсь 1.2 ... вообще ни каких проблем не заметил.

Она в последующих версиях всплыла. Это было в функции _WinAPI_UpdateLayeredWindowEx(). В версии 1.2 я ее не использовал.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Друзья, скажите, кто пользуется этим калькулятором, какой скин вам больше нравится.
 

Bloodrinker

<Блуждающий...>
Сообщения
228
Репутация
19
у меня стандартный стоит, больше всего нра) вот его еще бы в гаджеты рабочего стола как нибудь привинтить)
 
Верх