PlugIn Калькулятор -----==============----- *** Это не новая версия Калькулятора, а просто результат некоторых модификаций, *** сделанных другим автором. Все авторские права на код, за исключением сделанных *** модификаций, принадлежат изначальному автору (Cail Lomecb). --== Ver 3.25 ==-- * добавлена поддержка Windows 2000 и WindowsXP --== Ver 3.24 ==-- * Удалена поддержка Far2 * Исправлено: медленная перерисовка диалогов при вводе текста * Исправлено: настройки не сохранялись * Плагин переехал https://github.com/FarPlugins/Calculator --== Ver 3.23 ==-- * Исправлено: порнография с версией --== Ver 3.22 ==-- - Общее: * Обновление для текущей версии Far3 (stable build 2927+) * Обновление библиотеки ttmath с некоторыми исправлениями * Исправлено: перемещение курсора по файловой панели при закрытии калькулятора по ESC --== Ver 3.21 ==-- - Общее: * Обновление для текущей версии Far3 (dev.build 2728+) * Исправлена работа с большим буфером консоли (far /W) * Исправлено: после нажатия Enter в поле выражения калькулятора пропадал курсор * Исправлено: корректная очистка ошибки "expression error" после нажатия Enter * Исправлено: падение по _numer(NaN) или _denom(NaN) * Исправлено: проблемы точности вычислений в отдельных случаях ("30000-6649.23-23350.77") * Исправлена вставка в командную строку и редактор для Far3 * Исправлено: небольшие правки английских названий и переводов + Если убраны все диалоги преобразования, то начальное меню теперь не показывается --== Ver 3.20 ==-- !ВНИМАНИЕ! В этой версии файл calcset.csr существенно изменён! Перед обновлением сохраните из этого файла все ваши правки! Теперь все пользовательские изменения рекомендуется делать в отдельном файле user.csr (его нужно создать в той же папке) - Общее: * Исправлено: поправлена минимально-требуемая версия Far, пользователи ранних версий испытывали проблемы. * Исправлено: функции, определённые с ошибкой или пустые (), теперь не приводят к сбою и не используются. * Исправлено: в русском языке название меню "Dialogs" заменено на "Разделы". * Исправлено: при определённом размере консоли диалог преобразования единиц показывался не оптимально. * Исправлено: в некоторых случаях была не видна последняя цифра порядка числа. * Исправлено: иногда не работали унарные операторы. * Исправлено: вызов из унарного оператора такого же бинарного (). * Исправлено: символ _char(38) не отображался. * Исправлено переполнение при целочисленных преобразованиях ("factor(1e145)"). * Исправлено поведение функций без аргументов ("rnd()"). * Исправлено падение плагина, если между вызовами плагина был добавлен аддон. * При пустом поле ввода все результаты теперь очищаются. * Символ "=" в конце выражения при вычислениях в редакторе теперь обрабатывается корректно. * Язык калькулятора теперь берётся из настроек ФАРа (но язык можно и переопределить, указав в 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). + Ошибки вычислений аддонов теперь пишутся в соответствующих полях. - Разделы преобразования единиц и структура CSR файлов: + Сделана поддержка включения в calcset.csr других CSR файлов (формат: ). + Все разделы убраны из calcset.csr и выделены в отдельные файлы в папке bin/units/ + Все разделы переработаны и дополнены согласно предложениям пользователей. + Добавлены новые разделы вычисления температуры, дат и количества информации (units/temperature.csr, units/date.csr и units/info.csr). + Возможность переназначать уже определённые наборы (для коррекции стандартных наборов в пользовательских файлах). + Сделана возможность задания константного выражения в качестве множителя. + Возможность задания сложных выражений вместо множителя (с помощью output="" и input=""), примеры см. в файлах units/temper.csr и units/date.csr. + При задании выражения с помощью output="" действуют правила форматирования аддонов (фигурные скобки). + Улучшен подбор ширины колонок в диалоге преобразования. - Поддержка дробей: (ЭКСПЕРИМЕНТАЛЬНО! приближения на основе рациональных чисел, примеры см. в user-examples.csr) + Смешанные периодические десятичные дроби (новый format="rep" для addon и numeral). + Непрерывные дроби в линейной нотации, вида [a,b,c,d] (новый format="con" для addon и numeral). + Добавлены новые встроенные функции _numer(op0),_denom(op0) для поддержки простых смешанных дробей. + Добавлена встроенная функция _gcd(op0,op1) для наибольшего общего делителя. + Добавлены пользовательские функции gcd (НОД) и lcm (НОК). --== Ver 3.10 ==-- - Числа и Выражения: + Внедрён новый парсер выражений - теперь нет глюков, подобных "0x1e+0x2e", но на сверх-больших выражениях калькулятор теперь работает медленнее. + Внедрён новый парсер чисел с поддержкой регулярных выражений (regexps) и систем счисления - теперь формат чисел задаётся с помощью тэга в файле calcset.csr (см.примеры там же). В связи с этим, постфиксные операторы теперь больше не поддерживаются за ненадобностью. + Добавлен параметр приоритета для операторов (priority). + Сделан единый список операторов в файле calcset.csr + Основные битовые операции также переведены на BigNumbers (теперь можно делать так: 1<<100) * Операторы циклического битового сдвига (_ror, _rol) теперь работают только с типами фиксированной длины (_byte,_ushort,_uint,...) * Отображение чисел фиксированной длины (_byte,_ushort,_uint,...) в формате bin/oct/hex теперь по умолчанию дополняется нулями (можно отключить в настройках калькулятора в реестре: padZeroes). * Исправлена работа с большими _int64 - Аддоны: + Для аддонов в файле calcset.csr теперь используется специальный тэг + Добавлена возможность форматирования вывода аддона - вычисления производятся только для содержимого фигурных скобок {}, а остальное показывается в поле диалога. Примеры см. в файле 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. --== Ver 3.01b ==-- *** Это не новая версия Калькулятора, а просто результат некоторых модификаций, *** сделанных другим автором. Все авторские права на код, за исключением сделанных *** модификаций, принадлежат изначальному автору (Cail Lomecb). Совместимость с FAR 2.0 и последующими версиями (версия UNICODE). Добавлена поддержка Больших Чисел (192 бит на мантиссу и 32 бит на порядок) для всех мат. операций и преобразований систем счислений. Поддержка аддонов - пользовательских выражений, которые добавляются в общий список - См. секцию 'Addons' в файле calcset.csr (теперь он в формате UNICODE). --== Ver 3.0 ==-- Совместимость с FAR 1.70b3 - работает под ним и выше. С бетами первой и второй будет глючить. Соответственно выкинут весь код по поддержке диалогов - все рисуется фаром. Диалоги конвертации поддерживают в настройках различные языки - это задается идентификатором языка. При нажатии Ctrl-Enter в диалоге конвертации текущее значение будет вставлено в строку вычисления в самом калькуляторе. Его же можно нажать и в самом калькуляторе - значение будет вставлено в редактор или в командную строку. Calcset.csr подогнан под XML, написан DTD. В описании синтаксиса изменены названия констант: exp - экспонента light - скорость света grav - гравитация сделано чтобы не было конфликтов в синтаксисе. Добавлена функция CNK - число сочетаний из N по K --== Ver 2.9 ==-- Добавлена фича настраиваемых диалогов. Можно определить диалоги для конвертации и просмотра значений в любых единицах. Эти диалоги можно вызвать либо из меню плагинов, либо из уже загруженного калькулятора по F2. Переделан парсер. воспринимает различные типы чисел, итд. Снес Integral и Derived за бесполезностью. Отловлены кой-какие баги в кодах и определениях. --== Ver 2.8 ==-- Полностью перестроен парсер. Теперь возможна его полная настройка в файле CalcSet.Csr. Вы можете переопределить синтаксис и значение любых операторов, функций, констант, добавить свои определения. Сделал ездящее окошко. Что, нравится лялька? Юзайте. Добавил мышку. Увеличил точность рассчетов. --== Ver 2.65 ==-- По настойчивым вашим просьбам пришлось поменять "наиудобнейший" Feature - вычисление в редакторе по вводу "=". Теперь она работает чуть по-другому: видит заранее выделенное выражение, и с использованием макросов Alt=, AltH, AltO, AltB, хотя вы можете их переопределить. Так же по Агромным просьбам добавлены ShortCut-ы и так надоевшие всем CheckBox-ы заменены на RadioБатоны. --== Ver 2.6 release ==-- Добавлена возможность работы с пользовательскими функциями/константами. Изменен по мелочам разбор выражения. --== Ver 2.05 ==-- Добавлена поддержка Истории Ввода: Ctrl-Down. Добавлена функция Sign. Добавил вывод суффикса числа(h,o,b) при нажатии Enter - Спасибо Антону Стеблеву за поучительные лекции о значении checkbox-ов. Добавлены суффиксы Kb Mb Gb Tb - соответственно для перевода в Кило, Мега, Гига и Тера байты. Добавлена поддержка Far 1.6. Теперь возможен вызов калькулятора непосредственно из редактора. Во встроенном редакторе калькулятор может автоматически вычислять набранные в тексте выражения при вводе знака '='. Это не требует вызова главного модуля. (Смотрите Справка/Дополнительные возможности). Добавлены функции Cels, Fahr. --== Ver 2.01 ==-- Ввел поддержку функций с множественными аргументами. Добавил несколько новых функций. Теперь всего: 19 операций "||","&&","|","^","&","!=","==",">>","<<", ">","<","+","-","*","/","%","pow","~","!" 18 функций "Sin","Cos","Tg","Ctg","ArcTg","ArcSin", "ArcCos","Sqrt","Sqr","Ln","Lg","Log","Rad", "Grad","Sum","Avr","Integral","Derived" Абсолютно поменял структуру разбора выражения, теперь работает ужасно быстро, но при работе это все равно никак не сказалось, фактически при работе ускорения не происходит. Человеческое сообщение о некорректности выражения (различает виды ошибок). --== Ver 1.0b ==-- Теперь калькулятор использует цвета Far'а. - Сидел целое утро с больной головою :-) Добавил конфигурацию калькулятора - К обеду голова совсем разболелась :-) Калькулятор отлажен в Far 1.52, сохранение экрана теперь нормальное. Программа тестирована в Far 1.51 и 1.52. Практически все Far'овские функции заменены системными. Заработал быстрее, но не гарантирую полную совместимость с последующими версиями Far'а :-(