3 -----==============-----
4 *** Это не новая версия Калькулятора, а просто результат некоторых модификаций,
5 *** сделанных другим автором. Все авторские права на код, за исключением сделанных
6 *** модификаций, принадлежат изначальному автору (Cail Lomecb).
9 * добавлена поддержка Windows 2000 и WindowsXP
13 * Удалена поддержка Far2
14 * Исправлено: медленная перерисовка диалогов при вводе текста
15 * Исправлено: настройки не сохранялись
16 * Плагин переехал https://github.com/FarPlugins/Calculator
20 * Исправлено: порнография с версией
25 * Обновление для текущей версии Far3 (stable build 2927+)
26 * Обновление библиотеки ttmath с некоторыми исправлениями
27 * Исправлено: перемещение курсора по файловой панели при закрытии калькулятора по ESC
32 * Обновление для текущей версии Far3 (dev.build 2728+)
33 * Исправлена работа с большим буфером консоли (far /W)
34 * Исправлено: после нажатия Enter в поле выражения калькулятора пропадал курсор
35 * Исправлено: корректная очистка ошибки "expression error" после нажатия Enter
36 * Исправлено: падение по _numer(NaN) или _denom(NaN)
37 * Исправлено: проблемы точности вычислений в отдельных случаях ("30000-6649.23-23350.77")
38 * Исправлена вставка в командную строку и редактор для Far3
39 * Исправлено: небольшие правки английских названий и переводов
40 + Если убраны все диалоги преобразования, то начальное меню теперь не показывается
45 В этой версии файл calcset.csr существенно изменён!
46 Перед обновлением сохраните из этого файла все ваши правки!
47 Теперь все пользовательские изменения рекомендуется делать в отдельном файле user.csr (его нужно создать в той же папке)
49 * Исправлено: поправлена минимально-требуемая версия Far, пользователи ранних версий испытывали проблемы.
50 * Исправлено: функции, определённые с ошибкой или пустые (<func syntax="f"/>), теперь не приводят к сбою и не используются.
51 * Исправлено: в русском языке название меню "Dialogs" заменено на "Разделы".
52 * Исправлено: при определённом размере консоли диалог преобразования единиц показывался не оптимально.
53 * Исправлено: в некоторых случаях была не видна последняя цифра порядка числа.
54 * Исправлено: иногда не работали унарные операторы.
55 * Исправлено: вызов из унарного оператора такого же бинарного (<op syntax="/" mean="1 / op1"/>).
56 * Исправлено: символ _char(38) не отображался.
57 * Исправлено переполнение при целочисленных преобразованиях ("factor(1e145)").
58 * Исправлено поведение функций без аргументов ("rnd()").
59 * Исправлено падение плагина, если между вызовами плагина был добавлен аддон.
60 * При пустом поле ввода все результаты теперь очищаются.
61 * Символ "=" в конце выражения при вычислениях в редакторе теперь обрабатывается корректно.
62 * Язык калькулятора теперь берётся из настроек ФАРа (но язык можно и переопределить, указав <lang id=""/> в user.csr);
63 также поддерживаются и другие языки посредством создания языковых файлов .lng и указания там двубуквенного кода языка.
64 * Пользовательские мофицикаторы Kb,Mb,Gb,Tb теперь не чувствительны к регистру.
65 * Поправлены функции kelv() и sec(), добавлены пользовательские функции lb(), gtg(), gctg(), gsec(), gcosec().
66 * Поправлены функции arcsin() и arccos(), добавлена встроенная функция _cos().
67 * Поправлена функция _rnd(), теперь она выдаёт по-настоящему псевдослучайное число.
68 + Добавлена функция curt() для кубического корня (со знаком).
69 + Добавлены функции даты/времени (jd, jdf, jdg, jdgf, utc, ansid, ratadie).
70 + Добавлены встроенные ф-ции конвертации float/double в бинарный формат IEEE-754 и обратно, а также для чисел Inf и NaN:
71 _f2b(), _d2b(), _b2f(), _b2d(), _finf(), _fnan().
72 + Поддержка базовых арифметических операций с типами float и double и отображение Inf и NaN.
73 * При конвертации слишком большого(малого) числа во float/double теперь показываются ошибки переполнения.
74 * Для представлений чисел теперь используется параметр format вместо radix, с единым синтаксисом для numerals и addons.
75 + Возможность задания "ленивых" аргументов регулярных выражений в представлениях чисел ("/([0-9])([0-9])?/").
76 * Обновлена версия библиотеки поддержки больших чисел (ttmath) с исправлениями некоторых ошибок,
77 включена ассемблерная оптимизация (для x86)
78 * Рефакторинг кода, связанный с Far API (совместимость с FAR 2.0 и FAR 3.0).
79 + Добавлен файл user-examples.csr с примерами дополнительных аддонов, операторов, представлений и т.д.
81 + Добавлено окно основных настроек калькулятора.
82 + Возможность отключения авто-обновления полей результата при вводе.
83 + Возможность задания чувствительного к регистру ввода.
84 + Дополнение нулями для чисел фиксированной длины (_char,_short,_int и т.д.).
85 + Опция включения автодополнения при вводе (по умолчанию отключена).
86 + Задание символов-разделителей:
87 + десятичная точка (точка/запятая);
88 + разделитель аргументов функций (запятая, точка с запятой);
89 + разделитель групп разрядов (только для основного режима калькулятора);
90 + опция учёта региональных настроек для точки/запятой/групп разрядов (по умолчанию выключена).
92 + Встроенные аддоны (dec/hex/oct/bin/exp) перенесены в файл calcset.csr, и ими можно управлять (отключать, менять порядок).
93 + Для объявлений аддонов введено новое поле format, которое задаёт систему счисления и формат для аддона
94 (примеры в файлах calcset.csr и user-examples.csr).
95 + Ошибки вычислений аддонов теперь пишутся в соответствующих полях.
96 - Разделы преобразования единиц и структура CSR файлов:
97 + Сделана поддержка включения в calcset.csr других CSR файлов (формат: <xi:include href="file.scr"/>).
98 + Все разделы убраны из calcset.csr и выделены в отдельные файлы в папке bin/units/
99 + Все разделы переработаны и дополнены согласно предложениям пользователей.
100 + Добавлены новые разделы вычисления температуры, дат и количества информации
101 (units/temperature.csr, units/date.csr и units/info.csr).
102 + Возможность переназначать уже определённые наборы (для коррекции стандартных наборов в пользовательских файлах).
103 + Сделана возможность задания константного выражения в качестве множителя.
104 + Возможность задания сложных выражений вместо множителя (с помощью output="" и input=""),
105 примеры см. в файлах units/temper.csr и units/date.csr.
106 + При задании выражения с помощью output="" действуют правила форматирования аддонов (фигурные скобки).
107 + Улучшен подбор ширины колонок в диалоге преобразования.
108 - Поддержка дробей: (ЭКСПЕРИМЕНТАЛЬНО! приближения на основе рациональных чисел, примеры см. в user-examples.csr)
109 + Смешанные периодические десятичные дроби (новый format="rep" для addon и numeral).
110 + Непрерывные дроби в линейной нотации, вида [a,b,c,d] (новый format="con" для addon и numeral).
111 + Добавлены новые встроенные функции _numer(op0),_denom(op0) для поддержки простых смешанных дробей.
112 + Добавлена встроенная функция _gcd(op0,op1) для наибольшего общего делителя.
113 + Добавлены пользовательские функции gcd (НОД) и lcm (НОК).
118 + Внедрён новый парсер выражений - теперь нет глюков, подобных "0x1e+0x2e",
119 но на сверх-больших выражениях калькулятор теперь работает медленнее.
120 + Внедрён новый парсер чисел с поддержкой регулярных выражений (regexps) и систем счисления - теперь формат чисел задаётся с
121 помощью тэга <numeral> в файле calcset.csr (см.примеры там же). В связи с этим, постфиксные операторы
122 теперь больше не поддерживаются за ненадобностью.
123 + Добавлен параметр приоритета для операторов (priority).
124 + Сделан единый список операторов в файле calcset.csr
125 + Основные битовые операции также переведены на BigNumbers (теперь можно делать так: 1<<100)
126 * Операторы циклического битового сдвига (_ror, _rol) теперь работают только с типами фиксированной длины (_byte,_ushort,_uint,...)
127 * Отображение чисел фиксированной длины (_byte,_ushort,_uint,...) в формате bin/oct/hex теперь по умолчанию дополняется нулями
128 (можно отключить в настройках калькулятора в реестре: padZeroes).
129 * Исправлена работа с большими _int64
131 + Для аддонов в файле calcset.csr теперь используется специальный тэг <addon>
132 + Добавлена возможность форматирования вывода аддона - вычисления производятся только для содержимого фигурных скобок {},
133 а остальное показывается в поле диалога. Примеры см. в файле calcset.csr (в том числе формат 'hh:mm:ss').
134 * Исправлено: при вводе ошибочного выражения названия полей-аддонов теперь не исчезают.
135 - Диалог конвертера единиц:
136 + Повышена точность преобразования единиц (теперь не хуже чем у утилиты Converber).
137 + При переходе между полями ввода соответствующие числа выделяются (подсвечиваются) для облегчения ввода нового числа.
138 * Исправлено значение множителя скорости света, повышена точность некоторых других множителей и констант.
140 + Динамическое изменение размера окна при изменении размеров консоли (чем больше окно, тем больше цифр показывается).
141 + При нажатии Еnter на ошибочном выражении содержимое строки выделяется для облегчения ввода нового числа.
142 + При нажатии Enter на длинных выражениях результат показывается, по возможности, с первой цифры
143 + Поставлено явное ограничение на длину строки - 1024 символа (было неявное 512 символов).
144 + "Серый Enter" на дополнительной клавиатуре теперь работает так же как обычный Enter.
145 + Вместо "double" теперь по-честному пишется "big number", а сам _double теперь снова можно использовать
146 при преобразованиях типов
147 + Для типа '_char' теперь дополнительно отображается символ, соответствующий коду
148 + Факториал теперь стал функцией _factor(), а не оператором.
149 + Функции гиперболического синуса и косинуса переименованы в 'sinh' и 'cosh' (вместо 'sh' и 'ch')
150 во избежание конфликта с шестнадцатиричным числом 'ch'
151 * Исправлено: при повторных вызовах калькулятора не показывалась текущая выбранная радио-кнопка.
152 + Добавлен VERSION_INFO.
156 *** Это не новая версия Калькулятора, а просто результат некоторых модификаций,
157 *** сделанных другим автором. Все авторские права на код, за исключением сделанных
158 *** модификаций, принадлежат изначальному автору (Cail Lomecb).
159 Совместимость с FAR 2.0 и последующими версиями (версия UNICODE).
160 Добавлена поддержка Больших Чисел (192 бит на мантиссу и 32 бит на порядок)
161 для всех мат. операций и преобразований систем счислений.
162 Поддержка аддонов - пользовательских выражений, которые добавляются в общий список -
163 См. секцию 'Addons' в файле calcset.csr (теперь он в формате UNICODE).
170 Совместимость с FAR 1.70b3 - работает под ним и выше.
171 С бетами первой и второй будет глючить.
172 Соответственно выкинут весь код по поддержке диалогов - все рисуется
174 Диалоги конвертации поддерживают в настройках различные языки - это
175 задается идентификатором языка.
176 При нажатии Ctrl-Enter в диалоге конвертации текущее значение
177 будет вставлено в строку вычисления в самом калькуляторе. Его же
178 можно нажать и в самом калькуляторе - значение будет вставлено в
179 редактор или в командную строку.
180 Calcset.csr подогнан под XML, написан DTD.
181 В описании синтаксиса изменены названия констант:
183 light - скорость света
185 сделано чтобы не было конфликтов в синтаксисе.
186 Добавлена функция CNK - число сочетаний из N по K
191 Добавлена фича настраиваемых диалогов. Можно определить диалоги для
192 конвертации и просмотра значений в любых единицах.
193 Эти диалоги можно вызвать либо из меню плагинов, либо из уже
194 загруженного калькулятора по F2.
195 Переделан парсер. воспринимает различные типы чисел, итд.
196 Снес Integral и Derived за бесполезностью.
197 Отловлены кой-какие баги в кодах и определениях.
202 Полностью перестроен парсер. Теперь возможна его полная настройка
203 в файле CalcSet.Csr. Вы можете переопределить синтаксис и
204 значение любых операторов, функций, констант, добавить свои
206 Сделал ездящее окошко. Что, нравится лялька? Юзайте.
208 Увеличил точность рассчетов.
213 По настойчивым вашим просьбам пришлось поменять
214 "наиудобнейший" Feature - вычисление в редакторе по вводу "=".
215 Теперь она работает чуть по-другому: видит заранее выделенное выражение,
216 и с использованием макросов Alt=, AltH, AltO, AltB,
217 хотя вы можете их переопределить.
218 Так же по Агромным просьбам добавлены ShortCut-ы и так надоевшие всем
219 CheckBox-ы заменены на RadioБатоны.
222 --== Ver 2.6 release ==--
224 Добавлена возможность работы с пользовательскими функциями/константами.
225 Изменен по мелочам разбор выражения.
230 Добавлена поддержка Истории Ввода: Ctrl-Down.
231 Добавлена функция Sign.
232 Добавил вывод суффикса числа(h,o,b) при нажатии Enter - Спасибо
233 Антону Стеблеву за поучительные лекции о значении checkbox-ов.
234 Добавлены суффиксы Kb Mb Gb Tb - соответственно для перевода
235 в Кило, Мега, Гига и Тера байты.
236 Добавлена поддержка Far 1.6. Теперь возможен вызов калькулятора
237 непосредственно из редактора.
238 Во встроенном редакторе калькулятор может автоматически вычислять
239 набранные в тексте выражения при вводе знака '='. Это не требует
240 вызова главного модуля. (Смотрите Справка/Дополнительные возможности).
241 Добавлены функции Cels, Fahr.
246 Ввел поддержку функций с множественными аргументами.
247 Добавил несколько новых функций.
248 Теперь всего: 19 операций "||","&&","|","^","&","!=","==",">>","<<",
249 ">","<","+","-","*","/","%","pow","~","!"
250 18 функций "Sin","Cos","Tg","Ctg","ArcTg","ArcSin",
251 "ArcCos","Sqrt","Sqr","Ln","Lg","Log","Rad",
252 "Grad","Sum","Avr","Integral","Derived"
254 Абсолютно поменял структуру разбора выражения, теперь работает
255 ужасно быстро, но при работе это все равно никак не сказалось, фактически
256 при работе ускорения не происходит.
257 Человеческое сообщение о некорректности выражения (различает виды ошибок).
262 Теперь калькулятор использует цвета Far'а. - Сидел целое утро с
264 Добавил конфигурацию калькулятора - К обеду голова совсем разболелась :-)
265 Калькулятор отлажен в Far 1.52, сохранение экрана теперь нормальное.
266 Программа тестирована в Far 1.51 и 1.52.
267 Практически все Far'овские функции заменены системными. Заработал быстрее,
268 но не гарантирую полную совместимость с последующими версиями Far'а :-(