<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19206046</id><updated>2011-07-08T07:06:26.894+05:30</updated><title type='text'>GoDB Developer Network</title><subtitle type='html'>Welcome to the unofficial GoDB Developer Network. 

This blog is completely dedicated to GoDB platform -- a multi platform Mobile RAD tool for developing handheld and wireless applications for Windows Mobile (Pocket PC,Win CE, Smartphones), Palm, Symbian, Embedded Linux, Linux, Win 32, etc. 

Fellow GoDB developers can find sample codes, contribute to the blog and Mobility related news for the benefit of the mobile development community as a whole.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://godbdevnet.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://godbdevnet.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Author</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19206046.post-7676393424252525251</id><published>2010-09-16T17:16:00.001+05:30</published><updated>2010-09-16T17:16:25.067+05:30</updated><title type='text'>Getting Started</title><content type='html'>&lt;HTML&gt;&lt;HEAD&gt;&lt;br /&gt;&lt;META http-equiv=Content-Type content="text/html; charset=unicode"&gt;&lt;br /&gt;&lt;LINK href="../images/style.css" type=text/css rel=stylesheet&gt;&lt;br /&gt;&lt;META content="MSHTML 6.00.2900.2180" name=GENERATOR&gt;&lt;/HEAD&gt;&lt;br /&gt;&lt;BODY&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;span class="heading1"&gt;Getting Started With GoDB&lt;/span&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;GoDB is a Multi-Platform Application Development tool. GoDB lets you develop applications you code once and deploy them to multiple platforms without any change. &lt;br /&gt;GoDB SDK comes with an IDE that lets you &lt;b&gt;create, modify, build, run, simulate, debug and deploy &lt;/b&gt;your applications to multiple platforms from familiar Microsoft &lt;br /&gt;Windows.&lt;BR&gt;&lt;BR&gt;   &lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;span class=heading3&gt;Loading and Running a sample project &lt;/span&gt; &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;span class=heading2&gt;Step 1) Start --&amp;gt; Programs --&amp;gt; GoDB --&amp;gt; GStudio&lt;/span&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG src="1.jpg"&gt; &lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 2) File --&amp;gt; Open&lt;/b&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="2.jpg" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;IMG alt="" src="3.jpg" &gt; &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 3) Select the Project to load (Sample1)&lt;/b&gt; &lt;br /&gt;&lt;BR&gt;&lt;BR&gt;Samples are located under the GoDB Installation Folder.&lt;BR&gt;&lt;br /&gt;Ex: &lt;b&gt;C:\Program Files\GoDB\Samples\Sample1\&lt;/b&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="4.jpg" &gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 4) Select the Platform to target.&lt;/b&gt;  &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="4a.jpg" &gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 5) Build .&lt;/b&gt;  &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="5.jpg" &gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 6) Build Results .&lt;/b&gt;  &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="6.jpg" &gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 7) Run.&lt;/b&gt; &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="7.jpg" &gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 8) Log in&lt;/b&gt; &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="GS_1a.gif" &gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 9) Home Page.&lt;/b&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="GS_1b.gif" &gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;b&gt;Step 10) Hello World.&lt;/b&gt; &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;IMG alt="" src="GS_1C.jpg" &gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;br /&gt;&lt;/HTML&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-1937791175561856";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19206046-7676393424252525251?l=godbdevnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://godbdevnet.blogspot.com/feeds/7676393424252525251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19206046&amp;postID=7676393424252525251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default/7676393424252525251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default/7676393424252525251'/><link rel='alternate' type='text/html' href='http://godbdevnet.blogspot.com/2010/09/getting-started_16.html' title='Getting Started'/><author><name>Author</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19206046.post-4731138995330381724</id><published>2010-09-16T17:15:00.001+05:30</published><updated>2010-09-16T17:15:54.880+05:30</updated><title type='text'>Lesson 1</title><content type='html'>&lt;html&gt;&lt;br /&gt;&lt;LINK href="../images/style.css" type=text/css rel=stylesheet&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=heading1&gt;Lesson 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;The basics first.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;GoDB is a Multi-Platform Application Builder.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;With GoDB you can&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Develop Once &lt;br /&gt;Deploy to any &lt;br /&gt;popular PDA,Laptop or Desktop.&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Develop Online / Offline and Occasionally Connected applications.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;GoDB &lt;br /&gt;VM has four primary components.&lt;BR&gt;&lt;BR&gt; &lt;br /&gt;&lt;P style="MARGIN-LEFT: 20px"&gt;&lt;br /&gt;&lt;OL&gt;&lt;br /&gt;	&lt;LI&gt;Microbrowser for rendering forms. &lt;br /&gt;  &lt;br /&gt;	&lt;LI&gt;GBasic Scripting engine. &lt;br /&gt;  &lt;br /&gt;	&lt;LI&gt;ANSI SQL RDBMS to manage local data. &lt;br /&gt;  &lt;br /&gt;	&lt;LI&gt;Smart sync engine to keep local and remote tables and files in sync.&lt;/LI&gt;&lt;br /&gt;&lt;/OL&gt;       &lt;br /&gt;  &lt;br /&gt;	&lt;P&gt;          GStudio IDE&amp;nbsp;has&amp;nbsp;the following&amp;nbsp;components.&lt;/P&gt; &lt;br /&gt;&lt;P style="MARGIN-LEFT: 20px"&gt;&lt;br /&gt;&lt;OL&gt;&lt;br /&gt;	&lt;LI&gt;Form Builder. &lt;br /&gt;  &lt;br /&gt;	&lt;LI&gt;Simulators for devices/PCs. &lt;br /&gt;  &lt;br /&gt;	&lt;LI&gt;   Integrated source level debugger. &lt;br /&gt;  &lt;br /&gt;	&lt;LI&gt;       Single click deployment to multiples devices.&lt;/LI&gt;&lt;br /&gt;&lt;/OL&gt;       &lt;br /&gt;  &lt;br /&gt;	&lt;P&gt;&lt;BR&gt;            &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="CreatingaProject"&gt;&lt;FONT color=#000000&gt;Creating a Project&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;In this tutorial we will see how to create a simple Hello World application.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Step 1:&lt;/STRONG&gt; Launch GStudio&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;GStudio is the RAD(Rapid Application Development) IDE(Integrated Development Environment) for developing GoDB applications.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Start Menu-&amp;gt;Programs-&amp;gt;GoDB-&amp;gt;GStudio.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g1.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Step2:&lt;/STRONG&gt; File-&amp;gt;New Project.&lt;BR&gt;&lt;br /&gt;Select the Project Type &lt;b&gt;"Hello World Application"&lt;/b&gt;.&lt;BR&gt;&lt;br /&gt;Select the Project Directory by clicking on the button next to &lt;b&gt;"Location"&lt;/b&gt;.&lt;BR&gt;&lt;br /&gt;Enter a Project Name in the &lt;b&gt;"Project Name"&lt;/b&gt; box&lt;BR&gt;&lt;br /&gt;Select the Platforms for which you want to build this project&lt;BR&gt;&lt;br /&gt;Click &lt;b&gt;OK&lt;/b&gt; button to create the project&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; You may add additional platforms to the project any time later.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG style="LEFT: 10px; TOP: 900px" alt="" src="images/g2.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g3.png" &gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;This should create a project, add some startup files.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Lets look at the files that were created now.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Logon.frm&lt;/STRONG&gt; All GoDB projects start with a logon screen so that the user can login before using the application.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Home.frm&lt;/STRONG&gt; When the user logs in successfully, this page is loaded.&lt;br /&gt;&lt;STRONG&gt;Config.frm,Config.ini&lt;/STRONG&gt; These pages are for viewing and storing configuration information. We will see how to use these pages in detail in later chapters.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Now Lets compile and run the project.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Select the Platform, &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g4.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Compile.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g5.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Run&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g6.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;You Should see the Login Screen in the Simulator&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g7.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Click on Logon Button.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g8.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;You Should see the Welcome to GoDB Button.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Close the simulator by clicking on the Power button &lt;IMG style="LEFT: 364px; TOP: 3278px" alt="" src="images/g9.png"&gt;.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;/P&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="WritingEventHandlers"&gt;&lt;FONT color=#000000&gt;Writing Event &lt;br /&gt;Handlers&lt;/STRONG&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;Event handlers in GoDB are GBasic scripts that are invoked when an event on a control is fired.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;In the IDE Open home.frm by Double clicking on it in the project tree.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g10.png" &gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;When the form opens up Double click on the "Welcome to GoDB" Button.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG style="LEFT: 10px; TOP: 3758px" alt="" src="images/g11.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;This should add a bas file called Home.bas and open up the code editor where you can write GoDB GBasic Scripts.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g12.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Type the above code Save, Compile and run the Project. In the simulator when you login and click on the Welcome to GoDB Button you should see a "Hello There" message box.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g13.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="GoDBFiles"&gt;&lt;FONT color=#000000&gt;GoDB Files&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;GoDB Projects have &lt;STRONG&gt;three types of files.&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt; &lt;br /&gt;&lt;STRONG&gt;FRM&lt;/STRONG&gt; files that have forms.&lt;BR&gt; &lt;br /&gt;&lt;STRONG&gt;BAS&lt;/STRONG&gt;  files that have scripts for event handlers.&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;BIN&lt;/STRONG&gt; files for storing images.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;When a project is compiled all these files are bundled into a single &lt;STRONG&gt;BDB&lt;/STRONG&gt; file.&lt;BR&gt;&lt;br /&gt;The GoDB VM loads and executes this &lt;STRONG&gt;BDB&lt;/STRONG&gt; file.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;This BDB file is platform neutral so you can copy a BDB file created on one platform say Win32, copy it to an another &lt;br /&gt;platform say Linux your application should run without any change.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;GoDB Achieves Platform neutrality by having separate GoDB VMs for separate platforms.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;When you distribute your applications you just need to bundle the BDB file and the GoDB VM for the platform you wish to run the application on.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BASEFONT&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;/body&gt;&lt;/HTML&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-1937791175561856";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19206046-4731138995330381724?l=godbdevnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://godbdevnet.blogspot.com/feeds/4731138995330381724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19206046&amp;postID=4731138995330381724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default/4731138995330381724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default/4731138995330381724'/><link rel='alternate' type='text/html' href='http://godbdevnet.blogspot.com/2010/09/lesson-1_16.html' title='Lesson 1'/><author><name>Author</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19206046.post-3685137687647080861</id><published>2010-09-16T17:14:00.000+05:30</published><updated>2010-09-16T17:15:22.434+05:30</updated><title type='text'>Lesson 2</title><content type='html'>&lt;html&gt;&lt;br /&gt;&lt;LINK href="../images/style.css" type=text/css rel=stylesheet&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=heading1&gt;Lesson 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;GBasic Introduction&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 0px"&gt;&lt;br /&gt;GBasic is a variant of the Basic Language included in GoDB platform as the scripting language.&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="ProgramStructure"&gt;&lt;FONT color=#000000&gt;Program Structure&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;  GBasic programs are usually associated with a form and have the same name as &lt;BR&gt;&lt;br /&gt;that of the form. &lt;BR&gt;&lt;br /&gt;&lt;br /&gt;For example&lt;BR&gt;&lt;br /&gt;Home.Frm will have an associated BAS file in the project called home.bas.&lt;BR&gt;&lt;br /&gt;When Home.Frm is loaded, GBasic scripting engine loads home.bas and executes &lt;BR&gt;&lt;br /&gt;all statements, till the END statement is not encountered. &lt;BR&gt;&lt;br /&gt;&lt;BR&gt;&lt;br /&gt;Home.bas &lt;BR&gt;&lt;br /&gt;&lt;BR&gt;&lt;br /&gt;a=10&lt;BR&gt;&lt;br /&gt;b=20&lt;BR&gt;&lt;br /&gt;print a,b&lt;BR&gt;&lt;br /&gt;END &lt;BR&gt;&lt;br /&gt;&lt;BR&gt;&lt;br /&gt; sub Button1_click&lt;BR&gt;&lt;br /&gt;   msgbox "Button clicked"&lt;BR&gt;&lt;br /&gt; endsub &lt;BR&gt;&lt;br /&gt;&lt;BR&gt;&lt;br /&gt;The program can also have subroutines that are event handlers for controls &lt;BR&gt;&lt;br /&gt;in the form, like a mouse click event on a control. &lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Event Handlers have names that are of the format ControlName_EventName &lt;BR&gt;&lt;br /&gt;&lt;BR&gt;&lt;br /&gt;Ex: Button0_Click&lt;br /&gt;&lt;BR&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="GBasicVariablesandObjects"&gt;&lt;FONT color=#000000&gt;GBasic Variables and Objects&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;GBasic has two types of variables, numeric and string variables.&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;String variables and functions that return strings always terminate with a &lt;STRONG&gt;$.&lt;/STRONG&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;Ex: A$,B$, Mid$(a$,1,2) etc&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;Variables &lt;STRONG&gt;without&lt;/STRONG&gt;  a $ at the end are considered to be numeric variables.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;GBasic has two types of objects , Form Field Objects (Controls on a form) and Database Field objects.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Form field objects precede with a #&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Ex: #UID , #UID$ etc.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Database field objects precede with a &lt;b&gt;@&lt;/b&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;EX: @a.ID, @a.Name$&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;HR&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="GBasicOperators"&gt;&lt;FONT color=#000000&gt;GBasic Operators&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="../GBasic_Ref/Labels%20Variables.html"&gt;For a &lt;br /&gt;Full List of operators Refer to Operator List&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;STRONG&gt;Operators For Numeric variables&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ ADD&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- SUB&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* MULT&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/ Division&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\ Integer Division&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;% MOD&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;^ Integer Exponent&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;GBasic supports the following Comparison Operators.&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt; Greater than&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt; Less Than&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = Equal&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;gt; Not Equal&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;GBasic supports the following Logical Operators.&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;AND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OR&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Operators For String Variables&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;+ Append&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;EX:&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B$="Test1"&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A$=" Hello " +B$&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Note: When appending a large number of strings use &lt;STRONG&gt;Concat&lt;/STRONG&gt; Function instead of the + operator.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;You can also append numeric literals, variables and expressions to strings.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;nbsp;Numeric Literal&lt;BR&gt;&lt;/STRONG&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A$=" Hello " + 100.25&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Numeric Variable&lt;BR&gt;&lt;/STRONG&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c=100&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A$=" Hello " + b$ + c&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Numeric&amp;nbsp;Expressions appended to strings&amp;nbsp;&lt;BR&gt;&lt;br /&gt;   &lt;/STRONG&gt;&lt;BR&gt;&lt;br /&gt;c=100&lt;BR&gt;d=200&lt;BR&gt;&lt;br /&gt;A$=" Hello " + b$ + (c+d*20)&lt;BR&gt;&lt;BR&gt;A$=&lt;br /&gt; (c*10+23) + " Hello There "&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;A$ =    "Ubound of array is " +&amp;nbsp;ubound(st$)&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;A$ = "Len of String is " +&amp;nbsp; len("Hello") &lt;BR&gt;A$ = "Len &lt;br /&gt;of String is " +&amp;nbsp; len("Hello") +20 +" Done "&lt;BR&gt;A$ = "Len of String is " &lt;br /&gt;+&amp;nbsp; ( len("Hello") +20 ) +" Done "&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;GBasic supports the following String Comparison Operators.&lt;/STRONG&gt; &lt;BR&gt;&lt;br /&gt;= Equal&lt;BR&gt;&lt;br /&gt;&amp;lt;&amp;gt;&amp;nbsp; Not Equal&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;EX:&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;if a$=b$ then&lt;BR&gt;&lt;br /&gt;print "a is equal to b"&lt;BR&gt;&lt;br /&gt;endif&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;String Escaping&lt;/STRONG&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Special chars like " etc are &lt;br /&gt;escaped with a back slash '\' in a string Literal. &lt;BR&gt;&lt;BR&gt;Ex &lt;BR&gt;a$="Hello &lt;br /&gt;there \"124\" "&lt;BR&gt;a$="Hello there \n"&lt;BR&gt;a$="C:\\Temp\\a.txt"&lt;BR&gt;&lt;BR&gt;Special &lt;br /&gt;Chars&amp;nbsp; &lt;BR&gt;&lt;BR&gt;\n&amp;nbsp; - New Line&lt;BR&gt;\r&amp;nbsp; - Carriage Return&lt;BR&gt;\t - &lt;br /&gt;Tab&lt;BR&gt;\" - Double Quote&lt;BR&gt;\' -&amp;nbsp;Single Quote&lt;BR&gt;\\ - &lt;br /&gt;Backslash&lt;BR&gt;&lt;BR&gt;Other chars can be specified by specifying the HEX value &lt;br /&gt;prefixed \x&lt;BR&gt;&lt;BR&gt;EX:&lt;BR&gt;a$="Hello there \x0D &lt;br /&gt;\x0A&amp;nbsp;&amp;nbsp;"&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Special Numeric Statements&lt;BR&gt;You can &lt;br /&gt;use&amp;nbsp;C Style Increment ,Decrement&amp;nbsp; and Cumulative Numeric &lt;br /&gt;statements&lt;BR&gt;&lt;/STRONG&gt;&lt;BR&gt;Increment ++&lt;BR&gt;Decrement --&lt;BR&gt;Cumulative Numeric , +=   &lt;br /&gt; , -= , *=  &lt;br /&gt;etc&lt;BR&gt;Ex: &lt;BR&gt;a++&lt;BR&gt;b--&lt;BR&gt;a+=10&lt;BR&gt;a-=20&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Etc: Note these &lt;br /&gt;commands cannot be used in expressions.&lt;BR&gt;Ex&lt;/STRONG&gt;: a = b+(c++) &lt;br /&gt;is not allowed.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Numeric Literals in other bases Hexadecimal and &lt;br /&gt;Binary.&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;GBasic Supports Hex Literals of the format &lt;br /&gt;&lt;STRONG&gt;0x&lt;/STRONG&gt;AABBCC&lt;BR&gt;and binary Literals &lt;br /&gt;&lt;STRONG&gt;0b&lt;/STRONG&gt;1010&lt;BR&gt;&lt;BR&gt;Ex:&lt;BR&gt;' Hex Literal&lt;BR&gt;a=0xEF10D&lt;BR&gt;' &lt;br /&gt;Binary Literal&lt;BR&gt;b=0b10101&lt;BR&gt;'String Append with Hex Literal&lt;BR&gt;a$="Test " &lt;br /&gt;+ 0xEF10 + "*" + 0b10101&lt;BR&gt;&lt;BR&gt;' Convert Decimal to Hex&lt;BR&gt;print &lt;br /&gt;Format$("%x",1000)&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1 style="LEFT: 10px; TOP: 2344px"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="VariableScope"&gt;&lt;FONT color=#000000&gt;Variable Scope&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;The variables have three types of scopes&lt;br /&gt;&lt;UL&gt;&lt;br /&gt;  &lt;LI&gt;GLOBAL &lt;br /&gt;  &lt;LI&gt;LOCAL &lt;br /&gt;  &lt;LI&gt;PAGE&lt;/LI&gt;&lt;br /&gt;&lt;/UL&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;Any variable that starts with &lt;STRONG&gt;~&lt;/STRONG&gt; is a global variable and is &lt;br /&gt;accessible from any function, subroutine and from any bas file in the project.&lt;BR&gt;&lt;br /&gt;All variables declared outside the subroutines and functions becomes &lt;br /&gt;a page-scope variable. This type of variable is accessible in any function and &lt;br /&gt;subroutine within the same bas file.&lt;BR&gt;Variables created in a function or a sub &lt;br /&gt;have a LOCAL scope. They can be accessed only within the function. &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Example&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Home.Bas&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;Gnum1=10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt; 'Page Variable - this variable can be accessed only in home.bas file.&lt;BR&gt;&lt;/SPAN&gt;&lt;br /&gt;~glob=20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'Global Variable - this variable can be accessed in all the .bas files.&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;sub test1 &lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Lnum1=30&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'local variable accessible in test1 sub only&lt;/SPAN&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print Gnum1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'gNum1 has PAGE scope, so it can be accessed in test1&lt;/SPAN&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print Lnum1&lt;BR&gt;&lt;br /&gt;endsub&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;sub test2 &lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; print Gnum1   &lt;br /&gt;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'OK&lt;BR&gt;&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print ~glob   &lt;br /&gt;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'OK&lt;BR&gt;&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print Lnum1 &lt;br /&gt;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'ERROR : LNum1 local variable accessible in test1 sub only&lt;/SPAN&gt;&lt;BR&gt;&lt;br /&gt;endsub&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Home2.Bas&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;sub test3&lt;BR&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print ~glob   &lt;br /&gt;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'OK - if home.bas was loaded first and ~glob was initialized.&lt;/SPAN&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print Gnum1   &lt;br /&gt;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'ERROR : Gnum1 is accessible only in home.bas&lt;/SPAN&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print Lnum1 &lt;br /&gt;&lt;SPAN style="COLOR: #008200; BACKGROUND-COLOR: #f7f3f7"&gt;'ERROR : LNum1 local variable accessible in test1 sub in home.bas only&lt;/SPAN&gt;&lt;BR&gt;&lt;br /&gt;endsub&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="ConditionalStatements"&gt;&lt;FONT color=#000000&gt;Conditional Statements&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;GoDB Supports Block IF and Single line IFF statements.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;EM&gt;Condition&lt;/EM&gt;&lt;STRONG&gt;then&lt;/STRONG&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Statements&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Statements&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Statements&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Statements&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;endif&lt;BR&gt;&lt;BR&gt;Ex:&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;if a &amp;gt; 120 then&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "a is greater than 120"&lt;BR&gt;&lt;br /&gt;else&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "a is less than or equal to 120"&lt;BR&gt;&lt;br /&gt;endif&lt;BR&gt;&lt;br /&gt;print "Program Continuing"  &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;STRONG&gt;iff&lt;/STRONG&gt; condition &lt;STRONG&gt;then&lt;/STRONG&gt; Statement1&lt;STRONG&gt;:&lt;/STRONG&gt;Statements2&lt;BR&gt;&lt;br /&gt;The &lt;STRONG&gt;:&lt;/STRONG&gt; operator can be used for separating statements in a single line.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Ex:&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;iff a &amp;gt; 120 then print "a is greater than 120": goto &lt;br /&gt;&lt;STRONG&gt;!ProceedNext&lt;/STRONG&gt;&lt;br /&gt;            &lt;BR&gt;&lt;br /&gt;print "a is less than or equal to 120"&lt;BR&gt;&lt;STRONG&gt;!ProceedNext&lt;/STRONG&gt; print &lt;br /&gt;"Program Continuing" &lt;BR&gt;&lt;BR&gt;Note: GoDB Labels &lt;br /&gt;start with a !.  &lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="Loops"&gt;&lt;FONT color=#000000&gt;Loops&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;GoDB supports two types of &lt;br /&gt;Loops the For next and While Wend.&lt;BR&gt;&lt;BR&gt;Loops can be aborted by a &lt;br /&gt;&lt;STRONG&gt;Break&lt;/STRONG&gt; Statement.&lt;BR&gt;The control can be transfered to the loop &lt;br /&gt;beginning using a &lt;STRONG&gt;Continue&lt;/STRONG&gt;&lt;br /&gt;           statement.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;For&lt;/STRONG&gt; Variable &lt;STRONG&gt;=&lt;/STRONG&gt; Start &lt;STRONG&gt;to&lt;/STRONG&gt; End [&lt;STRONG&gt;Step&lt;/STRONG&gt; Increment]&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;iff condition then &lt;br /&gt;&lt;STRONG&gt;Break&lt;BR&gt;&lt;/STRONG&gt;&lt;BR&gt;iff condition then &lt;STRONG&gt;continue&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Next&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Ex:&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;for i =1 to 100 &lt;BR&gt;&lt;br /&gt;print i&lt;BR&gt;&lt;br /&gt;next&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;for i =1 to 100  step 10&lt;BR&gt;&lt;br /&gt;iff i &amp;gt; 50 then break&lt;BR&gt;&lt;br /&gt;print i&lt;BR&gt;&lt;br /&gt;next&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="WhileCondition"&gt;&lt;FONT color=#000000&gt;While Condition&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;STRONG&gt;While&lt;/STRONG&gt; &lt;EM&gt;Condition&lt;/EM&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iff &lt;br /&gt;condition then &lt;STRONG&gt;break&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iff condition &lt;br /&gt;then &lt;STRONG&gt;continue&lt;BR&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Wend&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Ex:&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;i=0&lt;BR&gt;&lt;br /&gt;While i &amp;lt; 10&lt;BR&gt;&lt;br /&gt;print i&lt;BR&gt;&lt;br /&gt;i=i+1&lt;BR&gt;&lt;br /&gt;wend&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;i=0&lt;BR&gt;&lt;br /&gt;While i &amp;lt; 10&lt;BR&gt;&lt;br /&gt;print i&lt;BR&gt;&lt;br /&gt;iff i &amp;gt; 5 then break&lt;BR&gt;&lt;br /&gt;i=i+1&lt;BR&gt;&lt;br /&gt;wend&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="Subroutinesandfunctions"&gt;&lt;FONT color=#000000&gt;Subroutines and Functions&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;GoDB allows creating modular applications using subroutines and functions.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Subroutines are blocks of code that do not return values.&lt;BR&gt;&lt;br /&gt;Functions are blocks of code that return values.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Subroutines are defined as.   &lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;SUB&lt;/STRONG&gt; &lt;EM&gt;SubroutineName&lt;/EM&gt;(Parameters)&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;iff condition then &lt;STRONG&gt;return&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;EndSub&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;To call a subroutine you have to use the &lt;STRONG&gt;CALL&lt;/STRONG&gt; statement.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Ex:&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Call test1&lt;BR&gt;&lt;br /&gt;End&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;sub Test1&lt;BR&gt;&lt;br /&gt;print "Inside Test "&lt;BR&gt;&lt;br /&gt;endsub&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Ex Sub with parameters:&lt;/STRONG&gt; &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;Call test1(1,"test")&lt;BR&gt;&lt;br /&gt;End&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;sub Test1(a,b$)&lt;BR&gt;&lt;br /&gt;print "Inside Test with numeric and string parameter";a;b$&lt;BR&gt;&lt;br /&gt;endsub&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Note: &lt;BR&gt;&lt;/STRONG&gt;You should not jump out of a sub using a &lt;STRONG&gt;goto&lt;/STRONG&gt; statement.&lt;BR&gt;&lt;br /&gt;Use &lt;STRONG&gt;Return&lt;/STRONG&gt; statement if you want to exit a subroutine.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;In GoDB when strings&amp;nbsp; are passed to a sub or function, &lt;br /&gt;            they are passed &lt;STRONG&gt;by reference&lt;/STRONG&gt;. &lt;BR&gt;String &lt;br /&gt;literals , String expressions , &lt;br /&gt;Numeric variables and Numeric Expressions are passed &lt;STRONG&gt;by value&lt;/STRONG&gt;.&lt;BR&gt;All arrays variables &lt;br /&gt;are&amp;nbsp;passed &lt;STRONG&gt;by reference&lt;/STRONG&gt;.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;c$="test" &lt;BR&gt;&lt;br /&gt;d=100&lt;BR&gt;&lt;br /&gt;Call test1(d,c$) &lt;BR&gt;&lt;br /&gt;print "after Test1 ";d;c$ &lt;BR&gt;&lt;br /&gt;End &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;sub Test1(a,b$) &lt;BR&gt;&lt;br /&gt;print "Inside Test1 ";a;b$ &lt;BR&gt;&lt;br /&gt;b$="Welcome to GoDB " &lt;BR&gt;&lt;br /&gt;a=120&lt;BR&gt;&lt;br /&gt;endsub &lt;BR&gt;&lt;BR&gt;' Passing Array &lt;BR&gt;dimi &lt;br /&gt;a(10)&lt;BR&gt;a(0)=10&lt;BR&gt;call test2(a)&lt;BR&gt;print "After ";a(0)&lt;BR&gt;&lt;br /&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;End&lt;BR&gt;&lt;BR&gt;sub Test2(Dimi b())&lt;BR&gt;print "Before" ; &lt;br /&gt;b(0)&lt;BR&gt;b(0)=20&lt;BR&gt;&lt;br /&gt;endsub &lt;BR&gt;&lt;BR&gt;&lt;FONT face=Verdana&gt;You can also pass Integers &lt;br /&gt;and Double Variables to functions/subs by using the &lt;STRONG&gt;ByRef&lt;/STRONG&gt; &lt;br /&gt;Keyword..&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;BR&gt;dimi a&lt;BR&gt;a=10&lt;BR&gt;call test2(a)&lt;BR&gt;print "After &lt;br /&gt;";a&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;End&lt;BR&gt;&lt;br /&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;BR&gt;sub Test2(&lt;STRONG&gt;ByRef&lt;/STRONG&gt;Dimi b)&lt;BR&gt;print "Before" ; &lt;br /&gt;b&lt;BR&gt;b=20&lt;BR&gt;&lt;br /&gt;endsub&amp;nbsp;&lt;BR&gt;&lt;br /&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;A name="Functions"&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;Functions&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Functions&lt;/STRONG&gt; are defined as   &lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Function&lt;/STRONG&gt; &lt;EM&gt;FunctionName&lt;/EM&gt;(Parameters)&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;iff condition then &lt;STRONG&gt;return&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return &lt;br /&gt;100&lt;BR&gt;Endfunction&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Starting from &lt;br /&gt;GODB 5.2 You can return values with return statement.&lt;BR&gt;&lt;/STRONG&gt;&lt;BR&gt;Function &lt;br /&gt;Test&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 100&lt;BR&gt;end function &lt;BR&gt;&lt;BR&gt;FunctionI &lt;br /&gt;Test1&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 100&lt;BR&gt;end function &lt;BR&gt;&lt;BR&gt;FunctionF &lt;br /&gt;Test2 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 100.24 &lt;BR&gt;end function &lt;BR&gt;&lt;BR&gt;FunctionS &lt;br /&gt;Test4$ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "Welcome to Hello " &lt;BR&gt;end function &lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;The traditional way of returning value from a function is by &lt;br /&gt;asigning the return value to the function Name.&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Function&lt;/STRONG&gt; &lt;br /&gt;&lt;EM&gt;FunctionName&lt;/EM&gt;(Parameters)&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;iff condition then &lt;STRONG&gt;return&lt;BR&gt;&lt;/STRONG&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;FunctionName = ReturnValue&lt;/EM&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Endfunction&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Functions are called by using them in an expression.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;Ex:&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;t=TestFunc()&lt;BR&gt;&lt;br /&gt;print t&lt;BR&gt;&lt;br /&gt;End&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;function TestFunc&lt;BR&gt;&lt;br /&gt;print "inside &lt;br /&gt;TestFunc"&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;TestFunc=10&lt;/STRONG&gt;&lt;BR&gt;&lt;br /&gt;endfunction&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Ex: With parameters&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;print TestFunc(1,"test")&lt;BR&gt;&lt;br /&gt;End&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;function TestFunc(a,b$)&lt;BR&gt;&lt;br /&gt;print "inside TestFunc ";a;b$&lt;BR&gt;&lt;br /&gt;TestFunc=a+100&lt;BR&gt;&lt;br /&gt;endfunction&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Ex: String Functions&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;print TestFunc$(1,"test")&lt;BR&gt;&lt;br /&gt;End&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;function TestFunc$(a,b$)&lt;BR&gt;&lt;br /&gt;print "inside TestFunc ";a;b$&lt;BR&gt;&lt;br /&gt;TestFunc$ = b$ +" added in func "&lt;BR&gt;&lt;br /&gt;endfunction&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Ex: String Functions Passed ByRef&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;c$="test"&lt;BR&gt;&lt;br /&gt;print TestFunc$(1,c$)&lt;BR&gt;&lt;br /&gt;print c$&lt;BR&gt;&lt;br /&gt;End&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;function TestFunc$(a,b$)&lt;BR&gt;&lt;br /&gt;print "inside TestFunc ";a;b$&lt;BR&gt;&lt;br /&gt;TestFunc$ = b$ +" added in func "&lt;BR&gt;&lt;br /&gt;b$="Modified in TestFunc"&lt;BR&gt;&lt;br /&gt;endfunction&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="Recursion"&gt;&lt;FONT color=#000000&gt;Recursion&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;GoDB &lt;br /&gt;&lt;br /&gt;also supports &lt;STRONG&gt;   recursion&lt;/STRONG&gt;    .&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;Call recsub(1) &lt;BR&gt;&lt;br /&gt;End &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;sub recsub(a)&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iff a &amp;gt;10 then return&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print a&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;call recsub(a+1)&lt;BR&gt;&lt;br /&gt;endsub &lt;BR&gt;&lt;BR&gt;Starting from GoDB 5.2 you can use Recursion &lt;br /&gt;in functions too.&lt;BR&gt;&lt;BR&gt;ret=RecFunc(1)&lt;BR&gt;&lt;br /&gt;End&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;FONT &lt;br /&gt;face=Courier&gt;FunctionI&amp;nbsp;RecFunc(a)&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iff a &amp;gt;10 then return&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print a&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;call RecFunc(a+1)&lt;BR&gt;&lt;br /&gt;end Function&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;BR&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="DimensioningandArrays"&gt;&lt;FONT color=#000000&gt;Dimensioning and Arrays&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;GoDB Supports creation of Numeric or string arrays using the &lt;STRONG&gt;DIM&lt;/STRONG&gt; &lt;br /&gt;statement.&lt;BR&gt;&lt;BR&gt;DIMI - Integer Variables&lt;BR&gt;DIMF -&amp;nbsp;Floating &lt;br /&gt;Point&amp;nbsp;Variables&lt;BR&gt;DIMS -&amp;nbsp;String Variables&lt;BR&gt;&lt;BR&gt;&lt;BR&gt; &lt;br /&gt;&lt;STRONG&gt;Numeric Array&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Ex:&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;&lt;STRONG&gt;DimI&lt;/STRONG&gt; a(100)&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;for i=0 to 99&lt;BR&gt;&lt;br /&gt;a(i)=i&lt;BR&gt;&lt;br /&gt;next&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;for i=0 to 99&lt;BR&gt;&lt;br /&gt;print a(i)&lt;BR&gt;&lt;br /&gt;next&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Note: GoDB arrays are 0 based so when you declare an array of 100 elements the elements start from 0-99.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Multidimensional Numeric Array&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Ex:&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;&lt;STRONG&gt;DimI &lt;/STRONG&gt; a(100,10)&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;GoDB Supports up to Four Dimensions for Numeric Arrays. &lt;BR&gt;Only single dimensional String arrays are supported.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;DimS&lt;/STRONG&gt; can be used to define Strings and &lt;br /&gt;String Arrays.&lt;BR&gt;&lt;BR&gt;Ex:&lt;BR&gt;&lt;STRONG&gt;DimS&lt;/STRONG&gt; a$ ' Single &lt;br /&gt;String&lt;BR&gt;&lt;STRONG&gt;DimS&lt;/STRONG&gt; b$(10) ' Array of 10 &lt;br /&gt;Strings.&lt;BR&gt;&lt;STRONG&gt;DimS&lt;/STRONG&gt; b$(10,5) ' 2-D Array Strings.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;One interesting thing about GoDB strings is that they can be accessed as an array of chars. You can also use the Mid$ function to get substrings.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;a$="testing 123 " &lt;BR&gt;&lt;br /&gt;for i=0 to len(a$)-1 &lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print a$(i) &lt;BR&gt;&lt;br /&gt;next &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;GoDB Strings are internally stored as Null terminated character strings. You need to consider this while setting characters at different positions.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;This will work&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;a$="123" &lt;BR&gt;&lt;br /&gt;a$(0)="A" &lt;BR&gt;&lt;br /&gt;print a$  &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;This will not work because there is a null char at a(3) so the print statement will print only till a(3)&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;a$="123"&lt;BR&gt;&lt;br /&gt;a$(4)="A"&lt;BR&gt;&lt;br /&gt;print a$  &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;This will work.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;a$="123" &lt;BR&gt;&lt;br /&gt;a$(3)="A" &lt;BR&gt;&lt;br /&gt;a$(4)="\x00" &lt;BR&gt;&lt;br /&gt;print a$ &lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT face=Verdana&gt;&lt;STRONG&gt;Dim&lt;/STRONG&gt; can be used to define String &lt;br /&gt;with explicit sizes.&lt;/FONT&gt;        &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT &lt;br /&gt;face=Verdana&gt;Ex: String of size 10000&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;Dim a$(10000)&lt;BR&gt;&lt;br /&gt;a$="testing 123 "&lt;BR&gt;&lt;br /&gt;print a$&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;br /&gt;   &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Ex: Array of 10 Strings with 100 chars&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;Dim a$(10,100)&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;for i=0 to 9&lt;BR&gt;&lt;br /&gt;a$(i)="Hello there " + i&lt;BR&gt;&lt;br /&gt;next&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;for i=0 to 9&lt;BR&gt;&lt;br /&gt;print a$(i)&lt;BR&gt;&lt;br /&gt;next&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Array of strings can also be used like a two dimensional array of characters.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;print a$(0,0) &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Will print the first &lt;br /&gt;character in the first string.&lt;BR&gt;&lt;BR&gt;Multi dimensional strings (upto 3D) can be &lt;br /&gt;declared using the Dim &lt;BR&gt;&lt;STRONG&gt;&lt;BR&gt;Ex: 2D Array of 10x10 Strings with 100 &lt;br /&gt;chars&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;SPAN class=codestyle&gt;Dim a$(10,10,100)&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;You&amp;nbsp;Can use &lt;br /&gt;&lt;STRONG&gt;Redim&lt;/STRONG&gt; to resize numeric arrays and &lt;STRONG&gt;StrExpand&lt;/STRONG&gt; to resize Strings.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;You can &lt;br /&gt;initialize arrays by assiging the values enclosed in a bracket.&lt;BR&gt;&lt;BR&gt;Dim &lt;br /&gt;A(10)=(0,1,2,3,4,5,6,7,8,9)&lt;BR&gt;&lt;BR&gt;You can also have new lines for &lt;br /&gt;readability.&lt;BR&gt;&lt;BR&gt;Dim &lt;br /&gt;A(10)=(0,1,2,3,4,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;5,6,7,8,9)&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Strings Arrays.&lt;BR&gt;&lt;BR&gt;Dim &lt;br /&gt;st$(10)=("0","1","2","3","4","5","6","7","8","9")&lt;BR&gt;&lt;BR&gt;For Multidimensional &lt;br /&gt;Arrays you need to provide the data for all the elements.&lt;BR&gt;&lt;BR&gt;Dim &lt;br /&gt;A(9)=(1,2,3,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;4,5,6,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;7,8,9)&lt;BR&gt; &lt;br /&gt;  &lt;BR&gt;&lt;STRONG&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="DimensioningandArrays"&gt;&lt;FONT color=#000000&gt;  Advanced&lt;/FONT&gt;&lt;/A&gt; Subroutines and Labels&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;GoDB supports jumping using &lt;br /&gt;the GoTo Statements.&lt;BR&gt;&lt;BR&gt;iff a=1 then goto !Cond1&lt;BR&gt;iff a=2 then goto &lt;br /&gt;!Cond2&lt;BR&gt;goto !ENDPROG&lt;BR&gt;&lt;BR&gt;!Cond1&lt;BR&gt;print "Cond1"&lt;BR&gt;goto &lt;br /&gt;!ENDPROG&lt;BR&gt;&lt;BR&gt;!Cond2&lt;BR&gt;print "Cond2"&lt;BR&gt;&lt;BR&gt;!ENDPROG&lt;BR&gt;&lt;BR&gt;To allow of &lt;br /&gt;jumping based on a variable GoDB supports Label Dereferencing.&lt;BR&gt;Using Label &lt;br /&gt;Dereferencing the label can be decided based on a string variable and a &lt;br /&gt;&lt;BR&gt;Dereferencing &lt;STRONG&gt;{ &lt;br /&gt;operator&lt;/STRONG&gt;.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;j$="!Cond"+a&lt;BR&gt;goto {j$}&lt;BR&gt;&lt;/STRONG&gt;goto &lt;br /&gt;!ENDPROG&lt;BR&gt;&lt;BR&gt;!Cond1&lt;BR&gt;print "Cond1"&lt;BR&gt;goto !ENDPROG&lt;BR&gt;&lt;BR&gt;!Cond2&lt;BR&gt;print &lt;br /&gt;"Cond2"&lt;BR&gt;&lt;BR&gt;!ENDPROG&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Similarly you can use Dereferencing &lt;br /&gt;operator to call Subroutines too.&lt;BR&gt;&lt;BR&gt;for i=1 to &lt;br /&gt;3&lt;BR&gt;a$="Test"+i&lt;BR&gt;&lt;STRONG&gt;call &lt;br /&gt;{a$}&lt;/STRONG&gt;&lt;BR&gt;next&lt;BR&gt;&lt;BR&gt;END&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Sub&amp;nbsp;Test1&lt;BR&gt;print &lt;br /&gt;"Test1"&lt;BR&gt;EndSub&lt;BR&gt;&lt;BR&gt;Sub&amp;nbsp;Test2&lt;BR&gt;print &lt;br /&gt;"Test2"&lt;BR&gt;EndSub&lt;BR&gt;&lt;BR&gt;Sub&amp;nbsp;Test3&lt;BR&gt;print &lt;br /&gt;"Test3"&lt;BR&gt;EndSub&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Note: Dereferencing can be done to &lt;br /&gt;Fields, and even Variables.&lt;BR&gt;&lt;BR&gt;Field Dereferencing&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;FONT &lt;br /&gt;face=Courier&gt;b$="Grid1" 'Calling Object &lt;br /&gt;Methods&lt;BR&gt;#{b$}.Addrow("Data1,Data2,Data3,Data4,Data5")&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT &lt;br /&gt;face=Verdana&gt;Variable Dereferencing&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;for i=1 to &lt;br /&gt;10&lt;BR&gt;dimS {"GI"+i+"$"}&lt;BR&gt;Next&lt;BR&gt;&lt;BR&gt;for i=1 to &lt;br /&gt;10&lt;BR&gt;&amp;nbsp;GetImage({"GI"+i+"$"},10,10,20,20)&lt;BR&gt;Next&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;  &lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name=Recursion&gt;&lt;FONT color=#000000&gt;Multiline&lt;/FONT&gt;&lt;/A&gt; &lt;br /&gt;Commands&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;Multiline commands can be written using the _ &lt;br /&gt;operator.&lt;BR&gt;&lt;BR&gt;&lt;SPAN class=codestyle&gt;a$="Hello There" &lt;br /&gt;_&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;"Welcome here"&lt;BR&gt;print a$&lt;/SPAN&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;iff a&amp;gt;10 and b&amp;gt;10 and _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;c&amp;gt;20 and d&amp;gt;20 then return&lt;BR&gt;&lt;BR&gt;if a&amp;gt;10 and b&amp;gt;10 and &lt;br /&gt;_&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c&amp;gt;20 and d&amp;gt;20 then &lt;BR&gt;&lt;BR&gt;print &lt;br /&gt;"Hello"&lt;BR&gt;&lt;BR&gt;endif&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Note: The _ operator should have a preceding &lt;br /&gt;space and should be followed by a newline and should not have any spaces (or &lt;br /&gt;white spaces) following.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/body&gt;&lt;/HTML&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-1937791175561856";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19206046-3685137687647080861?l=godbdevnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://godbdevnet.blogspot.com/feeds/3685137687647080861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19206046&amp;postID=3685137687647080861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default/3685137687647080861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default/3685137687647080861'/><link rel='alternate' type='text/html' href='http://godbdevnet.blogspot.com/2010/09/lesson-2.html' title='Lesson 2'/><author><name>Author</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19206046.post-7768238388506152140</id><published>2010-09-16T17:12:00.000+05:30</published><updated>2010-09-16T17:14:43.604+05:30</updated><title type='text'>Lesson 3</title><content type='html'>&lt;html&gt;&lt;br /&gt;&lt;LINK href="../images/style.css" type=text/css rel=stylesheet&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=heading1&gt;Lesson 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="Multiplatform"&gt;&lt;FONT color=#000000&gt;Multiplatform Form Builder and Event Handlers&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;GStudio comes with a powerful Form builder that lets you design Forms visually. Forms in GoDB are text files with XML tags &lt;br /&gt;that correspond to different controls that GoDB Supports. When you add a text box to the Form a XML tag corresponding to a text box is created.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Ex: &lt;BR&gt;&lt;BR&gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;TEXT NAME="USERNAME" VALUE="012345678"/&amp;gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GoDB Supports the following Controls.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;STRONG&gt;A quick summary of the widgets&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="StandardControls"&gt;&lt;FONT color=#000000&gt;Standard Controls&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=1 cellspacing=0 cellpadding=0 bordercolorlight=#000000 bordercolordark=#ffffff  style="FONT-SIZE: 10pt; FONT-FAMILY: arial"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/label.gif"&gt;&lt;/td&gt;&lt;td&gt;Label&lt;/td&gt;&lt;td&gt;Used to Display Labels.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/text.gif"&gt;&lt;/td&gt;&lt;td&gt;Text&lt;/td&gt;&lt;td&gt;Edit&amp;nbsp;Box for capturing Data From the user.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/password.gif"&gt;&lt;/td&gt;&lt;td&gt;Password&lt;/td&gt;&lt;td&gt;Edit&amp;nbsp;Box for capturing&amp;nbsp;Password From the user.&lt;/td&gt;&lt;/tr&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/radio.gif"&gt;&lt;/td&gt;&lt;td&gt;Radio&lt;/td&gt;&lt;td&gt;Radio Button. Controls with the same name are grouped.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/checkbox.gif"&gt;&lt;/td&gt;&lt;td&gt; Check&lt;/td&gt;&lt;td&gt;  Check Box.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/button.gif"&gt;&lt;/td&gt;&lt;td&gt;Button&lt;/td&gt;&lt;td&gt;Standard Button   &lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/image.gif"&gt;&lt;/td&gt;&lt;td&gt;Image&lt;/td&gt;&lt;td&gt;   &lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/frame.gif"&gt;&lt;/td&gt;&lt;td&gt;Frame box&lt;/td&gt;&lt;td&gt;Used to group controls.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/link.gif"&gt;&lt;/td&gt;&lt;td&gt;Link&lt;/td&gt;&lt;td&gt;Used to Navigate between pages. URL property determines the new page.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/readonly.gif"&gt;&lt;/td&gt;&lt;td&gt;Read Only&lt;/td&gt;&lt;td&gt; Readonly box for displaying results etc.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/popup.gif"&gt;&lt;/td&gt;&lt;td&gt;Popup Box&lt;/td&gt;&lt;td&gt;Popup to display help and alert Messages.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/script.gif"&gt;&lt;/td&gt;&lt;td&gt;Script&lt;/td&gt;&lt;td&gt;To&amp;nbsp;Associate a different Bas File to the form.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="UIEnhancementControls"&gt;&lt;FONT color=#000000&gt;UI Enhancement Controls&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=1 cellspacing=0 cellpadding=0 bordercolorlight=#000000 bordercolordark=#ffffff  style="FONT-SIZE: 10pt; FONT-FAMILY: arial" &gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/divider.gif"&gt;&lt;/td&gt;&lt;td&gt;Divider&lt;/td&gt;&lt;td&gt; To Display a Divider between controls&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/poly.gif"&gt;&lt;/td&gt;&lt;td&gt;Poly Line&lt;/td&gt;&lt;td&gt;  Special control to display polygons.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/title.gif"&gt;&lt;/td&gt;&lt;td&gt;Title Text&lt;/td&gt;&lt;td&gt;To set the title for the form.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="DataRelated"&gt;&lt;FONT color=#000000&gt;Enterprise Controls&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;table border=1 cellspacing=0 cellpadding=0 bordercolorlight=#000000 bordercolordark=#ffffff  style="FONT-SIZE: 10pt; FONT-FAMILY: arial"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/multi.gif"&gt;&lt;/td&gt;&lt;td&gt; MultiLine&lt;/td&gt;&lt;td&gt;Edit&amp;nbsp;Box for capturing Multiline Data From the user.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/list.gif"&gt;&lt;/td&gt;&lt;td&gt;List Box&lt;/td&gt;&lt;td&gt; DropDown List box.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="DataRelated"&gt;&lt;FONT color=#000000&gt;Data Related and Special Controls&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=1 cellspacing=0 cellpadding=0 bordercolorlight=#000000 bordercolordark=#ffffff  style="FONT-SIZE: 10pt; FONT-FAMILY: arial"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/lut.gif"&gt;&lt;/td&gt;&lt;td&gt;Look Up Table (LUT)&lt;/td&gt;&lt;td&gt;Used to Display a Popup to select master items &lt;br /&gt;      like Products,Customers etc.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/egrid.gif"&gt;&lt;/td&gt;&lt;td&gt;Embedded Grid&lt;/td&gt;&lt;td&gt;Grid that can be embedded in a form.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/calc.gif"&gt;&lt;/td&gt;&lt;td&gt;Calculator Box&lt;/td&gt;&lt;td&gt;Popup calculator Control for entering numeric data and calculations.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/date.gif"&gt;&lt;/td&gt;&lt;td&gt;Date&lt;/td&gt;&lt;td&gt;Popup Datebox Control to select date.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/sign.gif"&gt;&lt;/td&gt;&lt;td&gt;Sign Box&lt;/td&gt;&lt;td&gt;Popup Sign box control to capture Signature.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/grid.gif"&gt;&lt;/td&gt;&lt;td&gt;Grid&lt;/td&gt;&lt;td&gt;Full screen grid to display reports etc.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="FormSubmitControls"&gt;&lt;FONT color=#000000&gt;Form Submit Controls&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=1 cellspacing=0 cellpadding=0 bordercolorlight=#000000 bordercolordark=#ffffff  style="FONT-SIZE: 10pt; FONT-FAMILY: arial" &gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/hidden.gif"&gt;&lt;/td&gt;&lt;td&gt;Hidden&lt;/td&gt;&lt;td&gt; Hidden box for holding temporary values.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/submit.gif"&gt;&lt;/td&gt;&lt;td&gt;Submit Button&lt;/td&gt;&lt;td&gt;To Submit the values of a form to an internet site or to another page.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;IMG src="images/cancel.gif"&gt;&lt;/td&gt;&lt;td&gt;Cancel Button&lt;/td&gt;&lt;td&gt;To Clear the values entered in a form.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="BuildingForms"&gt;&lt;FONT color=#000000&gt;Building Forms&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;This section will demonstrate the process of creating a form, dropping controls and creating event handlers.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Step 1) Create a New project&lt;BR&gt;&lt;br /&gt;Step 2) Open Home.txt and select the "Welcome to GoDB" button and delete it.&lt;BR&gt;&lt;br /&gt;Step 3) Drop three label controls and Change their values to &lt;STRONG&gt;Enter Number 1&lt;/STRONG&gt; , &lt;STRONG&gt;Enter Number 2 and Result&lt;/STRONG&gt;.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g14.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g15.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Step 4) Drop a Button Control, Drop three text controls and empty the value attributes for the text controls.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g16.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Step 5) Right click on the Calc Button -&amp;gt; Script Wizard -&amp;gt; On Click. &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g17.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Alternatively for Click events you can just double Click on the control.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;This should open up home.bas with a empty event handler.&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;Sub Button1_Click &lt;BR&gt;&lt;br /&gt;' Add Handler Code Here &lt;BR&gt; &lt;br /&gt;End Sub&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Add the following Code to the event handler&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;Sub Button1_Click &lt;BR&gt;&lt;br /&gt;#text3=#text1+#text2&lt;BR&gt;&lt;br /&gt;End Sub &lt;br /&gt;&lt;/SPAN&gt; &lt;br /&gt;        &lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Compile and run the application. Enter data in the text boxes and hit the button. The third editbox should show the &lt;br /&gt;sum of the numbers entered in the first two edit boxes.&lt;BR&gt;&lt;BR&gt;   &lt;br /&gt;Certain issues remain with this app. First the edit boxes allow characters.&lt;BR&gt;&lt;br /&gt;Second the content in the result edit box can be modified. A common way to handle this is to make the edit boxes accept only numeric values and the result box &lt;br /&gt;readonly.Here is how this can be done.&lt;br /&gt;      &lt;br /&gt;&lt;BR&gt;&lt;BR&gt;  &lt;br /&gt;Select the text box and locate the validate property , click on the ... button and select the Numeric Check Box and hit &lt;br /&gt;ok. Repeat this for the second text box too.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g18.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Select the third text box and make Disabled attribute to Yes. Alternatively you can also use a Readonly box for the result.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g19.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="MultiplatformForms"&gt;&lt;FONT color=#000000&gt;Multiplatform Forms&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;The form builder in GoDB can be used to create Forms that have different layout in different platforms.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;The Master Form is common for all the platforms.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;To adjust the layout for a different platform just select the appropriate platform tab.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g20.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g21.png" &gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;The blue guide line indicates the screen boundaries for the platform. &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Here we can see that the form has to be redesigned for palm.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Simply reposition or change the attributes of the controls to suit your platform screen size. &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g22.png" border=1 &gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;You can see that we have changed the X and Y positions in the Palm Form. This is indicated by the &lt;STRONG&gt;BOLD&lt;/STRONG&gt; font in the attribute names.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;If you want to remove any attribute you have to do it in the Master page.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;When the project is compiled based on the platform selected for compilation the attributes from the appropriate Form will be used.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g23.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;During the design process sometimes you might want to apply the value of a specific attribute to &lt;br /&gt;all the platforms.This can be done by selecting the attribute in the Property list window and clicking on the &lt;STRONG&gt;A&lt;/STRONG&gt; button.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;If you want to apply all the attributes in a specific control in a platform to all the platforms you can select the control and Right click &lt;br /&gt;-&amp;gt; Apply to all platforms.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;You can also restore the default settings for a control by selecting the control and Right click &lt;br /&gt;-&amp;gt; Revert all to default.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;You can remove unwanted platforms by right clicking on the platform tab and selecting Remove Platform.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG style="LEFT: 10px; TOP: 4649px" alt="" src="images/g24.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;You can add&amp;nbsp;a new platform you can right clicking on the platform tab and selecting Add Platform.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g25.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;In the popup just select the platforms you want to add or &lt;br /&gt;remove and hit OK. &lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="Debugging"&gt;&lt;FONT color=#000000&gt;Debugging&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;GStudio has a powerful built in debugger with break points, watch points etc. Lets see how a program can be &lt;br /&gt;debugged using GStudio.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Copy the following code and paste it in home.bas&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN class=codestyle&gt;&lt;br /&gt;&lt;br /&gt;i=10&lt;BR&gt;&lt;br /&gt;j=20&lt;BR&gt;&lt;br /&gt;end&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Sub Button1_Click&lt;BR&gt;&lt;br /&gt;dim lvar&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; lvar=10&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; #text3=#text1+#text2&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; print i&lt;BR&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; print lvar&lt;BR&gt;&lt;br /&gt;End Sub &lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;You can set a Breakpoint by clicking on the left margin or pressing F9 key.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g46.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Now Compile the project and click on Start Debug.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g47.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;This will launch the simulator in debug mode. When you login you should be able to see the Program Trace, That is the Blue markers in the Left Margin.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g48.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Now Click on the Button in the simulator.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g52.png"&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;This should stop the execution at the break point.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g49.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;You can see the variables and fields in the Watch Window.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g50.png" border=1&gt;&amp;nbsp;&amp;nbsp; &lt;IMG alt="" src="images/g51.png" border=1&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;When the Execution is suspended by a break point you can use the debug aids to Control the execution.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Click on &lt;IMG alt="" src="images/g52.png" border=1&gt;&amp;nbsp;to "Step Into" a Call Statement&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Click on &lt;IMG alt="" src="images/g53.png" border=1&gt;&amp;nbsp;to "Step Over" a Call Statement&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Click on &lt;IMG style="LEFT: 290px; TOP: 7996px" alt="" src="images/g54.png" border=1&gt;&amp;nbsp;to "Step out" of a Subroutine&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Click on &lt;IMG style="LEFT: 386px; TOP: 8043px" alt="" src="images/g55.png" border=1&gt;&amp;nbsp;to execute till the current cursor position&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Click on &lt;IMG style="LEFT: 10px; TOP: 8232px" alt="" src="file://\\ganxsvr1\d$\gBrowDB\GoDB_manual\NewTutorials\images\g58.png" border=1&gt;&amp;nbsp;to Continue Execution from the current break point&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Click on &lt;IMG style="WIDTH: 27px; HEIGHT: 26px" height=26 alt="" hspace=0 src="images/g56.png" width=27 useMap="" border=1&gt;&amp;nbsp;to Stop the Debug session&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Click on &lt;IMG style="LEFT: 298px; TOP: 8136px" alt="" src="images/g57.png" border=1&gt;&amp;nbsp;to Restart the Debug Session&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;To reset a breakpoint simply click on the red dot using your mouse or press F9 key.&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt; &lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="FormEvents"&gt;&lt;FONT color=#000000&gt;Form Events&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;The above examples &lt;br /&gt;demonstrated Events that Fields generate, similarly &lt;BR&gt;the forms also generate &lt;br /&gt;events that are common to all the controls like Mouse Click etc.&lt;BR&gt;&lt;BR&gt;To &lt;br /&gt;Generate Form Event Handlers Right click on the form when no controls are &lt;br /&gt;&lt;BR&gt;selected.&lt;BR&gt;&lt;BR&gt;&lt;IMG alt="" src="images/g79.png" border=1 &lt;br /&gt;&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Form_Load&lt;/STRONG&gt; Event is called when the form &lt;br /&gt;is loaded.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Form_Keypress&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;Event is called the &lt;br /&gt;user presses any key.&lt;BR&gt;&lt;BR&gt;GetKey() Function can be used to identify the key &lt;br /&gt;pressed.&lt;BR&gt;KeyHandled method determines if the events are bubbled to&lt;BR&gt;the &lt;br /&gt;next control or not.&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;Sub Form_KeyPress &lt;BR&gt;' Add Handler &lt;br /&gt;Code Here &lt;BR&gt;' keycode = GetKey() &lt;BR&gt;' KeyHandled(1) &lt;BR&gt;End Sub &lt;BR&gt;&lt;BR&gt;&lt;FONT &lt;br /&gt;face=Verdana&gt;&lt;STRONG&gt;Form_MouseClick&amp;nbsp;, Form_MouseUP and Form_MouseMove &lt;br /&gt;&lt;/STRONG&gt;&lt;BR&gt;Events are generated for mouse events.&lt;BR&gt;GetX() and GetY() &lt;br /&gt;functions return the X,Y location of the mouse.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT &lt;br /&gt;face=Verdana&gt;&lt;FONT size=2&gt;MouseHandled method determines if the events are &lt;br /&gt;bubbled to&lt;BR&gt;the next control or not. For Example of a user clicked on a &lt;br /&gt;button&lt;BR&gt;&lt;/FONT&gt;Form_MouseClick is called first and if mouse is handled in &lt;br /&gt;this&lt;BR&gt;event handler you can choose not to process the Button_Click &lt;br /&gt;Event.&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;Sub Form_MouseClick &lt;BR&gt;' Add Handler Code Here &lt;BR&gt;' x &lt;br /&gt;= GetMouseX(0) &lt;BR&gt;' y = GetMouseY(0) &lt;BR&gt;' MouseHandled(1) &lt;BR&gt;End &lt;br /&gt;Sub&lt;BR&gt;&lt;BR&gt;&lt;FONT face=Verdana&gt;&lt;STRONG&gt;Form_Paint&lt;/STRONG&gt; Event is called when &lt;br /&gt;the Microbrowser is painted,&lt;BR&gt;All the drawing routines like DrawLine &lt;br /&gt;FillRect etc should be coded here.&lt;BR&gt;&lt;br /&gt;&lt;BR&gt;&lt;br /&gt;Starting with GoDB 3.6 &lt;b&gt;Form_RMouseClick&lt;/b&gt; and &lt;b&gt;Form_RMouseUp&lt;/b&gt;&lt;BR&gt;&lt;br /&gt;Have been added to handle right mouse clicks on platforms that&lt;BR&gt;&lt;br /&gt;support it.&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR SIZE=1&gt;&lt;br /&gt;&lt;br /&gt;&lt;P class=heading2&gt;&lt;A name="FormNavigation"&gt;&lt;FONT color=#000000&gt;Form Navigation&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt; &lt;br /&gt;&lt;br /&gt;&lt;P style="MARGIN-LEFT: 50px"&gt;&lt;br /&gt;&lt;br /&gt;GoDB uses a microbrowser for rendering forms,&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Add a new form to the project. Right click on project explorer and select &lt;STRONG&gt;Add Form&lt;/STRONG&gt;.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g26.png" &gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;In the open dialog enter the name &lt;STRONG&gt;Main&lt;/STRONG&gt;. &lt;br /&gt;Select Yes when prompted for creating a file.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Double click on the Main.Frm in the project explorer add a few controls to the form and save.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;Now open Home.FRM and add a Link Control &lt;IMG src="images/link.gif"&gt;. Change the value attribute for this control to &lt;br /&gt;&lt;STRONG&gt;Load Main&lt;/STRONG&gt;. Change the URL attribute to &lt;STRONG&gt;!main.frm.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;In godb all references to local files should start with a !.&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;IMG alt="" src="images/g27.png" border=1&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Note: When Changing primary properties use the &lt;br /&gt;Master page. Use the platform pages only for properties that differ from the &lt;br /&gt;Master. This is to avoid errors where you might change a property in PalmOS page &lt;br /&gt;and compile a Pocket PC project and wonder why the property change does not &lt;br /&gt;work.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;Alternatively you can just dragdrop a file from the &lt;br /&gt;project explorer&lt;BR&gt;on to the form and this will create a link control.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;br /&gt;Compile and run the project.&lt;BR&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;/body&gt;&lt;/HTML&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-1937791175561856";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19206046-7768238388506152140?l=godbdevnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://godbdevnet.blogspot.com/feeds/7768238388506152140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19206046&amp;postID=7768238388506152140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default/7768238388506152140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19206046/posts/default/7768238388506152140'/><link rel='alternate' type='text/html' href='http://godbdevnet.blogspot.com/2010/09/lesson-3.html' title='Lesson 3'/><author><name>Author</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
