Crustacean of Bethany



Crustacean of Bethany is a prospective project to create a partial Gambas (BASIC) to Lazarus (FreePascal) and vice versa converter tool for simple graphical user interface (IDE) programs. The name is an amalgam of crustacean (from gambas, which means prawns) and Lazarus of Bethany (the Biblical figure supposedly resurrected by Jesus Christ).

This would limitedly allow the creation of FreePascal programs using of the powerful Gambas integrated development environment (IDE) for rapid application development (RAD), which are also cross-platform as opposed to Gambas' restriction to Unix-like systems. Development is intended to be incremental and bottom-up, with individual features ported over piece by piece as Graham L. Wilson learns how to use Lazarus. Naturally, it will never be able to produce a 1-1 conversion as there will always be discrepancies in features between the two languages and toolkits; moderate to heavy manual tweaking will be necessary. Best results would ensue from keeping inter-operability in mind when designing the program to be converted.

Syntax Differences
BASIC / Visual Basic - FreePascal / Object Pascal


 * uses, type, var, and procedures must be defined in header
 * ' becomes //
 * ; appended at the end of code lines
 * end; closes procedures, end. closes classes
 * x and y Cartesian coordinates replaced with displacements from Left and Top of the form (like old school Visual Basic!)

Components
LCL Components - gb.gui / gb.qt4 / gb.form


 * TFrom - Form

Standard tab

 * TButton - Button
 * TLabel - Label
 * TFrame - Frame
 * TPanel - Panel
 * TCheckBox - Checkbox
 * TRadioButton - Radio Button
 * TEdit - Textbox

Additional tab

 * TImage - Picturebox
 * TPaintBox - Drawing Area
 * TScrollBox - Scrollbox
 * TColorBox - Color button

System tab

 * TTimer - Timer

Common Controls tab

 * TTabControl - Tabstrip

Other

 * Cursor - Cursor
 * Dialog - Message