|
|
21.08.09 |
О том, как надо кодить. Часть IIПервой великой программой на Вб, которую мы рассмотрим станет калькулятор XQR2, написанный супер-программистом VBDUnit, который также является автором Форм Креатора и выпускает софт под маркой Homacosoft. Только ему под силу написать калькулятор, весом в 30 МБ. Возможно, некоторые люди после выше прочитанного начнут смеяться. Им я предлагаю просмотреть это видео, чтобы убедиться, что все серьезно: VBDUnit делал это видео полностью сам, параллельно с разработкой программы. Интерфейс XQR2 действительно красив, все кнопки калькулятора переливаются: По количеству функций калькулятор от VBDUnit с легкостью переплюнет стандартный калькулятор Windows. В нем есть такие полезные функции, как складывание и вычитание времени, расчет курсов валют (их значения обновляются через Интернет), вычисления промежуточного значения выражения. Калькулятор работает с пятью системами счисления, оперирует обыкновенными дробями и рассчитывает математические формулы. XQR2 также строит графики функций (для меня, как для лицеиста, это большая радость) Помимо всего это в калькуляторе есть масса дополнительных утилиток: конвертер величин, формы для рассчета квадратных уравнений, токов, напряжений и многое другое. Но и это еще не все! Калькулятор может также выполнять функции органайзера. Можно в нем можно создавать несколько будильников и настраивать их действие на свой вкус. В калькулятор можно также писать свои заметки. Сама программа очень гибкая - ее можно изменить до неузнаваемости. В настройках находится огромное количество редакторов - от редактора тем, до редактора форм и мелодий. Вобщем, чтобы перечислить все функции этого творения, одной статьи не хватит. Но на этом рассказ о программе не заканчивается. Начинается самое интересное - рассмотр ядра. Вообще, это требует отдельной темы, я опишу только самое невероятное. Ядро программы до ужаса гибкое и поражает своим устройством. В корневой директории программы находятся файлы *.hss, которые являются скриптами ядра XQR2. ''''Программный код вычислений'''' '''''''''''''''''''''''''''''''''' 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 = y = "Error" y= Call CalcWindow.AddCalculatedValue ((y), X) 'AddCalculatedValue либо добавляет новую точку функции в стек, 'либо просто дает результат - что именно XQR понимает сам. Next End Sub <...> Как видите - это чистый Visual Basic. Таким образом автор добился просто невероятного - заставил Вб выполнять собственный код из текстовых файлов. Но это еще не самое поразительное. Самое поразительное - это то, что XQR2 создает некоторые свои окна из файлов *.frm, придавая им собственный стиль. При это программа абсолютно бесплатна и ее всегда можно скачать с официального сайта: |
Комментарии:Комментариев нет. |
© 2004-2021, Vladikcomper E-Mail: [email protected] |