Сделал SimpleCalc - потестите плиз.

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Ответить
yantux
постоялец
Сообщения: 133
Зарегистрирован: 29.10.2007 15:02:33
Откуда: Санкт-Петербург
Контактная информация:

Сделал SimpleCalc - потестите плиз.

Сообщение yantux »

Во вложениях проект на Лазарусе SimpleCalc. Потестите плиз.
Я собирал и запускал под Win32, Linux.

Вопрос:
Какие ошибки?
Имеет ли смысл развивать приложение?
Чего не хватает?

Да и вообще интересно узнать сторонне мнение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Re: Сделал SimpleCalc - потестите плиз.

Сообщение Иван Шихалев »

Что это? Зачем это? Непонятно, чего тестить-то...

При размере экрана 1024x768 и меньше — неработоспособно.
Maxizar
постоялец
Сообщения: 385
Зарегистрирован: 20.03.2010 18:48:14

Re: Сделал SimpleCalc - потестите плиз.

Сообщение Maxizar »

Сразу не работало, но закомментировав в проекте (файл project1.lpr) вот это: {$R *.res} все собирается и работает… Пока функционала почти нет…
И развивать именно как калькулятор смысла нет.
А вот как модуль для расчета мат функций Да Да и еще раз Да…
А GUI (калькулятор) для тестирования этого модуля, в самый раз.

От себя как бы сказать лично:
Я для своей программы делал что то подобное, самое сложное это учет приоритета функций типа: 1+2*3, что нужно сперва умножить и лишь потом сложить…
Учет скобок типа: (1+2)*3, сначала нужно прибавить 1 к 2 и лишь потом умножить..
При добавлении функций типа: Cos(), я уже начал путаться со скобками :) можно конечно заменить в таких функциях () на [], но это будет не красиво. Так что как только вы сможете разобрать и посчитать хотя бы вот это выражение: Cos((234,5+Pi/2)*4)*Sin(2*Pi)/exp(arcsin(17)) То смело предлагайте тестировать.
И еще, если сделаете разбор различных систем счисления, то это будет высший пилотаж...
Кто-то скажет мол для этого есть другие инструменты и все такое, мол используйте скрипты. ... я промолчу.
Сами представьте будет модуль, именно для разбора мат функций, поверьте это очень нужная вещь...
По идее нужно сделать движок (самое сложное), а функции добавлять как дополнения, это позволит расширять функционал до небывалых границ..
А вот разработать такой движок нужно очень много сил. (это почти компилятор самому написать)
Если хватить сил доделать все до конца то будет просто класс.
Удачи.
yantux
постоялец
Сообщения: 133
Зарегистрирован: 29.10.2007 15:02:33
Откуда: Санкт-Петербург
Контактная информация:

Re: Сделал SimpleCalc - потестите плиз.

Сообщение yantux »

Как изначально появилась идея. В Линуксе и венде есть стандартные простые калькуляторы. Однако. как мне кажется они не очень удобные, да и функционал урезан. У меня был свой старый совдеповский мк-52 с внешей памятью и касио.

Идея калькулятора - простой и удобный для простых вычислений, ведение лога. Т.е. я чесно говоря пока не планирую работать со сложными формулами-для этого есть готовый более сложный софт. Т.е. я попытался устранить пробел между очень сложными калькуляторами и предельно простыми.

Добавлено спустя 3 минуты 10 секунд:
Maxizar писал(а):Сразу не работало, но закомментировав в проекте (файл project1.lpr) вот это: {$R *.res} все собирается и работает…



Интересно почему так?

Добавлено спустя 1 час 49 минут 55 секунд:
Скриншоты:

https://sourceforge.net/projects/yansim ... reenshots/


Качества моего калькулятора:
1. наличие лога
2. простой интерфейс - нет необходимости разрабатывать и читать документацию
3. наличие стандартных функций, но больше, чем в стандартных простых калькуляторах
4. ориентация интернфекйса на кнопки, ввод с клавиатуры - только цифры
Polugut
новенький
Сообщения: 19
Зарегистрирован: 25.02.2010 22:50:29

Re: Сделал SimpleCalc - потестите плиз.

Сообщение Polugut »

В Убунту (Лазарус 0.9.28.2-10, из реп) собралось без проблем.

Окно лога - это memo. как следствие там можно писать. Сначала пытался ввести в нем аргумент. Потом обнаружил внизу строку ввода. Наверное лучше лог сделать недоступным для редактирование (enabled:=false), либо передавать фокус при запуске программы строке ввода.
После указания необходимого действия приходится ползти мышкой, и нажимать на строку ввода. Наверное лучше добавить переход фокуса на строку после нажатия на кнопку действия ( Edit_Input_Data.SetFocus; ).
Если строка ввода содержит не число, то выдается ошибка отладчика. Можно поставить галочку "Игнорировать этот тип исключений", но лучше в программе учесть, что в строке может быть что угодно.
Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38
Контактная информация:

Re: Сделал SimpleCalc - потестите плиз.

Сообщение hinst »

чё-то стрёмно как-то... выглядит страшно, даже не вижу необходимости пояснять, почему. во-вторых, зачем было разбивать на столько маленьких модулей?

Вот этО вот что такое? Кто тебя, автор, научил так стрёмно писать?

Код: Выделить всё

   tcalc_cos = class(tcalc_funcs)
      public
      arg, result : extended;
      procedure button_enter; override;
      procedure button_reset; override;
      function get_descr : string; override;
      procedure button_select; override;
   end;     

мне больно смотреть :shock:
чёрт, хотел передать кусочек вашего стрёмного кода, а phpBB его продправляет. не знаю, каким бб'шным тэгом его сделать, чтобы все пробелы сохранились, как надо
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Re: Сделал SimpleCalc - потестите плиз.

Сообщение qivi »

Polugut писал(а):Наверное лучше лог сделать недоступным для редактирование (enabled:=false), либо передавать фокус при запуске программы строке ввода.


Memo1.ReadOnly:=true;
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Re: Сделал SimpleCalc - потестите плиз.

Сообщение GAMER »

В студенческие годы писал расчет значения функции введенной как строка. Еще на ТР7.
GrayEddy
постоялец
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Re: Сделал SimpleCalc - потестите плиз.

Сообщение GrayEddy »

Введение в теорию синтаксического анализа http://delphikingdom.com/asp/viewitem.asp?catalogid=10
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Re: Сделал SimpleCalc - потестите плиз.

Сообщение Odyssey »

А в соседней ветке разрабатывают интерпретатор для php. И там, похоже, уже есть синтаксический анализатор с разбором и операций, и скобок. Не хватает как раз библиотеки функций, в том числе математических.
yantux
постоялец
Сообщения: 133
Зарегистрирован: 29.10.2007 15:02:33
Откуда: Санкт-Петербург
Контактная информация:

Re: Сделал SimpleCalc - потестите плиз.

Сообщение yantux »

Polugut писал(а):В Убунту (Лазарус 0.9.28.2-10, из реп) собралось без проблем.

Окно лога - это memo. как следствие там можно писать. Сначала пытался ввести в нем аргумент. Потом обнаружил внизу строку ввода. Наверное лучше лог сделать недоступным для редактирование (enabled:=false), либо передавать фокус при запуске программы строке ввода.
После указания необходимого действия приходится ползти мышкой, и нажимать на строку ввода. Наверное лучше добавить переход фокуса на строку после нажатия на кнопку действия ( Edit_Input_Data.SetFocus; ).
Если строка ввода содержит не число, то выдается ошибка отладчика. Можно поставить галочку "Игнорировать этот тип исключений", но лучше в программе учесть, что в строке может быть что угодно.


Пофиксил:
memo - readonly
переключение фокуса
добавил логарифты
уменьшил размер окна

Добавлено спустя 1 минуту 9 секунд:
hinst писал(а):чё-то стрёмно как-то... выглядит страшно, даже не вижу необходимости пояснять, почему. во-вторых, зачем было разбивать на столько маленьких модулей?

Вот этО вот что такое? Кто тебя, автор, научил так стрёмно писать?

Код: Выделить всё

   tcalc_cos = class(tcalc_funcs)
      public
      arg, result : extended;
      procedure button_enter; override;
      procedure button_reset; override;
      function get_descr : string; override;
      procedure button_select; override;
   end;     

мне больно смотреть :shock:
чёрт, хотел передать кусочек вашего стрёмного кода, а phpBB его продправляет. не знаю, каким бб'шным тэгом его сделать, чтобы все пробелы сохранились, как надо


Скажите по делу, что собственно не так?

Добавлено спустя 1 минуту 37 секунд:
qivi писал(а):
Polugut писал(а):Наверное лучше лог сделать недоступным для редактирование (enabled:=false), либо передавать фокус при запуске программы строке ввода.


Memo1.ReadOnly:=true;

есть. сделано

Добавлено спустя 6 минут 57 секунд:
GAMER писал(а):В студенческие годы писал расчет значения функции введенной как строка. Еще на ТР7.


Я согласен, что это круто, но не подготовленному пользователю это не удобно, надо учиться осваивать.

Добавлено спустя 2 минуты 58 секунд:
GrayEddy писал(а):Введение в теорию синтаксического анализа http://delphikingdom.com/asp/viewitem.asp?catalogid=10


Это для реализации сложных выражений в калькуляторе. Я на это замахиваться пока не буду. Мой цель: увеличить функциональность стандартного простого калькулятора и сделать его удобнее без условжения для конечного не подготовленного пользователя.

Мой интерфейс ориентирован:
1. мат функции на кнопках
2. быстрый выбор функции мышкой
3. ввод цифр с клавиатуры
4. наличие лога
не подготовленный пользователь должен освоить быстро "запустил и работай"
Аватара пользователя
trius-strannik
новенький
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск

Re: Сделал SimpleCalc - потестите плиз.

Сообщение trius-strannik »

Однако, не всегда набирать команды "мышью" быстрее - лишние телодвижения, но для справки оставить кнопкиможно.
Аватара пользователя
stikriz
энтузиаст
Сообщения: 612
Зарегистрирован: 15.03.2006 08:37:47

Re: Сделал SimpleCalc - потестите плиз.

Сообщение stikriz »

Можно сделать компонент для лазаруса и редактор числового значения с кнопочкой и там калькулятор. Многим пользователям нравится.
yantux
постоялец
Сообщения: 133
Зарегистрирован: 29.10.2007 15:02:33
Откуда: Санкт-Петербург
Контактная информация:

Re: Сделал SimpleCalc - потестите плиз.

Сообщение yantux »

stikriz писал(а):Можно сделать компонент для лазаруса и редактор числового значения с кнопочкой и там калькулятор. Многим пользователям нравится.


Такое вроде есть, но оно урезанное.

Добавлено спустя 1 минуту 10 секунд:
trius-strannik писал(а):Однако, не всегда набирать команды "мышью" быстрее - лишние телодвижения, но для справки оставить кнопкиможно.


Для подготовленного поьзователя да. Обычному пользователю, надо проще. С клавиатуры проще набирать сложные выражения. Мышкой - простые.
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Re: Сделал SimpleCalc - потестите плиз.

Сообщение rellai2 »

GrayEddy писал(а):Введение в теорию синтаксического анализа http://delphikingdom.com/asp/viewitem.asp?catalogid=10

на базе этого сделал превью калькулятора ))) наподобии "чиста калькулятор"
Если кому интересно присоеденяйтесь )
calc.zip
Ответить