Модифицированный Calc (original by Cail Lomecb), версия 3.22

Здесь можно обсудить ваш любимый плагин.
Post Reply
User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Модифицированный Calc (original by Cail Lomecb), версия 3.22

Post by uncle-vunkis »

В этой ветке ведётся обсуждение модифицированного плагина Калькулятор (первоначальный автор Игорь Русских aka Cail Lomecb).

Последняя версия - v3.22 (05.11.2012) (Анонс)

Скачать.

Просьба писать в эту ветку свои замечания и предложения.
Некоторое время я буду следить за этой веткой для обратной связи и поддержки.
Last edited by uncle-vunkis on Tue 06 Nov, 2012 22:12, edited 6 times in total.
dolzenko
Posts: 452
Joined: Wed 19 Apr, 2006 14:42
Location: Ростов-на-Дону

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by dolzenko »

Под 1.75 поедет?

Добавлено: извиняюсь, сам не знаю куда смотрю, очевидно, что нет: "Естественно, совместимость с более ранними версиями Far утрачена."
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by DrKnS »

Уникодный калк - это очень хорошо, но:

1.
uncle-vunkis wrote:Плагин стал полностью юникодовым и совместимым с Far 2.0 (ну, по крайней мере, с текущим билдом 1007)
а) Я вот тут смотрю - плагин собран с plugin.hpp от 2.0.958, чего уже достаточно для падения.
б) Все места в исходниках, подобные вот этому:
FarDialogItem fdi;
Info.SendDlgMessage(hdlg, DM_GETDLGITEM, param1, (long)&fdi);
- после 992 билда фатальны.

2. Есть подозрение, многим покажется интересной и x64-версия.

3. Давайте таки блюсти порядок - анонс в соответствующий форум, аттачи туда же, здесь только обсуждение.
User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by uncle-vunkis »

DrKnS wrote:б) Все места в исходниках, подобные вот этому:
FarDialogItem fdi;
Info.SendDlgMessage(hdlg, DM_GETDLGITEM, param1, (long)&fdi);
Будьте добры, поясните, почему именно этот фрагмент кода приведёт к падению (у меня лично не падает на 1007)?
DrKnS wrote:3. Давайте таки блюсти порядок - анонс в соответствующий форум, аттачи туда же, здесь только обсуждение.
Пардон, безусловно, реорганизую ветки как только Вы проясните ситуацию с DM_GETDLGITEM, и я смогу пересобрать плагин.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by Andrey Budko »

uncle-vunkis wrote:Пардон, безусловно, реорганизую ветки как только Вы проясните ситуацию с DM_GETDLGITEM, и я смогу пересобрать плагин.
zg 14.06.2009 23:03:14 +0200 - build 992

1. DM_FREEDLGITEM больше нет.
все плагины, использовавшие DM_GETDLGITEM/DM_FREEDLGITEM/DM_GETCONSTTEXTPTR/DM_GETDLGITEMSHORT/DM_SETDLGITEMSHORT - сломались.
DM_GETDLGITEM - изменён, Param2 указатель на память куда будет скопирован элемент. возвращается необходимый размер буфера.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by DrKnS »

uncle-vunkis wrote:почему именно этот фрагмент кода приведёт к падению
Потому что содержимое FarDialogItem.Param.PtrData записывается в конец структуры FarDialogItem, и, соответственно, память нужно выделять с запасом. Пример правильного использования есть во wrap.cpp.
у меня лично не падает на 1007
Затолкайте в диалог строку подлиннее - упадёт :)
User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by uncle-vunkis »

Спасибо DrKnS и Andrey Budko за помощь. Не успел выложить версию от 13-го числа, как API уже поменялся - просто не уследишь!.. :? Теперь, надеюсь, сделал всё правильно. А 64-битную версию собрать пока не могу (если кто скомпилирует по-быстрому - добавлю в дистрибутив).

Всем, скачавшим версию 3.01 от 13.06.2009, просьба скачать версию 3.01b с исправлениями для последних билдов Far Manager.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by Andrey Budko »

Так что, оно теперь не падает? Оригинальный калькулятор падал на каждый второй чих.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by John Doe »

calcset.csr wrote:

Code: Select all

<?xml version="1.0" encoding="Windows-1251"?>
Эта строчка во-первых не соответствует действительности, а во-вторых может ввести в заблуждение - будто поддерживаются кодировки отличные от 1200│ UTF-16
https://t.me/FarManager — Telegram чат
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by Andrey Budko »

Andrey Budko wrote:Так что, оно теперь не падает?
2 в степени 64 во всяком случае считает правильно - в точности как виндовый калькулятор :)

Старый калькулятор в первой из двух попыток вычислить 2 pow 64 - упал, а во второй - посчитал неправильно.
User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by uncle-vunkis »

Andrey Budko wrote:Так что, оно теперь не падает? Оригинальный калькулятор падал на каждый второй чих.
Как говорится, практика - критерий истины! :wink:
По крайней мере, я взялся за это дело в том числе и потому, что "старый" калькулятор любил падать при некоторых "неудобных" вычислениях, особенно со стапенями и экспонентами. Новый, естественно, от этого всего совершенно не падает и спокойно выдерживает, скажем, факториалы до 1000... :oops: Но гарантировать ничего не могу, и сам пока "гоняю" его, тестирую.
Приоритетная цель этой версии плагина - стабильность работы. Надеюсь, уважаемые форумчане присоединятся к тестированию и помогут этого добиться.
Эта строчка во-первых не соответствует действительности...
Вы правы, спасибо, исправлю в будущей версии...
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by Maximus5 »

А вот эти дополнения можно в вашу сборку включить?
User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by uncle-vunkis »

Maximus5 wrote:А вот эти дополнения можно в вашу сборку включить?
Конечно. "Серый Enter" добавлю. Насчёт "времени" - хочу сделать универсально, как "аддон", описываемый в calcset.csr. Т.е. хочу добавить поддержку задания "формата" вывода, только пока не решил как лучше. А вот мусор что-то не замечал - проверьте, пожалуйста, актуально ли это на этой версии?
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by Andrey Budko »

1. Добавляю в секцию Addons преобразования в градусы и радианы:

Code: Select all

   <!-- XXX: These are added to the calc outputs after 'bin', 'hex', 'oct'... -->
   <set name="Addons">
<!-- Decibel of amplitude, referenced to 1(V) -->
     <func syntax="dBV"   mean="20*(lg(op0))"/>
     <op syntax="dB"      mean="10 _pow ((op0)/20)"/>
     <func syntax="rad"   mean="(op0 * pi) / 180"/>
     <func syntax="deg"   mean="(op0 * 180) / pi"/>
   </set>
Вызываю калькулятор, ввожу "а" без кавычек - метки "rad", "deg" исчезают

Code: Select all

expr:a
expression error
 (•) dec:
 ( ) hex:
 ( ) oct:
 ( ) bin:
 ( ) exp: 0
 ( ) dBV: 0
 ( )      0
 ( )      0
2. Возможно будет удобней, если поле ввода в случае ошибки в выражении после нажатия на <Enter> будет очищаться (до состояния только что вызванного плагина) вместо появляющегося нуля и курсора после него. Ну или хотя бы выделять его, чтобы последующий любой инпут его заменил. Это поможет избавиться от лишних телодвижений по "отключению" восьмиричной ситемы.

Другими словами. Вызываем калькулятор, вводим asd, жмем <Enter>, получаем "0_" с пост эффектом восьмиричного ввода. Предлагаю либо очищать, либо выделять.
User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Re: Модифицированный Calc (original by Cail Lomecb), версия 3.01

Post by uncle-vunkis »

Andrey Budko wrote:1...2....
Принято! Будет в след.версии!
Post Reply

Return to “Обсуждение плагинов”