фирмой Eagle Research конвертору VB2D, преобразующему программы Visual Basic в программы Delphi.

Перевод программ с одного языка на другой не обходится без потерь, и, хотя VB2D поможет обойти кое-какие трудности, с мало-мальски нетривиальной программой придется повозиться. Существенным недостатком конвертора VB2D можно назвать лишь то, что VB2D работает только с Visual Basic 3.0, создает программы только для Delphi 1.0 и не транслирует программы Visual Basic, работающие с OLE.

Использовать VB2D легко. После установки его надо просто запустить, выбрать нужный проект Visual Basic и указать, куда поместить результат преобразования. По окончании процесса трансляции выдаются перекрестные ссылки для переменных и процедур, описание внесенных в программу изменений, связанных с иными правилами порядка следования операторов, с уточнением типов и с переименованием переменных, вызванным необходимостью избежать пересечения со списком зарезервированных слов Delphi.

Во многом успех VB2D обусловлен тем, что с ним поставляются директивы, имитирующие управляющие элементы Visual Basic. Есть также невизуальные классы, моделирующие в Delphi возможности Visual Basic. Например, размер массивов, описанных на Object Pascal (базовом языке для Delphi), не может быть переопределен динамически, как это разрешено в Visual Basic. Чтобы компенсировать это неудобство, VB2D преобразует ссылки на массивы в новый класс Delphi, называемый TVBArray. Массивы TVBArrays обладают методом переопределения, к которому и может обращаться преобразованная программа. Подобным же образом ссылки на строки в программе на VB преобразуются в тип TVBString, включенный в VB2D. Для этого типа отсутствует ограничение, предусматривающее, что максимальная длина должна равняться 256 символам, имеющимся в Delphi 1.0.

Чувствуется, что в Eagle Research основательно занимались доводкой VB2D. Это явствует, например, из качества оперативных справок или текстов сжатой, но тщательно выполненной документации. Другой пример - элегантность, с которой в Delphi реализованы десятки функций Visual Basic. Скажем, такие важные функции, как ChDir и SendKeys, переводятся в VBChDir и VBSendKeys. Разработчикам программ на Visual Basic не требуется особенно вникать в подробности трансляции. Даже финансовые функции получили свои эквиваленты в Delphi.

Мощные средства Visual Basic для работы с базами данных главным образом основываются на механизме Jet Database Engine, поэтому преобразование программ, в которых он используется, представляет значительные трудности. Для управляющих элементов VB2D строит имитирующие конструкции, однако преобразование целого ряда операций ему не под силу. Так, поскольку построенной в Delphi программе недоступен Jet Database Engine, нельзя воспользоваться функциями, модифицирующими используемые таблицы. Нельзя также работать с элементами набора, например со списком полей таблицы. Более того, из-за того, что в Delphi нет эквивалентов для QueryDefs или TableDefs, VB2D их не транслирует.

Существуют две версии VB2D. Возможности стандартной представлены выше. Если же надо преобразовать программы побольше, следует обратиться к профессиональной версии. Она создает более полные отчеты с перекрестными ссылками, призванными помочь в проверке корректности трансляции. Особенно удачен двусторонний текст, в котором параллельно приводятся исходные строки Visual Basic и результирующие - Delphi. В профессиональной версии имеются также тексты программ, используемых в качестве управляющих директив Visual Basic.

Перейти от Visual Basic к Delphi непросто, это требует серьезной работы, и VB2D облегчит ее. Разработчики не считают свой продукт волшебной палочкой, напротив, они рекомендуют тщательно проверять построенный текст. Более того, в руководстве по VB2D указаны слабые места, где существует вероятность наткнуться на подводные камни. Подобная честность производит чрезвычайно благоприятное впечатление.

Хотя перевод программы с одного языка на другой никогда не бывает легким, VB2D серьезно облегчит эту работу.


КОРОТКО О ПРОДУКТЕ

VB2D, Version 1.0

VB2D поможет хорошо справиться с трудностями преобразования программы из Visual Basic в Delphi и здорово пригодится на старте, однако в любом случае придется также поработать самостоятельно.

Плюсы: легкость использования: большая часть программы на Visual Basic преобразуется в Delphi очень легко.

Минусы: работает только с VB 3.0; конвертирует только в Delphi 1.0; не конвертирует OLE и часть конструкций, связанных с работой с базами данных.