Сделал SimpleCalc - потестите плиз.
Модератор: Модераторы
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
Сделал SimpleCalc - потестите плиз.
Во вложениях проект на Лазарусе SimpleCalc. Потестите плиз.
Я собирал и запускал под Win32, Linux.
Вопрос:
Какие ошибки?
Имеет ли смысл развивать приложение?
Чего не хватает?
Да и вообще интересно узнать сторонне мнение.
Я собирал и запускал под Win32, Linux.
Вопрос:
Какие ошибки?
Имеет ли смысл развивать приложение?
Чего не хватает?
Да и вообще интересно узнать сторонне мнение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
Re: Сделал SimpleCalc - потестите плиз.
Что это? Зачем это? Непонятно, чего тестить-то...
При размере экрана 1024x768 и меньше — неработоспособно.
При размере экрана 1024x768 и меньше — неработоспособно.
Re: Сделал SimpleCalc - потестите плиз.
Сразу не работало, но закомментировав в проекте (файл 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)) То смело предлагайте тестировать.
И еще, если сделаете разбор различных систем счисления, то это будет высший пилотаж...
Кто-то скажет мол для этого есть другие инструменты и все такое, мол используйте скрипты. ... я промолчу.
Сами представьте будет модуль, именно для разбора мат функций, поверьте это очень нужная вещь...
По идее нужно сделать движок (самое сложное), а функции добавлять как дополнения, это позволит расширять функционал до небывалых границ..
А вот разработать такой движок нужно очень много сил. (это почти компилятор самому написать)
Если хватить сил доделать все до конца то будет просто класс.
Удачи.
И развивать именно как калькулятор смысла нет.
А вот как модуль для расчета мат функций Да Да и еще раз Да…
А GUI (калькулятор) для тестирования этого модуля, в самый раз.
От себя как бы сказать лично:
Я для своей программы делал что то подобное, самое сложное это учет приоритета функций типа: 1+2*3, что нужно сперва умножить и лишь потом сложить…
Учет скобок типа: (1+2)*3, сначала нужно прибавить 1 к 2 и лишь потом умножить..
При добавлении функций типа: Cos(), я уже начал путаться со скобками
И еще, если сделаете разбор различных систем счисления, то это будет высший пилотаж...
Кто-то скажет мол для этого есть другие инструменты и все такое, мол используйте скрипты. ... я промолчу.
Сами представьте будет модуль, именно для разбора мат функций, поверьте это очень нужная вещь...
По идее нужно сделать движок (самое сложное), а функции добавлять как дополнения, это позволит расширять функционал до небывалых границ..
А вот разработать такой движок нужно очень много сил. (это почти компилятор самому написать)
Если хватить сил доделать все до конца то будет просто класс.
Удачи.
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Сделал SimpleCalc - потестите плиз.
Как изначально появилась идея. В Линуксе и венде есть стандартные простые калькуляторы. Однако. как мне кажется они не очень удобные, да и функционал урезан. У меня был свой старый совдеповский мк-52 с внешей памятью и касио.
Идея калькулятора - простой и удобный для простых вычислений, ведение лога. Т.е. я чесно говоря пока не планирую работать со сложными формулами-для этого есть готовый более сложный софт. Т.е. я попытался устранить пробел между очень сложными калькуляторами и предельно простыми.
Добавлено спустя 3 минуты 10 секунд:
Интересно почему так?
Добавлено спустя 1 час 49 минут 55 секунд:
Скриншоты:
https://sourceforge.net/projects/yansim ... reenshots/
Качества моего калькулятора:
1. наличие лога
2. простой интерфейс - нет необходимости разрабатывать и читать документацию
3. наличие стандартных функций, но больше, чем в стандартных простых калькуляторах
4. ориентация интернфекйса на кнопки, ввод с клавиатуры - только цифры
Идея калькулятора - простой и удобный для простых вычислений, ведение лога. Т.е. я чесно говоря пока не планирую работать со сложными формулами-для этого есть готовый более сложный софт. Т.е. я попытался устранить пробел между очень сложными калькуляторами и предельно простыми.
Добавлено спустя 3 минуты 10 секунд:
Maxizar писал(а):Сразу не работало, но закомментировав в проекте (файл project1.lpr) вот это: {$R *.res} все собирается и работает…
Интересно почему так?
Добавлено спустя 1 час 49 минут 55 секунд:
Скриншоты:
https://sourceforge.net/projects/yansim ... reenshots/
Качества моего калькулятора:
1. наличие лога
2. простой интерфейс - нет необходимости разрабатывать и читать документацию
3. наличие стандартных функций, но больше, чем в стандартных простых калькуляторах
4. ориентация интернфекйса на кнопки, ввод с клавиатуры - только цифры
Re: Сделал SimpleCalc - потестите плиз.
В Убунту (Лазарус 0.9.28.2-10, из реп) собралось без проблем.
Окно лога - это memo. как следствие там можно писать. Сначала пытался ввести в нем аргумент. Потом обнаружил внизу строку ввода. Наверное лучше лог сделать недоступным для редактирование (enabled:=false), либо передавать фокус при запуске программы строке ввода.
После указания необходимого действия приходится ползти мышкой, и нажимать на строку ввода. Наверное лучше добавить переход фокуса на строку после нажатия на кнопку действия ( Edit_Input_Data.SetFocus; ).
Если строка ввода содержит не число, то выдается ошибка отладчика. Можно поставить галочку "Игнорировать этот тип исключений", но лучше в программе учесть, что в строке может быть что угодно.
Окно лога - это memo. как следствие там можно писать. Сначала пытался ввести в нем аргумент. Потом обнаружил внизу строку ввода. Наверное лучше лог сделать недоступным для редактирование (enabled:=false), либо передавать фокус при запуске программы строке ввода.
После указания необходимого действия приходится ползти мышкой, и нажимать на строку ввода. Наверное лучше добавить переход фокуса на строку после нажатия на кнопку действия ( Edit_Input_Data.SetFocus; ).
Если строка ввода содержит не число, то выдается ошибка отладчика. Можно поставить галочку "Игнорировать этот тип исключений", но лучше в программе учесть, что в строке может быть что угодно.
Re: Сделал SimpleCalc - потестите плиз.
чё-то стрёмно как-то... выглядит страшно, даже не вижу необходимости пояснять, почему. во-вторых, зачем было разбивать на столько маленьких модулей?
Вот этО вот что такое? Кто тебя, автор, научил так стрёмно писать?
мне больно смотреть
чёрт, хотел передать кусочек вашего стрёмного кода, а phpBB его продправляет. не знаю, каким бб'шным тэгом его сделать, чтобы все пробелы сохранились, как надо
Вот этО вот что такое? Кто тебя, автор, научил так стрёмно писать?
Код: Выделить всё
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;
мне больно смотреть
чёрт, хотел передать кусочек вашего стрёмного кода, а phpBB его продправляет. не знаю, каким бб'шным тэгом его сделать, чтобы все пробелы сохранились, как надо
Re: Сделал SimpleCalc - потестите плиз.
Polugut писал(а):Наверное лучше лог сделать недоступным для редактирование (enabled:=false), либо передавать фокус при запуске программы строке ввода.
Memo1.ReadOnly:=true;
- GAMER
- энтузиаст
- Сообщения: 627
- Зарегистрирован: 06.08.2008 13:41:07
- Откуда: Ужгород-Днепр, Украина
- Контактная информация:
Re: Сделал SimpleCalc - потестите плиз.
В студенческие годы писал расчет значения функции введенной как строка. Еще на ТР7.
Re: Сделал SimpleCalc - потестите плиз.
Введение в теорию синтаксического анализа http://delphikingdom.com/asp/viewitem.asp?catalogid=10
Re: Сделал SimpleCalc - потестите плиз.
А в соседней ветке разрабатывают интерпретатор для php. И там, похоже, уже есть синтаксический анализатор с разбором и операций, и скобок. Не хватает как раз библиотеки функций, в том числе математических.
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Сделал SimpleCalc - потестите плиз.
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;
мне больно смотреть
чёрт, хотел передать кусочек вашего стрёмного кода, а 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 - потестите плиз.
Однако, не всегда набирать команды "мышью" быстрее - лишние телодвижения, но для справки оставить кнопкиможно.
Re: Сделал SimpleCalc - потестите плиз.
Можно сделать компонент для лазаруса и редактор числового значения с кнопочкой и там калькулятор. Многим пользователям нравится.
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Сделал SimpleCalc - потестите плиз.
stikriz писал(а):Можно сделать компонент для лазаруса и редактор числового значения с кнопочкой и там калькулятор. Многим пользователям нравится.
Такое вроде есть, но оно урезанное.
Добавлено спустя 1 минуту 10 секунд:
trius-strannik писал(а):Однако, не всегда набирать команды "мышью" быстрее - лишние телодвижения, но для справки оставить кнопкиможно.
Для подготовленного поьзователя да. Обычному пользователю, надо проще. С клавиатуры проще набирать сложные выражения. Мышкой - простые.
Re: Сделал SimpleCalc - потестите плиз.
GrayEddy писал(а):Введение в теорию синтаксического анализа http://delphikingdom.com/asp/viewitem.asp?catalogid=10
на базе этого сделал превью калькулятора ))) наподобии "чиста калькулятор"
Если кому интересно присоеденяйтесь )
calc.zip
