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

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

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

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

Сообщение yantux » 19.12.2010 02:52:23

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

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

Да и вообще интересно узнать сторонне мнение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

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

Сообщение Иван Шихалев » 19.12.2010 05:03:54

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

При размере экрана 1024x768 и меньше — неработоспособно.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

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

Сообщение Maxizar » 19.12.2010 12:37:36

Сразу не работало, но закомментировав в проекте (файл 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)) То смело предлагайте тестировать.
И еще, если сделаете разбор различных систем счисления, то это будет высший пилотаж...
Кто-то скажет мол для этого есть другие инструменты и все такое, мол используйте скрипты. ... я промолчу.
Сами представьте будет модуль, именно для разбора мат функций, поверьте это очень нужная вещь...
По идее нужно сделать движок (самое сложное), а функции добавлять как дополнения, это позволит расширять функционал до небывалых границ..
А вот разработать такой движок нужно очень много сил. (это почти компилятор самому написать)
Если хватить сил доделать все до конца то будет просто класс.
Удачи.
Maxizar
постоялец
 
Сообщения: 385
Зарегистрирован: 20.03.2010 19:48:14

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

Сообщение yantux » 19.12.2010 14:18:19

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

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

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



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

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

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


Качества моего калькулятора:
1. наличие лога
2. простой интерфейс - нет необходимости разрабатывать и читать документацию
3. наличие стандартных функций, но больше, чем в стандартных простых калькуляторах
4. ориентация интернфекйса на кнопки, ввод с клавиатуры - только цифры
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

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

Сообщение Polugut » 19.12.2010 21:57:31

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

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

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

Сообщение hinst » 19.12.2010 23:03:13

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

Вот этО вот что такое? Кто тебя, автор, научил так стрёмно писать?
Код: Выделить всё
   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 его продправляет. не знаю, каким бб'шным тэгом его сделать, чтобы все пробелы сохранились, как надо
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

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

Сообщение qivi » 19.12.2010 23:35:08

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


Memo1.ReadOnly:=true;
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

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

Сообщение GAMER » 19.12.2010 23:38:47

В студенческие годы писал расчет значения функции введенной как строка. Еще на ТР7.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

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

Сообщение GrayEddy » 20.12.2010 10:36:23

Введение в теорию синтаксического анализа http://delphikingdom.com/asp/viewitem.asp?catalogid=10
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

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

Сообщение Odyssey » 20.12.2010 13:40:39

А в соседней ветке разрабатывают интерпретатор для php. И там, похоже, уже есть синтаксический анализатор с разбором и операций, и скобок. Не хватает как раз библиотеки функций, в том числе математических.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

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

Сообщение yantux » 21.12.2010 02:24:23

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. наличие лога
не подготовленный пользователь должен освоить быстро "запустил и работай"
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

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

Сообщение trius-strannik » 21.12.2010 12:25:55

Однако, не всегда набирать команды "мышью" быстрее - лишние телодвижения, но для справки оставить кнопкиможно.
Аватара пользователя
trius-strannik
новенький
 
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск

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

Сообщение stikriz » 21.12.2010 13:53:38

Можно сделать компонент для лазаруса и редактор числового значения с кнопочкой и там калькулятор. Многим пользователям нравится.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

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

Сообщение yantux » 22.12.2010 00:48:24

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


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

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


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

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

Сообщение rellai2 » 18.01.2011 22:10:52

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

на базе этого сделал превью калькулятора ))) наподобии "чиста калькулятор"
Если кому интересно присоеденяйтесь )
calc.zip
rellai2
постоялец
 
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45


Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

Рейтинг@Mail.ru