Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Калькулятор моей мечты


DayGaykin ©   (03.08.17 14:41

Написал простой калькулятор, которым сам буду пользоваться.

Кнопок в калькуляторе нет, он просто считает выражения и представляет их в двух видах: в десятичном и в пользовательском.

Синтаксис - JavaScript. Поддерживаются функции объекта Math. Пользователь может сам определить функции.

В будущем, возможно, прикручу completion, но пока так.

Скриншот: https://pp.userapi.com/c639229/v639229334/32bfa/HAduAWNBfdY.jpg
Исполняемый Windows 32 бита: https://yadi.sk/d/Od8jmewN3LgRac
Исполняемый Linux 64 бита: https://yadi.sk/d/vSVb2-093LgRan
Исходники (Lazarus, включает оба исполняемых файла): https://yadi.sk/d/VxGa9g6B3LgRTp

Непосредственно подсчетом занимается библиотека besen: https://github.com/BeRo1985/besen/tree/master/src

И уже есть известная проблема: утечка памяти, если открывать и сохранять настройки. Дело в том, что besel иногда зависает при освобождении объекта, поэтому я убрал освобождение (пусть лучше память жрет, чем зависает). Прежде чем копаться в причинах, хочу испытать юзабилити на себе.


Юрий Зотов ©   (03.08.17 15:16[1]

Старшинство операций учитывается?


DayGaykin ©   (03.08.17 15:24[2]


> Юрий Зотов ©   (03.08.17 15:16) [1]
> Старшинство операций учитывается?

Конечно:
1+2*3 = 7


Kerk ©   (03.08.17 15:28[3]

А что он умеет чего не умеет гугл?


DayGaykin ©   (03.08.17 15:51[4]


> Kerk ©   (03.08.17 15:28) [3]
> А что он умеет чего не умеет гугл?

Запускаться без интернета:)

Ты можешь добавлять свои функции написанные на JS


Германн ©   (04.08.17 02:08[5]


> Калькулятор моей мечты


manaka ©   (04.08.17 09:19[6]


> А что он умеет чего не умеет гугл?


а что он умеет, чего не умеет Excel? )))


Читатель ©   (04.08.17 13:01[7]


> а что он умеет, чего не умеет Excel? )))

Лет 5 назад для себя написал калькулятор. Код парсера взял в инете, оболочку написал на MVC6.0++. Пользуюсь до сих пор, ничего сверхъестественного, но удобно. Excel тяжелый, пока он загрузится.. А тут в одном окошке формулу написал, типа 10+ 5552*4.2-111, он сразу посчитает.
Вроде мелочь и ерунда, но удобство в работе. Так что автора темы поддерживаю. :)


Kerk ©   (04.08.17 13:07[8]


> Читатель ©   (04.08.17 13:01) [7]

В адресную строку браузера пробовал свой пример вставлять? :)


Читатель ©   (04.08.17 13:20[9]


> В адресную строку браузера пробовал свой пример вставлять?
>  :)

Каждый делает так, как ему удобно. :)

У меня есть еще бзик иногда открывать Excel, заходить в VBA и там делать расчеты какие-то...
Debug.Print 1+2+3


Inovet ©   (04.08.17 13:59[10]

> [3] Kerk ©   (03.08.17 15:28)
> А что он умеет чего не умеет гугл?

> [6] manaka ©   (04.08.17 09:19)
> а что он умеет, чего не умеет Excel? )))

Прямо напрашивается продолжение:
А что он умеет чего не умеет Maple?

Так что поддерживаю. Сам пользуюсь стандартным Вин7, а в новых версиях Вин калькулятор изуродовали. И Casio FX-991EX, это я год назад его купил.


Читатель ©   (04.08.17 14:23[11]

Не знаю, на Win 8.1 калькулятор простенький, конечно на WinXP он более функциональный, но все же одинаково эмулятор обычного кнопочного... В Андроид аналогично. Лично для меня это не савсем удобно.


Inovet ©   (04.08.17 14:47[12]

> [11] Читатель ©   (04.08.17 14:23)
> на Win 8.1 калькулятор простенький, конечно на WinXP он
> более функциональный

На Вин7 самый лучший из стандартных. Но Casio - это просто фантастика, ну лет 20 назд, да и даже в нынешнее время я от него в восторге. А уж когда я в школе учился, мне бы такой...


Читатель ©   (04.08.17 16:23[13]


> На Вин7 самый лучший из стандартных. Но Casio - это просто
> фантастика, ну лет 20 назд, да и даже в нынешнее время я
> от него в восторге. А уж когда я в школе учился, мне бы
> такой...

В институте был у меня маленький какой-то миниатюрный. Я не знаю где там были батарейки или "солнечный" он был, но он еще после института работал. Но во время учебы я еще понял, что неудобно протыкивать кнопки, поэтому я для одной курсовой написал программу, которая делает расчеты и выводит на экран мне для записи в курсовую (принтера не было). Тем более что там и синусы были с косинусами, а на это крутой калькулятор нужен, но и с ним с дубу рухнешь все эти формулы считать...


ВладОшин ©   (04.08.17 16:33[14]

все равно удобнее в IDE или EMS..

написал
select  10+ 5552*4.2-111
выполнил, добил результатом
select  10+ 5552*4.2-111--23217.4

потом копи-паста, поправил немного, запустил, добил результатом
select  10+ 5552*4.2-112--23218.4

копи-паста, поправил немного, запустил
копи-паста, поправил немного, запустил

- ага, а на втором-третьем шаге было лучше.. Вернулся по списку на второй шаг.

И тут главное
Как в калькуляторе это сделать?


DayGaykin ©   (04.08.17 16:48[15]


> ВладОшин ©   (04.08.17 16:33) [14]
>

Интересно. Сейчас попробую сделать


Inovet ©   (04.08.17 16:59[16]

> [14] ВладОшин ©   (04.08.17 16:33)
> Как в калькуляторе это сделать?

В сабжевом? В Виндоус и в Casio есть история с редактированием, в Casio ещё и переменные можно использовать, ну и привычная запись мат выражений, как бы на бумаге записывал - дроби, степени, функции, корни и т.д. - всё выглядит естественно, разве что если сильно многоэтажно или длинно - на экране приходится прокручивать. В строчку тоже можно как в сабжевом и в Вин. А история - это очень удобно в калькуляторах, в Вин7 она по умолчанию отключена. И ещё в Вин логика обработки выражений разная для простого бухгалтерского режима и для инженерного.


DayGaykin ©   (04.08.17 17:05[17]


> Inovet ©   (04.08.17 16:59) [16]

У меня переменные тоже можно и даже функции:
https://pp.userapi.com/c837535/v837535690/4e85e/Tl9CA2z_euk.jpg


> ВладОшин ©   (04.08.17 16:33) [14]

Сделал по Ctrl+Enter добавление комментария с результатом. (см скриншот выше)
Чуть позже попробую на гит залить


Kerk ©   (04.08.17 17:17[18]

Я так тоже могу :)
$ node
> 2*2
4
> a = 1
1
> a * 2
2
> f = (x) => {return x*2}
[Function: f]
> f(45)
90
> .exit


Ладно, не буду портить вечеринку :)


DayGaykin ©   (04.08.17 18:00[19]


> Kerk ©   (04.08.17 17:17) [18]

Так лучше:
f = (x) => x*2


L_G ©   (04.08.17 19:32[20]

ок, и я своим доморощенным калькулятором поделюсь

сходства с Excel: много строк, формулы, ссылки, буквы A, B, C... (но как названия строк, а не колонок), есть сохранение/открытие файлов

отличия от Excel: быстрее запускается, названия строк можно менять, колонок только 3, входные числа и формулы - только во 2 колонке и всегда видны, вычисленные значения - в 3 колонке, ссылки только абсолютные, синтаксис формул - объединение си и паскаля

делал специально под себя, на появление хотя бы второго пользователя не претендую )

http://my-files.ru/m31m6o


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо