Внимание! Все вопросы по программам, отсутствующим в этом разделе, задавайте в теме Скорая помощь новичкам.
В ЭТОМ РАЗДЕЛЕ ТОЛЬКО КАТАЛОГ ПРОГРАММ! СОЗДАНИЕ ТЕМ С ВОПРОСАМИ ЗАПРЕЩЕНО!ПОИСК ПРОГРАММ. Новые темы необходимо создавать только в корневом разделе! В дальнейшем они будут обработаны модераторами.
Описание: IGCalc - легкий, компактный и удобный калькулятор выражений для Windows Mobile с пальцеориентированным интерфейсом, поддержкой скинов и всех разрешений экрана.
Основные возможности:
Выражение вводится полностью, как есть, и может быть отредактировано.
Результат появляется по мере ввода.
Сохраняется история введенных выражений.
Работает с буфером обмена (clipboard).
Поддерживает шестнадцатеричные, восьмеричные и двоичные числа как при вводе, так и при выводе результата.
Имеет встроенный конвертер основных мер длины, веса, объема, температуры и т.д.
Имеет встроенный калькулятор IP-подсетей.
Поддерживает пользовательские скины.
Поддерживает все разрешения экрана - 240x320 (QVGA), 480x640 (VGA), 240х400 (WiTu), 480х800 (HTC MAX 4G, HTC Touch HD), 320x320 (Samsung SGH-i780), 240x240.
Поддерживает назначение действий на аппаратные клавиши qwerty-клавиатур.
Крупные кнопки на экране легко нажимать пальцем.
История изменений:
Изменения и добавления в версии 2.0:
добавлена поддержка скинов (описание - в readme, входящем в комплект поставки);
добавлена поддержка VGA (разрешение 640x480), квадратных экранов с разрешением 320x320 (Samsung SGH-i780, Palm Treo Pro) и 240x240, широкоформатных экранов (разрешение 400x240, 800x480);
добавлена поддержка использования аппаратной клавиатуры;
добавлена возможность не сохранять историю;
конвертер - добавлены единицы измерения давления, мощности, расхода топлива;
исправлена ошибка сохранения отрицательных чисел в ячейках памяти;
язык интерфейса меняется "на лету", без необходимости перезапуска;
десятичный разделитель и разделитель тысяч берутся из региональных настроек (однако могут быть заданы и в явном виде);
программа осталась бесплатной, но если она Вам нравится, Вы можете поддержать проект, перечислив некоторую сумму на указанные ниже кошельки WebMoney:
WMZ319882099660
WMR695083964032
RBK Money:
RU994556005
Изменения и добавления в версии 1.6:
убраны точки контекстного меню, появлявшиеся при долгом нажатии на виртуальные кнопки;
сообщение "Error" выводится теперь только при математической ошибке, при синтаксической ошибке строка результата остается пустой;
при нажатии клавиши '=' результат не переносится в строку ввода, если строка результата пустая или содержит слово "Error";
при нажатии клавиш операций выражение, выделенное после переноса клавишей '=', не затирается, что делает более удобным использование результата в следующем выражении;
добавлена операция извлечения корня любой степени, синтаксис: n√x (корень n-й степени из x);
добавлена операция факториал, синтаксис: x! (при необходимости можно взять аргумент в скобки);
исправлена логика работы операций x * y% и x / y%.
Изменения и добавления в версии 1.5:
поддержка горизонтальной ориентации экрана во всех режимах работы калькулятора;undefined
поддержка русского языка (выбирается через настройки);
битовые операции "не", "и", "или", "исключающее или";
калькулятор IP-подсетей понимает задание маски подсети как в виде количества бит сетевой части, так и в виде октетов, разделенных точкой;
автоматически распознаются двоичные числа в IP-адресе и в маске подсети;
добавлена опция "Копировать результат в буфер обмена при выходе";
исправлена логика работы операции расчета процентов;
разные исправления и доработки.
Изменения и добавления в версии 1.4:
новая, более удобная для использования без стилуса раскладка;undefined
увеличенный размер клавиш;
увеличенный шрифт полей ввода и результата;
поддержка софт-клавиш WM5;
операции %, 1/x, взятие выражения в скобки;
калькулятор IP-подсетей для сетевых администраторов;
разные исправления и доработки.
Мини FAQ:Вычисление процентов
По просьбам пользователей выношу в шапку примеры вычисления процентов. Операция x + y%, x - y% Обозначает "к х прибавить (или отнять) y процентов от x". Пример. "К 200 прибавить 5%": 200 + 5% = 210 Операция x * y% Обозначает "Вычислить y процентов от x". Пример. "Вычислить 5% от 200": 200 * 5% = 10 Операция x / y% Обратная умножению операция. Обозначает "Вычислить, от какого числа надо взять y%, чтобы получилось x". Пример. "Вычислить, от какого числа 5% будет составлять 10": 10 / 5% = 200
я думаю нет :) А вот возможность навесить скины было бы здорово (чтоб кнопки под темы больше подходили) ;)
Ну, скины увеличат размеры программы, чего мне бы не хотелось. Однако резервов для уменьшения размеров еще тоже достаточно. Только так ли нужны скины, будут ли их делать?
В общем, если народ проявит заинтересованность в наличии скинов, я подумаю, как это реализовать.
Поддержка скинов явно не повредит программе, но не галочки ради, а чтобы можно было поиграться с размерами/расположением цифрового блока, контрастностью цветовой схемы и размером шрифта под себя. А описанные в шапке мульки бывают очень удобны, так, пользую похожий кальк на ББ - (The Calc 2.06) - доволен как слон. Еще бы поддержку профилей как там реализовать (финансовый-бухгалтерский-работа с датой-и т.п) реализовать...была бы вообще вещь
Сообщение отредактировал usandrew - 02.08.07, 18:13
igg, мне на самом деле оч. нехватает возможности увеличить шрифт в поле ввода и на кнопках. Когда быстро (или на ходу) чтонить считаешь, шрифт достаточно мелкий - невидно. Т.е. ноги скиннинга растут на самом деле от этого :) Но и внешний вид подогнать под своё "эстетическое восприятие" тоже хочется :)
Вообще, переделывать под скины много придется. Сейчас там вся клавиатура просто нарисована в ресурсах. Делал для себя, поэтому делал, как проще, лишь бы результат был тот, какой хочу :)
Как я это вижу. Скины будут позволять:
1. Задать внешний вид одиночной кнопки (два битмапа: кнопку для верхнего блока кнопок, а также кнопку для нижнего ряда - они там чуть меньше, если я правильно помню), а также битмап кнопки двойной ширины для ввода нуля;
2. Задать размеры шрифта поля ввода, поля результата, надписей на кнопках (несколько типов, т.к. цифры крупнее, надписи мельче, может, еще что-то понадобится отдельным размером сделать).
3. Положение и шаг сетки вернего и нижнего блока кнопок, положение поля ввода, результата, а также положение разделительной линии между блоками.
Примерно так это должно выглядеть. Это позволит, думаю, реализовать любые фантазии, связанные с внешним видом :) Единственное, с чем мне не хочется заморачиваться, что я не планирую пока - менять назначение кнопок. Думаю, менять размеры кнопок тоже особого смысла нет, но вдруг кому-то понравится - возможность такая будет, ибо размер кнопки в ресурсе может быть любым, лишь бы не больше текущего максимума.
AAlexey, Стандартные калькуляторы не расчитаны на вычисление выражений. Как ты представляешь себе запись в строке выражения с этим оператором '%'? Сделать-то его - не слишком большая проблема. Но что он должен делать? Просто делить число слева от знака % на 100? Бред получится. Ведь в вычислении процентов участвуют два числа.
igg В штатном калькуляторе этот операторе есть. Думал использовать этот калькулятор как замену. Обидно, но не получиться :-(. Используется он вместо равно, т.е. выглядит следующим образом: 110+10% - результат 121. 110*10% - 11
AAlexey, Ты, всё-таки, видимо, не очень внимательно читал вопрос, и не понял сути. Что ж, попробую объяснить еще раз.
Вот пример, в котором явно проявляется отличие обычного калькулятора от калькулятора выражений: 2+2*2 = ? Набирая "2 + 2 * 2 =" в обычном калькуляторе, получишь неверный результат = 8. В моем калькуляторе получится правильный ответ = 6.
Почему? Потому что обычный калькулятор выполняет действие в момент нажатия кнопки, поэтому сначала выполнит сложение, а потом умножение. Мой калькулятор видит всё выражение, знает о приоритетах операций, и выполнит сначала умножение. Если надо иначе - поставишь скобки: "(2+2)*2".
Теперь, вооруженный этим знанием, попробуй представить себе, как должно вычисляться выражение с процентами. И как должно выглядеть, записываться в составе произвольного более сложного выражения. У оператора % на самом деле два операнда, ибо любой процент - процент от чего-то. Поэтому, в принципе, выражение 100+10% должно писаться как "100 + 10%100" :) Но так никто не пишет, да и неудобно, дважды повторять число 100 придется. В выражении пишут обычно просто "100*1.10", и получают те самые 100 + 10% от 100, поскольку умножение на (1 + проценты/100) в математике и соответствует прибавлению процентов на калькуляторе. А простое деление на 100 соответствует "умножению процентов" на калькуляторе.
igg, я бы так сказал: калькулятору выражений не понятно от чего 10% прибавлять при такой записи 100 + 10% + 200. Потому что он рассчитывает строку целиком.
Added @ 03.08.2007, 09:15
PS: если используется польская инверсная запись, то он сначала к 200 прибавит 10%, но от чего?
CDK в твоем примере (100 + 10% + 200) должно получится 310. Мы уже вроде как в дебри начинаем лезти. Есть в штатном калькуляторе знак "%". Китайские погремушки тоже имеют эту хрень. На ББ уже несколько лет исползую NumLock Calculator, который по функциональности близок сабжу (т.е. историю, расчет из строки и т.п.). В нем тоже на ура проходит знак "%". Сам по себе сабж и замечательный. Для школьников, студентов, математиков он пойдет на ура. А остальным, кому нужно побыстрому расчитать проценты с чего либо (по кредиту, по банковским вкладам), заморачиваться не будут с написанием монстрообразных выражений.
igg В том же NumLock Calculator приведенный пример 2 + 2 * 2 тоже вычислеяется корректно. Т.е. там задумка точь в точь как у тебя. Но и проценты там прокатывают.
поэтому ИМХО, задумка хорошая, но для себя на данном этапе использовать не могу.
CDK Судя по всему от выражения стоящего левее от 10%.
Еще раз говорю. Это не моя прихоть. Я привел пример работающих калькуляторов где "%" работают. И не как в простых калькуляторах, где цифры и действия забиваются строго поочередно, а как в сабже, одной строкой. Т.е. я туда забиваю строкой "100 + 10% + 200 " и получаю результат.
И народ, давайте так. Чтоб не разводить тут флуд по поводу корректности записей, высшей матиматике и т.д. Если автор захочет, добавит, нет - его право, на то она и бесплатная прога. Свое мнение по поводу осутствия "%" я высказал ранее.
Я привел пример работающих калькуляторов где "%" работают. И не как в простых калькуляторах, где цифры и действия забиваются строго поочередно, а как в сабже, одной строкой. Т.е. я туда забиваю строкой "100 + 10% + 200 " и получаю результат.
хммм... ну в принципе это даже на полизе можно реализовать. Просто при парсинге вместо "+ 10%" в стек добавлять "* 1.1". igg ?
igg, разрубить эту проблему можно сделав "%" оператором остатка от деления как в Си ;) и еще мысль - можно сделать кнопку-макрос или в меню "fx", которая возьмет в скобки текущее выражение? или сейчас можно это действие как-то проще сделать, чем поставить курсор в начало, нажать "(" и поставить в конец и нажать ")" ?