Перейти к содержимому
Asior

Калькулятор

Рекомендуемые сообщения

Дело было вечером, делать было нечего... И тут я случайно зажал горячую клавишу калькулятора, и меня осенило! А ведь калькулятора то для ОС никто не писал еще!

Так появилась идея создания этого калькулятора. Что можно про него сказать? Базовый калькулятор который умеет выполнять стандартные математические операции.

2b2c9e8a02c018d91fce10fce6424b17.png

Требования к ОС:

  • Видеокарта 2 уровня и выше
  • Монитор 2 уровня и выше
  • Компьютер/сервер любого уровня с установленной OpenOS

Управление самое простое - мышкой.

При создании программы была взята статья Псевдографические интерфейсы в OpenComputers и на основе кода из неё был создан калькулятор.

Установка:

version 0.2

  • pastebin -get PaVaRGcd Calculator.lua
 

Исправлен баг с обработкой повторного нажатия

version 0.3



2e69dacb392c103ab51b4d211b0d60bd.png

Обновлена цветовая схема
Оптимизация кода
Слегка увеличен размер кнопок
Добавлена опция двойной операции (2+2+2 теперь считает)

 

P.S. Выражаю благодарность @Doob за статью. Если найдете какие-то баги, недочеты, или возникнут идеи по улучшению, я всех с радостью выслушаю.

 

 

Изменено пользователем Asior
Обновление до 0.3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
13 минут назад, monkey сказал:

В OpenOS калькулятор сделан удобнее

Но иногда так хочется графония ....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

было-бы круто через чат бокс калькулятор 

Изменено пользователем LoliFox

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, LoliFox сказал:

было-бы круто через чат бокс калькулятор 

Через чатбокс это просто. А тут графоний ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1J1ehx4.png

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, ECS сказал:

Ашыпка!1

Исправлено. Спасибо.

23.11.2018 в 16:22, Fingercomp сказал:

лучше было сделать, как на скриншоте.

Сделано. Немного не так как на скриншоте, но похоже.

Программа обновлена до версии 0.3 как теперь выглядит программа можете глянуть в теме под спойлером.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, ECS сказал:

...

Было бы забавно при ошибке писать "ЕГГОГ".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Kartze
25.11.2018 в 03:18, BrightYC сказал:

Было бы забавно при ошибке писать "ЕГГОГ".

Точно. 

Нам нужны еггоги. И обратная польская запись.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
45 минут назад, Kartze сказал:

Нам нужны еггоги. И обратная польская запись.

Нужна "обгатная" для полной гагмонии с еггогами в пгоггамме.

И тему надо пегеименовать в "калькулятог". С ггафическим интегфейсом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Totoro сказал:

И цвета надо не зелено-желтые - а красно-желтые.

Он же обновил её, под спойлером скрин есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, BrightYC сказал:

Он же обновил её, под спойлером скрин есть.

 

А, точно. Но это я просто на Ленина намекал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Осмелюсь предложить более удобный "алгоритм" вычисления для данного скрипта, в одну строчку и без условных операторов: 

 local success, result = pcall(load('return ' .. cmd))

 При нажатии на кнопки, формируется строка в переменную cmd, и после нажатия "=", если success, на экранчик выводится result.

Изменено пользователем N1nt3nd0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, N1nt3nd0 сказал:

Осмелюсь предложить более удобный "алгоритм" вычисления в одну строчку и без условных операторов для данного скрипта: 


 local success, result = pcall(load('return ' .. cmd))

 При нажатии на кнопки, формируется строка в переменную cmd, и после нажатия "=", если success, на экранчик выводится result.

Выше уже предлагалось запускать lua_shell. И если делать на load/pcall, то предлагаю добавить ещё и assert, чтобы информировать пользователя не только об ошибках выполнения, но и о синтаксических ошибках тоже:

local success, result = pcall(assert(load('return ' .. cmd)))

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...