21.08.09

О том, как надо кодить. Часть II

Первой великой программой на Вб, которую мы рассмотрим станет калькулятор XQR2, написанный супер-программистом VBDUnit, который также является автором Форм Креатора и выпускает софт под маркой Homacosoft. Только ему под силу написать калькулятор, весом в 30 МБ.

Возможно, некоторые люди после выше прочитанного начнут смеяться. Им я предлагаю просмотреть это видео, чтобы убедиться, что все серьезно:

VBDUnit делал это видео полностью сам, параллельно с разработкой программы.

Интерфейс XQR2 действительно красив, все кнопки калькулятора переливаются:

По количеству функций калькулятор от VBDUnit с легкостью переплюнет стандартный калькулятор Windows. В нем есть такие полезные функции, как складывание и вычитание времени, расчет курсов валют (их значения обновляются через Интернет), вычисления промежуточного значения выражения. Калькулятор работает с пятью системами счисления, оперирует обыкновенными дробями и рассчитывает математические формулы.

XQR2 также строит графики функций (для меня, как для лицеиста, это большая радость)

Помимо всего это в калькуляторе есть масса дополнительных утилиток: конвертер величин, формы для рассчета квадратных уравнений, токов, напряжений и многое другое.

Но и это еще не все! Калькулятор может также выполнять функции органайзера. Можно в нем можно создавать несколько будильников и настраивать их действие на свой вкус. В калькулятор можно также писать свои заметки.
Помимо этого он может снимать скриншоты и просматривать их.

Сама программа очень гибкая - ее можно изменить до неузнаваемости. В настройках находится огромное количество редакторов - от редактора тем, до редактора форм и мелодий. Вобщем, чтобы перечислить все функции этого творения, одной статьи не хватит.
Более подробную информацию о функциях XQR2 вы можете получить здесь: http://www.xqr2.com/text/

Но на этом рассказ о программе не заканчивается. Начинается самое интересное - рассмотр ядра. Вообще, это требует отдельной темы, я опишу только самое невероятное. Ядро программы до ужаса гибкое и поражает своим устройством.

В корневой директории программы находятся файлы *.hss, которые являются скриптами ядра XQR2.
Вот фрагмент файла IQEQ.hss:

''''Программный код вычислений''''
''''''''''''''''''''''''''''''''''
Option Explicit
'Константы
Const Pi = 3.1415926535897932384626433832795
Const E = 2.718281828459045
Const g = 9.81
Const ml = 9.109e-31
const mp = 1.673e-27
const mn = 1.675e-27
Const mg = 6.672e-11
Const aem = 1.661e-27
Const na = 6.02e23
'Пользовательские константы, которые
'добавляются процедурой PrepareCode
'в файле Calc.hss


'Главная процедура

'Концепция вычислений XQR
'несколько отличается от других.

'XQR не парсит выражение сам.
'Он использует возможности языка
'VBScript.
'Сначала XQR парсит выражение модулем
'IQPrepare.hss, а затем просто
'в IQEQ.hss вместо тега подставляет
'результат работы модуля IQPrepare.hss,
'уже не как строку, а как фрагмент кода
'(обратите внимание, написано без кавычек)
'Вместо других тегов он ставит соответствующий
'сгенерированный им код. Затем он запускает
'процедуру Calc, которая сама возвращает
'ему нужный результат.

'После этого он преобразует результат в
'обыкновенную дробь, др. системы
'исчисления и т.п. в зависимости
'от установок пользователя, но этот
'код уже не является открытым.

Sub Calc
On Error Resume Next
Randomize
' заменяется на выражение, введенное пользователем
Call CalcWindow.AddCalculatedValue ("Error", "Nothing")
Dim x
dim y
'Цикл предназначен для обсчета функции
'Если пользователь ввел выражение, то вместо , и подставляются единицы
For X = To Step
y = "Error"
y=
Call CalcWindow.AddCalculatedValue ((y), X)
'AddCalculatedValue либо добавляет новую точку функции в стек,
'либо просто дает результат - что именно XQR понимает сам.
Next
End Sub
<...>

Как видите - это чистый Visual Basic. Таким образом автор добился просто невероятного - заставил Вб выполнять собственный код из текстовых файлов.

Но это еще не самое поразительное. Самое поразительное - это то, что XQR2 создает некоторые свои окна из файлов *.frm, придавая им собственный стиль.

При это программа абсолютно бесплатна и ее всегда можно скачать с официального сайта:
http://www.xqr2.com/download.php
Установочник вас тоже приятно удивит своими 3d заставками и анимациями.

Комментарии:

Комментариев нет.