Автор Тема: Калькулятор с поддержкой скинов  (Прочитано 20965 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
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, как наиболее полный.

(нажмите для показа/скрытия)

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

(нажмите для показа/скрытия)

Файл: AU3, EXE

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

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


Источник: 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]

« Последнее редактирование: Декабрь 08, 2013, 18:37:12 от Yashied »


Думай, прежде чем говорить.

Русское сообщество AutoIt

Калькулятор с поддержкой скинов
« Отправлен: Март 06, 2010, 15:50:51 »

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Калькулятор с поддержкой скинов
« Ответ #1, Отправлен: Март 06, 2010, 16:23:13 »
Очень красиво! Отличная работа

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Калькулятор с поддержкой скинов
« Ответ #2, Отправлен: Март 09, 2010, 22:23:28 »
Обновил программу до версии 1.2.

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

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

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3573
  • Репутация: 923
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Калькулятор с поддержкой скинов
« Ответ #3, Отправлен: Март 10, 2010, 08:50:18 »
Спасибо Yashied!
Просто великолепно!



Скорблю и помню.




Русское сообщество AutoIt

Re: Калькулятор с поддержкой скинов
« Ответ #3 Отправлен: Март 10, 2010, 08:50:18 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Калькулятор с поддержкой скинов
« Ответ #4, Отправлен: Март 10, 2010, 10:10:53 »
Может кто-нибудь предложит свой скин для пополнения коллекции?
« Последнее редактирование: Март 10, 2010, 15:36:46 от Yashied »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Калькулятор с поддержкой скинов
« Ответ #5, Отправлен: Март 14, 2010, 03:32:32 »
Обновил программу (версия не изменилась). Теперь при вставке данных из буфера обмена производится вычисление выражения (если возможно). Например, при вставке строки "(5 + 5) * 10", в калькулятор будет вставлено "100". Как оказалось, очень полезная штука!

Оффлайн Medic84 [?]

  • Администратор
  • *
  • Сообщений: 1414
  • Репутация: 303
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Калькулятор с поддержкой скинов
« Ответ #6, Отправлен: Март 14, 2010, 11:04:01 »
Может приведешь пример, как должен выглядеть .ini файл и строение файлов в папке? Как же скин тогда писать? :)

   
На форуме принято отмечать полезные сообщения пальцем вверх =)
Никогда не даю подробных примеров сразу, я сначала навожу на мысль - как можно написать. Учитесь мыслить сами, а не за других людей.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Калькулятор с поддержкой скинов
« Ответ #7, Отправлен: Март 14, 2010, 12:28:23 »
Я это писал в самом начале. :)

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

Русское сообщество AutoIt

Re: Калькулятор с поддержкой скинов
« Ответ #7 Отправлен: Март 14, 2010, 12:28:23 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Калькулятор с поддержкой скинов
« Ответ #8, Отправлен: Март 17, 2010, 00:36:48 »
Обновил программу до версии 1.3.

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

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

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3573
  • Репутация: 923
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Калькулятор с поддержкой скинов
« Ответ #9, Отправлен: Март 17, 2010, 06:38:19 »
Скин для калькулятора.

Name: Dark Project
Discription: Skin for Calculator v1.3 © 2010 Yashied
(нажмите для показа/скрытия)
В нём есть три кнопки, которые не функционируют. Но я надеюсь, что функционал калькулятора будет расширяться!  :)
Жду ваших комментариев!
« Последнее редактирование: Март 17, 2010, 06:49:32 от Garrett »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Калькулятор с поддержкой скинов
« Ответ #10, Отправлен: Март 17, 2010, 10:29:33 »
Хорошо сделано, спасибо. Скин поставил в шапку.

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

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

:beer:

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3573
  • Репутация: 923
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Калькулятор с поддержкой скинов
« Ответ #11, Отправлен: Март 17, 2010, 22:49:00 »
Yashied  [?]
Цитировать
Хорошо сделано...
Спасибо! :beer:
Yashied  [?]
Цитировать
Конечно, я добавлю эти кнопки и многие другие.
Отлично, буду ждать!

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Калькулятор с поддержкой скинов
« Ответ #12, Отправлен: Март 18, 2010, 01:22:02 »
Обновил программу до версии 1.4.

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

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

VitAl2013

  • Гость
Re: Калькулятор с поддержкой скинов
« Ответ #13, Отправлен: Апрель 01, 2010, 08:57:01 »
У меня он не запускается, но висит в процессах и кушает 6-8% от проца. Запускал и билдилдил на 3.3.6.0. Скачал "утилиты" запустил compile.cmd, указал Aut2Exe - получил Error Line 0.
« Последнее редактирование: Апрель 01, 2010, 09:03:20 от VitAl2013 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Калькулятор с поддержкой скинов
« Ответ #14, Отправлен: Апрель 01, 2010, 11:06:31 »
У меня он не запускается, но висит в процессах и кушает 6-8% от проца. Запускал и билдилдил на 3.3.6.0. Скачал "утилиты" запустил compile.cmd, указал Aut2Exe - получил Error Line 0.

:wacko:

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

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

Русское сообщество AutoIt

Re: Калькулятор с поддержкой скинов
« Ответ #14 Отправлен: Апрель 01, 2010, 11:06:31 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
25 Ответов
13910 Просмотров
Последний ответ Июль 29, 2010, 23:48:12
от CreatoR
25 Ответов
14961 Просмотров
Последний ответ Июль 23, 2013, 00:38:25
от Astel064
5 Ответов
5520 Просмотров
Последний ответ Март 19, 2011, 22:42:53
от madmasles
21 Ответов
6961 Просмотров
Последний ответ Январь 11, 2012, 15:09:46
от Yashied
0 Ответов
1927 Просмотров
Последний ответ Октябрь 11, 2012, 07:03:03
от CreatoR
6 Ответов
3594 Просмотров
Последний ответ Июнь 09, 2013, 10:25:01
от damien2008
0 Ответов
1292 Просмотров
Последний ответ Май 02, 2013, 17:05:58
от CreatoR
13 Ответов
1873 Просмотров
Последний ответ Июнь 08, 2014, 01:31:16
от CreatoR
7 Ответов
4782 Просмотров
Последний ответ Апрель 15, 2015, 23:19:58
от CreatoR
1 Ответов
450 Просмотров
Последний ответ Август 15, 2016, 12:53:46
от Vovsla