Сразу скажу, что я сторонний разработчик и не имею отношения к оригинальной разработке плагина Калькулятор (и тем более не являюсь Игорем Русских).
Тем не менее, являюсь активным пользователем и поклонником Калькулятора by Cail Lomecb. И мне грустно, что этот проект, по всей видимости, более не разрабатывается своим автором.
А посему, надеясь не навлечь гнев автора этого замечательного плагина, рискну выпустить свою модифицированную версию (для 32-битных и 64-битных платформ).
Последняя версия (latest version):
Скачать! | Download!
https://github.com/FarPlugins/Calculator
Сам я не являюсь разработчиком плагинов для FAR (и никогда этим не занимался), поэтому прошу не судить строго.
(Также, если первоначальный автор будет возражать, мне придётся удалить эту тему).
Что сделано в первой версии 3.01b от 22.06.2009:
1. Плагин стал полностью юникодовым и совместимым с Far 2.0 (ну, по крайней мере, с текущим билдом 1007). В том числе, файлы помощи и calcset.csr. Естественно, совместимость с более ранними версиями Far утрачена.
2. Вся внутренняя математика плагина переведена с double на BigNumbers, что дало поддержку очень больших чисел с большой точностью (192 бит на мантиссу и 32 бит на порядок).
3. Добавлена поддержка "аддонов" - это пользовательские выражения, описываемые в секции 'Addons' файла calcset.csr, и отображаемые в реальном времени в виде дополнительных строчек при работе с калькулятором.
В качестве примера аддонов добавлен dBV, вычисляющий значение в децибелах амплитуды.
4. Исправлено несколько замеченных за годы работы глюков, включая небольшие утечки памяти, чуть подчищен код.
Историю изменений последующих версий смотрите в сообщениях ниже.
Ветка обсуждения плагина.
Надеюсь, кому-то эта версия покажется интересной...
Модифицированный Calc (orig. by Cail Lomecb) v3.*
- uncle-vunkis
- Posts: 72
- Joined: Thu 11 Jun, 2009 15:16
- Been thanked: 1 time
Модифицированный Calc (orig. by Cail Lomecb) v3.*
Last edited by uncle-vunkis on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Убрано “22” как под-номер версии
Reason: Убрано “22” как под-номер версии
- uncle-vunkis
- Posts: 72
- Joined: Thu 11 Jun, 2009 15:16
- Been thanked: 1 time
Re: Модифицированный Calc (orig. by Cail Lomecb) v3.10 (Far2.0)
Вышла новая версия плагина Модифицированный Calc (orig. by Cail Lomecb) v3.10 (Far2.0)!
Что нового в версии v3.10 (02.07.2009):
- Числа и Выражения:
Что нового в версии v3.10 (02.07.2009):
- Числа и Выражения:
- Внедрён новый парсер выражений - теперь нет глюков, подобных "0x1e+0x2e", но на сверх-больших выражениях калькулятор теперь работает медленнее.
- Внедрён новый парсер чисел с поддержкой регулярных выражений (regexps) и систем счисления - теперь формат чисел задаётся с помощью тэга <numeral> в файле calcset.csr (см.примеры там же). В связи с этим, постфиксные операторы теперь больше не поддерживаются за ненадобностью.
- Добавлен параметр приоритета для операторов (priority).
- Сделан единый список операторов в файле calcset.csr
- Основные битовые операции также переведены на BigNumbers (теперь можно делать так: 1<<100)
- Операторы циклического битового сдвига (_ror, _rol) теперь работают только с типами фиксированной длины (_byte,_ushort,_uint,...)
- Отображение чисел фиксированной длины (_byte,_ushort,_uint,...) в формате bin/oct/hex теперь по умолчанию дополняется нулями (можно отключить в настройках калькулятора в реестре: padZeroes).
- Исправлена работа с большими _int64
- Для аддонов в файле calcset.csr теперь используется специальный тэг <addon>
- Добавлена возможность форматирования вывода аддона - вычисления производятся только для содержимого фигурных скобок {}, а остальное показывается в поле диалога. Примеры см. в файле calcset.csr (в том числе формат 'hh:mm:ss').
- Исправлено: при вводе ошибочного выражения названия полей-аддонов теперь не исчезают.
- Повышена точность преобразования единиц (теперь не хуже чем у утилиты Converber).
- При переходе между полями ввода соответствующие числа выделяются (подсвечиваются) для облегчения ввода нового числа.
- Исправлено значение множителя скорости света, повышена точность некоторых других множителей и констант.
- Динамическое изменение размера окна при изменении размеров консоли (чем больше окно, тем больше цифр показывается).
- При нажатии Еnter на ошибочном выражении содержимое строки выделяется для облегчения ввода нового числа.
- При нажатии Enter на длинных выражениях результат показывается, по возможности, с первой цифры
- Поставлено явное ограничение на длину строки - 1024 символа (было неявное 512 символов).
- "Серый Enter" на дополнительной клавиатуре теперь работает так же как обычный Enter.
- Вместо "double" теперь по-честному пишется "big number", а сам _double теперь снова можно использовать при преобразованиях типов
- Для типа '_char' теперь дополнительно отображается символ, соответствующий коду
- Факториал теперь стал функцией _factor(), а не оператором.
- Функции гиперболического синуса и косинуса переименованы в 'sinh' и 'cosh' (вместо 'sh' и 'ch') во избежание конфликта с шестнадцатиричным числом 'ch'
- Исправлено: при повторных вызовах калькулятора не показывалась текущая выбранная радио-кнопка.
- Добавлен VERSION_INFO.
- uncle-vunkis
- Posts: 72
- Joined: Thu 11 Jun, 2009 15:16
- Been thanked: 1 time
Re: Модифицированный Calc (orig. by Cail Lomecb) v3.20
Вышла новая версия плагина Модифицированный Calc (orig. by Cail Lomecb) v3.20 (Far2.0, Far3.0a)!
Что нового в версии v3.20 (15.07.2011):
!ВНИМАНИЕ!
В этой версии файл calcset.csr существенно изменён!
Перед обновлением сохраните из этого файла все ваши правки!
Теперь все пользовательские изменения рекомендуется делать в отдельном файле user.csr (его нужно создать в той же папке)
- Общее:
Что нового в версии v3.20 (15.07.2011):
!ВНИМАНИЕ!
В этой версии файл calcset.csr существенно изменён!
Перед обновлением сохраните из этого файла все ваши правки!
Теперь все пользовательские изменения рекомендуется делать в отдельном файле user.csr (его нужно создать в той же папке)
- Общее:
- Исправлено: поправлена минимально-требуемая версия Far, пользователи ранних версий испытывали проблемы.
- Исправлено: функции, определённые с ошибкой или пустые (<func syntax="f"/>), теперь не приводят к сбою и не используются.
- Исправлено: в русском языке название меню "Dialogs" заменено на "Разделы".
- Исправлено: при определённом размере консоли диалог преобразования единиц показывался не оптимально.
- Исправлено: в некоторых случаях была не видна последняя цифра порядка числа.
- Исправлено: иногда не работали унарные операторы.
- Исправлено: вызов из унарного оператора такого же бинарного (<op syntax="/" mean="1 / op1"/>).
- Исправлено: символ _char(38) не отображался.
- Исправлено переполнение при целочисленных преобразованиях ("factor(1e145)").
- Исправлено поведение функций без аргументов ("rnd()").
- Исправлено падение плагина, если между вызовами плагина был добавлен аддон.
- При пустом поле ввода все результаты теперь очищаются.
- Символ "=" в конце выражения при вычислениях в редакторе теперь обрабатывается корректно.
- Язык калькулятора теперь берётся из настроек ФАРа (но язык можно и переопределить, указав <lang id=""/> в user.csr); также поддерживаются и другие языки посредством создания языковых файлов .lng и указания там двубуквенного кода языка.
- Пользовательские мофицикаторы Kb,Mb,Gb,Tb теперь не чувствительны к регистру.
- Поправлены функции kelv() и sec(), добавлены пользовательские функции lb(), gtg(), gctg(), gsec(), gcosec().
- Поправлены функции arcsin() и arccos(), добавлена встроенная функция _cos().
- Поправлена функция _rnd(), теперь она выдаёт по-настоящему псевдослучайное число.
- Добавлена функция curt() для кубического корня (со знаком).
- Добавлены функции даты/времени (jd, jdf, jdg, jdgf, utc, ansid, ratadie).
- Добавлены встроенные ф-ции конвертации float/double в бинарный формат IEEE-754 и обратно, а также для чисел Inf и NaN: _f2b(), _d2b(), _b2f(), _b2d(), _finf(), _fnan().
- Поддержка базовых арифметических операций с типами float и double и отображение Inf и NaN.
- При конвертации слишком большого(малого) числа во float/double теперь показываются ошибки переполнения.
- Для представлений чисел теперь используется параметр format вместо radix, с единым синтаксисом для numerals и addons.
- Возможность задания "ленивых" аргументов регулярных выражений в представлениях чисел ("/([0-9])([0-9])?/").
- Обновлена версия библиотеки поддержки больших чисел (ttmath) с исправлениями некоторых ошибок, включена ассемблерная оптимизация (для x86)
- Рефакторинг кода, связанный с Far API (совместимость с FAR 2.0 и FAR 3.0).
- Добавлен файл user-examples.csr с примерами дополнительных аддонов, операторов, представлений и т.д.
- Добавлено окно основных настроек калькулятора.
- Возможность отключения авто-обновления полей результата при вводе.
- Возможность задания чувствительного к регистру ввода.
- Дополнение нулями для чисел фиксированной длины (_char,_short,_int и т.д.).
- Опция включения автодополнения при вводе (по умолчанию отключена).
- Задание символов-разделителей:
- десятичная точка (точка/запятая);
- разделитель аргументов функций (запятая, точка с запятой);
- разделитель групп разрядов (только для основного режима калькулятора);
- опция учёта региональных настроек для точки/запятой/групп разрядов (по умолчанию выключена).
- Встроенные аддоны (dec/hex/oct/bin/exp) перенесены в файл calcset.csr, и ими можно управлять (отключать, менять порядок).
- Для объявлений аддонов введено новое поле format, которое задаёт систему счисления и формат для аддона (примеры в файлах calcset.csr и user-examples.csr).
- Ошибки вычислений аддонов теперь пишутся в соответствующих полях.
- Сделана поддержка включения в calcset.csr других CSR файлов (формат: <xi:include href="file.scr"/>).
- Все разделы убраны из calcset.csr и выделены в отдельные файлы в папке bin/units/
- Все разделы переработаны и дополнены согласно предложениям пользователей.
- Добавлены новые разделы вычисления температуры, дат и количества информации (units/temperature.csr, units/date.csr и units/info.csr).
- Возможность переназначать уже определённые наборы (для коррекции стандартных наборов в пользовательских файлах).
- Сделана возможность задания константного выражения в качестве множителя.
- Возможность задания сложных выражений вместо множителя (с помощью output="" и input=""), примеры см. в файлах units/temper.csr и units/date.csr.
- При задании выражения с помощью output="" действуют правила форматирования аддонов (фигурные скобки).
- Улучшен подбор ширины колонок в диалоге преобразования.
- Смешанные периодические десятичные дроби (новый format="rep" для addon и numeral).
- Непрерывные дроби в линейной нотации, вида [a,b,c,d] (новый format="con" для addon и numeral).
- Добавлены новые встроенные функции _numer(op0),_denom(op0) для поддержки простых смешанных дробей.
- Добавлена встроенная функция _gcd(op0,op1) для наибольшего общего делителя.
- Добавлены пользовательские функции gcd (НОД) и lcm (НОК).
- uncle-vunkis
- Posts: 72
- Joined: Thu 11 Jun, 2009 15:16
- Been thanked: 1 time
Re: Модифицированный Calc (orig. by Cail Lomecb) v3.21
Вышла новая версия плагина Модифицированный Calc (orig. by Cail Lomecb) v3.21 (Far2.0, Far3.0a)!
Что нового в версии v3.21 (16.06.2012):
- Общее:
Что нового в версии v3.21 (16.06.2012):
- Общее:
- Обновление для текущей версии Far3 (dev.build 2728+)
- Исправлена работа с большим буфером консоли (far /W)
- Исправлено: после нажатия Enter в поле выражения калькулятора пропадал курсор
- Исправлено: корректная очистка ошибки "expression error" после нажатия Enter
- Исправлено: падение по _numer(NaN) или _denom(NaN)
- Исправлено: проблемы точности вычислений в отдельных случаях ("30000-6649.23-23350.77")
- Исправлена вставка в командную строку и редактор для Far3
- Исправлено: небольшие правки английских названий и переводов
- Если убраны все диалоги преобразования, то начальное меню теперь не показывается
- uncle-vunkis
- Posts: 72
- Joined: Thu 11 Jun, 2009 15:16
- Been thanked: 1 time
Re: Модифицированный Calc (orig. by Cail Lomecb) v3.22
Вышла новая версия плагина Модифицированный Calc (orig. by Cail Lomecb) v3.22 (Far2.0, Far3.0)!
Что нового в версии v3.22 (05.11.2012):
- Общее:
Что нового в версии v3.22 (05.11.2012):
- Общее:
- Обновление для текущей версии Far3 (stable build 2927+)
- Обновление библиотеки ttmath с некоторыми исправлениями
- Исправлено: перемещение курсора по файловой панели при закрытии калькулятора по ESC
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
Re: Модифицированный Calc (orig. by Cail Lomecb) v3.*
как-то так:
--== Ver 3.23 ==--
* Исправлено: порнография с версией
--== Ver 3.23 ==--
* Исправлено: порнография с версией
Last edited by HaRT on Tue 02 Jul, 2013 16:45, edited 1 time in total.
Reason: Убрано “22” как под-номер версии
Reason: Убрано “22” как под-номер версии
Модифицированный Calc (orig. by Cail Lomecb) v3.*
--== Ver 3.24 ==--
* Удалена поддержка Far2
* Исправлено: медленная перерисовка диалогов при вводе текста
* Исправлено: настройки не сохранялись
* Плагин переехал https://github.com/FarPlugins/Calculator
* Удалена поддержка Far2
* Исправлено: медленная перерисовка диалогов при вводе текста
* Исправлено: настройки не сохранялись
* Плагин переехал https://github.com/FarPlugins/Calculator
Модифицированный Calc (orig. by Cail Lomecb) v3.*
--== Ver 3.26 ==--
* Исправлено: некорректное отображение заблокированного edittext в FAR версии 5788 и новее
* Реализовано: вызов плагина из других диалогов
* Изменено: функция round = _floor(op0+0.5)
* Изменено: значение дюйма = 2.54
--== Ver 3.25 ==--
* добавлена поддержка Windows 2000 и WindowsXP
на плагринге или https://github.com/FarPlugins/Calculator/releases
* Исправлено: некорректное отображение заблокированного edittext в FAR версии 5788 и новее
* Реализовано: вызов плагина из других диалогов
* Изменено: функция round = _floor(op0+0.5)
* Изменено: значение дюйма = 2.54
--== Ver 3.25 ==--
* добавлена поддержка Windows 2000 и WindowsXP
на плагринге или https://github.com/FarPlugins/Calculator/releases
Last edited by ctapmex on Sun 30 May, 2021 19:37, edited 1 time in total.