Бета-релиз XQR2: Ultimate Innovation 1.1.0.2
BS: Сори за простыню))))
Скоро будет мощный калькулятор :)(я серьезно :))
Вообще, правильнее было бы назвать эту тему "Бета-опделывание XQR2", особенно если учесть контенгент форума и знаменитый топик Дефендера. Так вот, я все-таки решился показать здесь свой маленький калькулятор Homacosoft XQR2.
N месяцев назад я сюда выложил калькулятор Homacosoft XQR, который сначала досканально обстебал SteelBrand :), а уж потом пошли снисходительные топики))). Некоторое время (большое) после этого я его дорабатывал. В итоге (случайно :)) он
стал очень-очень жирной прогой с кучей возможностей. Более того, я сделал про него шестиминутный клип с небольшими спецэффектами и анонсировал XQR2 в УПИ на стройфаке в мае :)
Код программы и ее Setup сделаны исключительно на VB6 и VBScript без использования .NET Framework. - не знаю, думаю, это скорее плохо, чем понт, но все равно.
Проект большой - код XQR2 составляют ~50'000 строк; исходники оформления - более 100 картинок и 3D-моделей занимают больше гигабайта (даже иконку моделировал эксклюзивно и шейдер даже специальный для нее скачал :)); исходники
презентации-ролика - несколько гигабайт трехмерных сцен, резльтатов рендеринга, элементов монтажа и всякой всячины; код специально разработанного установщика - ~1800 строк и 500 Мб графических исходников; эксклюзивный Java - сайт (не
AJAX, я для этого слишком плохо пока знаю Java. Однако современные браузеры обычно сами понимают, что и когда надо догрузить :) ). Проект вместе с роликом я делал 9 месяцев один без чьей-либо помощи.
Скриншот: http://www.xqr2.com/xqr2black.png
Основные возможности:
• Функционал XQR2 очень просто освоить
• В XQR2 всегда вводятся английские буквы, независимо от раскладки. Это позволит совершать меньше ошибок.
• Подсчет одной строкой - просто вводите все выражение и нажмите Enter - получаете результат
• Отдельная экранная клавиатура - в отличие от других программ подобного рода, здесь клавиатуру можно отделить и поместить в любую часть экрана, или вообще отключить, тогда XQR2 станет простым дисплеем, и будет занимать совсем мало
места на экране
• Размер дисплея можно менять - можете выставить шрифт различного размера, чтобы было легче читать с дисплея. Ширина дисплея XQR2 подстраивается под размер выражения - опять же, он будет занимать минимум места
• Можно так же менять размер клавиатуры. Это особенно полезно для людей с ослабленным зрением или для коллективных расчетов
• Инновационная система NumberPush®, позволяющая легко моделировать функции и подбирать нужный результат. Берете число мышкой и тащите вверх или вниз - число меняетя вместе с функцией или результатом. А если тащить его влево или
вправо, то будет сдвигаться запятая.
• Вы можете не писать знак умножения: 15sin(28 – 14(12 – 3))
• XQR2 может вызываться сочетанием клавиш, каким - решать Вам. При этом он отсеивает ложные срабатывания во время игр. Об этом я митуйчан спрашивал в топике Game is coming.. В итоге решил просто смотреть изменение разрешения
экрана. Знаю, тупо, но работает в большинстве случаев.
• В программу уже встроены десятки алгебраических функций, констант и функций перевода величин
• Гибкая архитектура позволяет полностью менять работу калькулятора, подстраивать ее под себя (разумеется, при наличии определенных навыков)
• Интегрированный редактор стиля - полностью настраиваемый внешний вид, Вы можете сами создать собственное оформление и применить его к калькулятору
• Встроенный редактор клавиатур - экранные клавиатуры XQR2 можно создавать самим, причем в этом абсолютно нет ничего сложного
• Подсветка скобок и синтаксиса не позволит запутаться в сложном выражении
• XQR2 показывает подсказки по вводимой функции, подобно современным средам разработки программ
• Вы можете добавлять собственные алгебраические функции
• При добавлении функции конвертации величин обратная функция добавляется автоматически. Например, если вы добавите функцию MeterToFoot, то функция FootToMeter добавится автоматически
• Даже порядок цифр на цифровой клавиатуре меняется в настройках. А Вы замечали, что на цифровой клавиатуре компьютера и на телефоне цифры расположены по-разному?
• XQR2 умеет строить графики любых, даже самых сложных функций. Можно даже создать собственную функцию и построить ее график
• XQR2 умеет вычислять определенные интегралы - Вы выделяете часть функции, и получаете площадь криволинейной трапеции
• Встроенный простейший антивирус позволяет обнаруживать наиболее распространенный вид Autorun-вирусов. Тссс! Тихо! Это не то, что вы подумали :). Он простейший (как и, по вашему мнению, я). Он тупо проверяет наличие Autorun-
файлов в носителях. Функция весьма полезная для компов, в которых соответствующий сервиспак не стоит. Хотя таких все меньше. Разумеется, лапшу про эвристику и подобную лабуду я говорить не буду - ее там просто нет. Код
"антивирусного" модуля - 300 строк.
• XQR2 имеет функцию "быстрый запуск" - с ее помощью можно легко и быстро запускать любые программы. Достаточно вместо выражения ввести указанное ключевое слово
• XQR2 может оперировать с десятичными, шестнадцатеричными, восьмеричными, двоичными и римскими числами одновременно, не требуя при этом переключения в какой-либо специальный режим. Просто для каждой системы исчисления существует
свой префикс. Символ "@" означает двоичную систему исчисления, "#" - шестнадцатиричную, "&" - восьмеричную, а "~" - римскую. Так, чтобы сложить два двоичных числа, можно просто написать: "@1101 + @1011" или "@(1101 + 1011)". С помощью
скобок можно создавать сложные синтаксические конструкции с различными системами исчисления, например: @(1101 + 101 + #afc + ~(iv - xix + &(1711 - 143)) + 1102#(a0f + ff))/[#a^6]
• Если необходимо, XQR2 отображает результат в стандартном виде
• XQR2 спокойно отображает результат в виде обыкновенных дробей, причем в любой системе исчисления. Вы когда-нибудь видили двоичную обыкновенную дробь?
• XQR2 использует только одно ядро процессора - побочная прога все-таки. Не должна она жрать много. А вместо потоков я как-то спокойно обошелся DoEvents.
• Система распознавания игр - XQR2 знает, что когда пользователь играет, мешать ему не нужно.
• Пять ячеек памяти – в них можно хранить как числа, так и выражения
• Встроенные будильники – Вы можете добавить сколько угодно будильников, настроить их по дате, указать нужные действия, а так же выбрать оформление срабатывания
• Формы вычислений позволяют производить вычисления подобно таблицам Excel, не вводя сложных формул
• Заметки позволяют хранить все что угодно, быстро записать нужную информацию
• Удобный вкладочный интерфейс, в настоящее время весьма модный, позволяет легко получить доступ к дополнительным функциям программы: будильники, формы вычислений, заметки, конвертер величин, бильярд (появляется не сразу), сборщик
скриншотов и поиск в Интернет.
• Вкладка «Конвертация величин» позволяет упорядочить уже существующие функции конвертирования в удобный и наглядный интерфейс
• Функция снятия скриншотов – откройте вкладку «Скриншоты» и используйте клавишу PrintScreen, чтобы фотографировать экран
• Функция поиска в Интернет – вы можете производить поиск по интернет прямо внутри калькулятора
• XQR2 умеет складывать и вычитать время. Писать его нужно в фигурных скобках
• Множество мелких удобств. Например, если Вы выделите часть выражения и нажмете "(", то выделенная часть возьмется в скобки, если выделите часть выражения и нажмете Shift+Del, то удалится все, что не выделено, два идущих подряд
минуса при вводе анимированно заменяются на плюс, вместо "0,5" можно просто писать ",5", ноль вставится сам и т.п.
• Проверка синтаксиса - XQR2 подчеркивает ошибки в выражении подобно Microsoft Word.
• Специальный формат монофонических мелодий SDM - мелодии в этом формате звучат без колонок и звуковой карты. В XQR2 встроен специальный редактор для этого.
• Море пасхалок - это так, на закуску.
• Поддержка Drag&Drop - берем файл и тащим в нужную часть калькулятора. Так же можно простым движением мышки вытащить скриншот из вкладки "Скриншоты".
• Справка Homacosoft CUBE® - если включить эту функцию, XQR2 сам расскажет о нужной функции при первом использовании.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
• Поддержка формата FRM обеспечивает возможностью создавать дополнения для XQR2 просто сохраняя их в FRM-файл без компиляции.
• Встроенный (опделанный митуйчанами до нельзя, похожий на динозавр-MFC от майкрософт) Homacosoft APIBox обеспечивает доступ к АПИ-функциям внутри скриптов. Собственно, я для этого его и разрабатывал))))
• Открытая архитектура ядра - все вычисления производятся через скрипты, поэтому спокойно можете менять программу при наличии определенных навыков.
Все это умещается в EXE-файле размером примерно 15Мб.
Сайт для скачивания:
http://www.xqr2.com/
Там же и скриншоты.
Презентация-клип в виде одного EXE-файла (размер жирнющий - ~150 Мб, вряд-ли кто скачает. Хотя кто смотрел - офигели))))
http://www.xqr2.com/intro.exe
XQR2 я не обфусцировал, т.е. желающие могут декомпильнуть его. Но думаю, это бесполезное занятие:
1) Прога юзерская, взламывать что-то там незачем, все итак понятно. Разве что пасхалки...
2) Даже люди, которые видели сами исходники, ничего не понимают. Это мой особый отточеный стиль быдлокодирования - в этом коде могу нормально разобраться наверно только я :) :) :)
Совместимость компромиссная, но вменяемая:
Windows XP
Windows Vista
Windows 7 (вроде :) )
На серверах увы не тестил, не было возможности :(
Системные требования
Графика, преобладающая в XQR2, делает его системные требования несколько высокими. Однако для современных компьютеров более чем подходящми. Летает на Core2Duo и на Core2Quad. На 1.7 Ghz - машинах с парочкой ядер чувствует себя неплохо,
вполне приемлемо. На Celeron пробовали - тормозит, но работает. В скрытом (свернутом) состоянии он перестает жрать процессор вообще (максимум пол процента). Программа не использует мультитредность, так что занять больше ядра она просто
не в состоянии. Это плюс - она ведь прикладная, и не должна сильно грузить комп.
Некоторые факты:
• Вычисления реализуются через VBScript - выражение парсится и вставляется в программный код, после чего код тупо запускается и выдает ответ - эта основа основ XQR2)))
• Код окна настроек XQR2 составляет приблизительно 2'000 строк, половина из которых - загрузка и сохранение параметров.
• Если на клавиатуре создать кнопку, на которой написана команда быстрого запуска, то она будет отображаться в виде иконки запускаемой программы.
• Код ядра XQR находится в форме Form1, там же и вычисления - самый большой модуль проекта >7'000 строк
• Через месяц после использования XQR в нем появляется новая вкладка - игра "Бильярд" со стилизованными шариками. Между прочим, XQR весьма неплохо играет в бильярд
• Скриншоты используют в основе очень тупое сглаживание Multisampling, которое реализовано через CPU :(
• Эмулятор рабочего стола был встроен для стеба над зрителями: смотрите, а у меня и ворд встроен :)))
• Заметки поддерживают OLE - тащите объект из ворда в заметки, щелкаете два раза - и клавиатура превращается в ворд.
• SDM мелодии пришли из проекта Homacosoft TimingUnit, который в настоящее время заморожен. TimingUnit - это попросту будильник, но весьма красивый, реализованый через большое стадо GDI++ и кучей спецеэффектов.
• XQR2 знает праздники, например 9 мая или Новый Год.
• Код анимированной замены двух минусов на плюс писался несколько дней (:)) из-за проблем синхронизации анимации. В итоге было решено запретить ассинхронное поведение.
• OLE Drag&Drop было ввести достаточно сложно, особенно это касается описание поведения анимации вкладкок при таскании на них файлов.
• Звук реализован через Microsoft Multimedia Control, так как АПИ функции по сравнению с ним показали жутко нестабильную работу и частые перебои.
Заранее благодарен за бета-опделывание. Хотелось бы увидеть комментарии по делу, тобишь по теме. Только плиз серьезно.
Ответить
|