tag:blogger.com,1999:blog-9618854520630042352024-03-05T19:16:53.606-08:00Lennie De Villiers BlogA blog about software development with Java, C#, C++, PHP etc.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.comBlogger116125tag:blogger.com,1999:blog-961885452063004235.post-2380666299717942842011-06-21T06:51:00.001-07:002011-06-21T06:57:25.224-07:00Delphi for Android FutureFirstly am going to be very secretive to the future of my Delphi for Android tool since others can and did steel my ideas... Profit from my idea! :-(<br /><br />There will b a brand new version of Delphi for Android but more than that am not going to say or say when it will become available.<br /><br />From now on I will not publish more detail about this and the other ideas/tools that am working on.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com14tag:blogger.com,1999:blog-961885452063004235.post-85680095790485390402011-05-19T02:00:00.000-07:002011-05-19T02:05:58.164-07:00Delphi For Android: Warning: You need to manually copy the Android framework library before compile.After you run the Delphi for Android compiler you will get the following error on the command line:<br /><br /><span style="font-weight:bold;">Warning: You need to manually copy the Android framework library before compile.<br /><span style="font-style:italic;"></span></span><br /><br />The compiler integrate and call Java code, you need to copy <a href="http://code.google.com/p/delphidroid/source/browse/#svn%2Ftrunk%2FDelphiDroid%2FFramework%2FAndroid">Android.java</a> (soon to be called DAndroid.jar) to the /libs folder of your Android generated project.<br /><br /><span style="font-weight:bold;">To give you an update:<br /></span><br /><br />Am working very hard on the new compiler, toolset, components etc... Hopefully will have something ready soon.<br />Unfortunately this is a part-time project so my time is limited.<br /><br />Focus on:<br /><br />- New compiler written in Delphi itself (not C#).<br />- Components/libraries support for the Android SDK.<br />- Documentation an samples.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com8tag:blogger.com,1999:blog-961885452063004235.post-92001397759455449152011-04-04T01:26:00.000-07:002011-04-04T01:27:28.354-07:00Delphi For Android: Post To Mailing ListsIf you got any questions, problems etc please rather post your questions to one of the mailing lists at:<br /><br /><a href="http://code.google.com/p/delphidroid/wiki/Mailinglists">http://code.google.com/p/delphidroid/wiki/Mailinglists<br /></a><br /><br />Else its difficult to reply if you post to this blog.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-19865160340356320282011-03-04T00:59:00.001-08:002011-03-04T01:04:44.222-08:00Delphi For Android: Invalid Android SDK DirectoryWhen you run the compiler "dccdroid.exe" and get the following error:<br /><br />"Invalid Android SDK directory, please make sure that the 'AndroidSDKDirectory' application config points to a valid Android SDK location."<br /><br />There are a few things you need to check:<br /><br />1. Update the "DCCDroid.exe.config" file:<br /><br /><add key="AndroidSDKDirectory" value="C:\Lennie\Android\android-sdk_r04-windows\android-sdk-windows"/><br /><br />Change this to point to location of your Android SDK directory.<br /><br />2. Make sure that "adb.exe" can be found in that directory e.g on my location machine:<br /><br />C:\Lennie\Android\android-sdk_r04-windows\android-sdk-window\adb.exeLennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com7tag:blogger.com,1999:blog-961885452063004235.post-27251136846873205222011-02-09T22:46:00.000-08:002011-02-09T22:50:30.144-08:00Delphi For Android v0.4.1 Patch ReleaseFix bug where AndroidSDKDirectory can point directly to your Android tools directory.<br /><a href="http://code.google.com/p/delphidroid/">Download it now</a>.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com2tag:blogger.com,1999:blog-961885452063004235.post-35419755382267518892011-02-07T23:19:00.001-08:002011-02-07T23:21:43.810-08:00Delphi For Android v0.4 ReleaseDelphi For Android version 0.4 is ready for <a href="http://code.google.com/p/delphidroid/">download</a>.<br />In this version I've created binaries for Delphi 6.0.<br /><br />When is the next release? <br /><br />The next version of the compiler is written in Delphi and target <a href="http://www.phonegap.com">PhoneGap</a>... It will be released when its ready, goal is to have it by end of Feb 2011.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-4044668020172439912010-12-29T10:09:00.000-08:002010-12-29T10:38:20.039-08:00Delphi for Android v0.3 Tutorial<meta charset="utf-8">Delphi Prism support iPhone and Android application development using <a href="http://www.monotouch.net/">Monotouch</a> and <a href="http://www.monodroid.net/">MonoDroid</a> where the goal of Delphi for Android ("Delphi Droid" for short) is to allow any developer that has Delphi 5 onwards to write Android applications. <div>
<br /></div><div>This is a short tutorial on how to get started with Delphi Droid compiler version 0.3 as it currently is.</div><div>
<br /></div><div><b><span class="Apple-style-span">Note: The compiler isn't complete, there is still ALOT of work to be done. If you wish to help with the development, please <a href="mailto: lenniedg@gmail.com">contact me </a>to contribute.</span></b></div><div>
<br /></div><div><b>Requirements:</b></div><div><ul><li>The Android SDK together with the Java SDK and Ant. Ant get used to compile the Android application since DelphiDroid generate a standard Android project (similar to how you do it using Eclipse)</li><li>Download DelphiDroid_v0.3.zip from the <a href="http://code.google.com/p/delphidroid/">Google Code page</a>.</li><li>Off course you need Delphi 5.0 or later.</li><li>.Net framework 3.5 run-time</li></ul></div><div><b>What is in the ZIP:</b></div><div>
<br /></div><div>Within the ZIP file you will find the following directories:</div><div><ul><li><b>bin</b>: There is where the compiler etc are located. You can set this as your SYTEM VARIABLE to call from command line.</li><li><b>DelphiDroid/DCCDroid</b>: C# source code of the compile. This can be compiled using MS Visual Studio.Net 2008.</li><li><b>DelphiDroid/Framework</b>: The "Delphi For Android" package that all Delphi applications require.</li><li><b>DelphiDTest</b>: The Delphi example as in Sneak Preview 2 video.</li><li><b>Test</b>: The actual Android projected generated by the compiler from the DelphiDTest example.</li></ul></div><div><b>Setup Android SDK etc:</b></div><div>
<br /></div><div>I'm not going to explain how to setup the Android SDK, I assume you already have knowledge on how to install the SDK, set it up etc.</div><div>
<br /></div><div><meta charset="utf-8"><b>Setup the compiler:</b></div><div><b>
<br /></b></div><div>Within the bin folder you will find DCCDroid.exe.config file, open this using a plain text editor like Notepad:</div><div>
<br /></div><div><div><!--?xml version="1.0" encoding="utf-8" ?--></div><div><configuration></configuration></div><div> <appsettings></appsettings></div><div> <add key="AndroidSDKDirectory" value="C:\Lennie\Android\android-sdk_r04-windows\android-sdk-windows"></add></div><div> <add key="DelphiBinFolder" value="C:\Program Files\Borland\BDS\4.0\Bin"></add></div><div> </div><div></div></div><div><ul><li>Change the AndroidSDKDirectory to the location where you installed the Android SDK.</li><li>Change DelphiBinFolder to the location of the Delphi BIN folder that contains the Delphi compiler etc.</li></ul></div><div><b>Run the sample program:</b></div><div>
<br /></div><div>Open DelphiDTest and make sure it compile and run successfully in Delphi.</div><div>
<br /></div><div><b>Run the compiler with no parameters:</b></div><div>
<br /></div><div>Open the MS DOS Command prompt and run:</div><div>
<br /></div><div>DCCDroid.exe</div><div>
<br /></div><div>The output:</div><div>
<br /></div><div><div><blockquote></blockquote><div><div>Delphi For Android 0.0.0.3 Dev Build</div><div>Copyright © 2010 by Lennie De Villiers</div><div>
<br /></div><div>Invalid arguments, the following arguments are required: </div><div>
<br /></div><div>Project Name - Name of the project</div><div>Activity Name - Name of the activity</div><div>Package Name - Java package name</div><div>Input Source Path - Delphi source directory path</div><div>Android Output Path - Android output directory path</div></div></div></div><div>
<br /></div><div>
<br /></div><div>
<br /></div><div>So this is very basic command line parameters, i don't need to explain how they work.</div><div>
<br /></div><div>You can open compile.bat file under the bin folder for an example:</div><div>
<br /></div><div><div>dccdroid.exe DelphiAndroid DelphiAndroid com.test c:\Demo\DelphiDTest c:\Demo\Test</div><div>copy C:\Demo\bin\Android.Framework\*.* C:\Demo\Test\src\com\Test</div><div>cd c:\Demo\Test</div><div>ant debug</div></div><div>
<br /></div><div>This will compile the example program (assuming the location like c:\Demo) , copy the Android libraries and compile the program.</div><div>
<br /></div><div>When all is done you can run the run.bat file:</div><div>
<br /></div><div><div>cd c:\Demo\Test\bin</div><div>adb shell rm /data/app/com.test.apk</div><div>adb -s emulator-5554 install DelphiAndroid-debug.apk</div></div><div>
<br /></div><div>This will install the sample on the Android emulator.</div><div>
<br /></div><div><b>You can look at compile.bat and run.bat to write your own compile/run scripts.</b></div><div>
<br /></div><div><b>What is done:</b></div><div>
<br /></div><div>Just like I said before, there is still ALOT of work to be done. Currently only the following components are supported:</div><div>
<br /></div><div>TEdit</div><div>TLabel</div><div>TButton</div><div>
<br /></div><div><b>References:</b></div><div>
<br /></div><div><meta charset="utf-8"><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">Official Website: <a rel="nofollow"></a><a href="http://www.delphiforandroid.com/" rel="nofollow" style="color: rgb(0, 0, 204); ">http:\\www.delphiforandroid.com</a>
<br />Twitter: <a href="http://twitter.com/delphi_android" rel="nofollow" style="color: rgb(0, 0, 204); "></a><a href="http://twitter.com/delphi_android" rel="nofollow" style="color: rgb(0, 0, 204); ">http://twitter.com/delphi_android</a>
<br />Blog: <a href="http://lenniedevilliers.blogspot.com/" rel="nofollow" style="color: rgb(0, 0, 204); "></a><a href="http://lenniedevilliers.blogspot.com/" rel="nofollow" style="color: rgb(0, 0, 204); ">http://lenniedevilliers.blogspot.com/</a></span></div><div>
<br /></div><div><b>Mailing Lists:</b></div><div><meta charset="utf-8"><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; "><p style="max-width: 65em; ">Users:</p><p style="max-width: 65em; "><a href="http://groups.google.com/group/delphi-for-android-users" rel="nofollow" style="color: rgb(0, 0, 204); ">http://groups.google.com/group/delphi-for-android-users</a></p><p style="max-width: 65em; ">General users.</p><p style="max-width: 65em; ">Developers:</p><p style="max-width: 65em; "><a href="http://groups.google.com/group/delphi-for-android-developers" rel="nofollow" style="color: rgb(0, 0, 204); ">http://groups.google.com/group/delphi-for-android-developers</a></p><p style="max-width: 65em; "><b>Donations:</b></p><p style="max-width: 65em; ">If you can't donate your time but wish to don't some money to help with the development, then please <a href="mailto: lenniedg@gmail.com">contact me</a>.</p></span></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com7tag:blogger.com,1999:blog-961885452063004235.post-27889171779692985772010-12-14T01:55:00.000-08:002010-12-14T01:56:47.099-08:00Delphi For Android FutureNow what has Lennie been doing all the time? Am busy working on a new version of the compiler that got a couple of surprises in it... So stay tuned until next year in January 2011 when I will release the first version of the new compiler :-)Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com1tag:blogger.com,1999:blog-961885452063004235.post-87127058712754921712010-10-29T11:53:00.000-07:002010-10-29T11:56:52.944-07:00DelphiDroid Compiler, Why C#?Why have I written the DelphiDroid compiler in C#?<div><br /></div><div>C# is the language that I use the most for 90% of all development.... 5% Java and the other 5% in other languages like PHP or Delphi etc. So yes its the language that I got the most experience in currently.</div><div><br /></div><div>The compiler is also base upon the work I did for the C# For Blackberry toolset (This tool allow you to use C# to code for Blackberry mobile devices).</div><div><br /></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-48239666779640267682010-10-16T07:12:00.000-07:002010-10-16T07:39:49.760-07:00Delphi For Android Going Open SourceAfter a lot of consideration, research etc I've decided to release DelphiDroid (Delphi for Android) as open source. The project is now available for download from the <a href="http://code.google.com/p/delphidroid">Google Code project page</a> over sub-version.<br /><br />Over the next couple of days I will release:<br /><br />- Guide to how the tool works<br />- A Road Map<br />- Contribution Guide<br /><br /><span style="font-weight: bold;">Is it ready for production use yet?</span><br /><br />No not at all, there are still ALOT of work to be done before its ready for use to write a full application with.<br /><br />Please subscribe to the development mailing list or contact me if you wish to help.<br /><br /><span style="font-weight: bold;">How are you planning to make money?</span><br /><br />By offering my services as a software developer and accept donations etc.<br /><br /><span style="font-weight: bold;">Mailing Lists</span><br /><p>Users: </p><p><a href="http://groups.google.com/group/delphi-for-android-users" rel="nofollow">http://groups.google.com/group/delphi-for-android-users</a> </p><p>General users. </p><p>Developers: </p><p><a href="http://groups.google.com/group/delphi-for-android-developers" rel="nofollow">http://groups.google.com/group/delphi-for-android-developers</a> </p><p>If your a developer.<br /></p>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com2tag:blogger.com,1999:blog-961885452063004235.post-34705420894012014692010-10-10T00:15:00.001-07:002010-10-10T00:56:03.391-07:00Delphi For Android Progress & Component Poll<span style="font-weight: bold;">Currently focusing on:</span><br /><ol><li>Project planning for the next Sprints until first Beta version and first release version 1.0<br /></li><li>Indicate Application Icon and other assets<br /></li><li>Write Android specific components like TDroidButton (extend TButton), TDroidLabel (extends TLabel) etc that only have Android specific properties/methods/events.</li><li>Library support: You can write your own libraries, this will help extending the tool (will blog more about this later)</li><li>Audio and video support</li><li>Images components</li><li>Activity library to manage the activity events etc</li><li>Sample applications</li></ol>All above is still part of the Activity, later tasks add support for Android Services, Intents, Broadcast Receivers, Content Providers, Widgets etc.<span style="font-weight: bold;"><br /><br />Other notes:</span><br /><br />C++ Builder support will be added much later and isn't part of this release version 1.0.<br />Lazarus/Delphi Prism support much later.<br /><br /><span style="font-weight: bold;">Twitter Poll: </span><span id="p_question"><span style="font-weight: bold;">Create your own Delphi->Android components?</span><br /><br />Please fill in the <a href="http://twtpoll.com/sy0wg5">poll here</a>.<br /><br />I use polls to get feedback on what direction to take in the tool.... Sometimes to make a design decisions is difficult and for that I ask feedback.<br /><br />Currently all components like TButton etc will have Android specific version that only have Android properties/events.<br /><br />Only myself can write additional components.<br /></span>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com2tag:blogger.com,1999:blog-961885452063004235.post-33734284066074580902010-09-13T06:41:00.000-07:002010-09-13T06:44:43.526-07:00Delphi For Android: Run Under Mono 2.4The Delphi for Android tool (DCCDroid.exe) run under Mono 2.4 and later.<br />I haven't tested on a Linux/Mac OS X machine since we don't support Lazarus and Delphi Prism.<br /><br /><strong>More questions time:</strong><br /><br />Lazarus and Delphi Prism support.<br />Lazarus support will take while to implement and test on Linux (even if DCCDroid.exe run on Mono) also Delphi Prism use a total different form design (WPF). For now I've decided that its better to focus on pure Delphi support and later on think about Lazarus/Delphi Prism.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-73884554363570958602010-09-10T09:45:00.000-07:002010-09-10T09:54:09.584-07:00Delphi For Android - Lazarus (Free Pascal) SupportDCCDroid doesn't work with <a href="http://www.lazarus.freepascal.org/">Lazarus (Free Pascal) IDE</a> because it reads the form layout to know where to place the controls on an absolute layout position as well as getting the control properties (like text, width/height etc).<br /><br />Lazarus use a different file format (*.lfm) where Delphi use the DFM file layout.<br /><br />Another question I received:<br /><br /><span style="font-weight: bold;">How does the tool work internally?</span><br /><br />Now that is a top secret inside trade secret! Just to say that it does compile to a native application (not a web application) using the Android SDK. You don't need to deploy any special run time etc. Underneath it use the Android tool chain.<br /><br />The inner details am not going to share.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-38055720091308698652010-09-09T08:01:00.000-07:002010-09-09T08:52:03.867-07:00Delphi For Android Sneak Preview 2In this preview:<br /><br />- Running in Delphi 2006.<br />- TEdit and TLabel control together with event on TLabel<br />- Control properties, you don't need to write anything special just to get or set the value from a control... Just use the property like you always have!<br />- Actually show you the compiler and what the compile.bat and run.bat files do.<br /><br />I will try to post a sneak preview at least every month but that depends upon the current Sprint size since each month I set myself a set of goals to archive.<br /><br />For questions, comments, suggestions please contact me: <a href="mailto:lenniedg@gmail.com">lenniedg@gmail.com</a><br />Twitter: <a href="http://twitter.com/delphi_android">http://twitter.com/delphi_android</a><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ykFQV-cIWMU?hl=en&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/ykFQV-cIWMU?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><strong>What's Next?<br /></strong><br />- Samples, include all the examples in the package.<br />- Additional controls<br />- Additional work on the core tool framework / libraries<br />- Library support: Allow you to write your own library.<br /><br /><strong>Frequently Asked Questions (FAQ)</strong><br /><br />What versions of Delphi are supported?<br /><br /><em>Currently it runs in Delphi 7, 2006 and 2010. Haven't tested with the new Delphi EX yet. Delphi Prism not at all.</em><br /><br />Is there Kylix support?<br /><br /><em>No, and no plans at the moment since Kylix is seen as a dead product.</em><br /><br />Is there Lazarus (Free Pascal) support?<br /><br /><em>No but it should work with Lazarus. I will give it a try.</em><br /><br />When will it become available?<br /><br /><em>Can't say for now since there is sooo much work still left. There will be a beta version but licensing, cost etc unknown at this stage.</em><br /><em></em><br />C++ Builder support?<br /><br /><em>See poll below.</em><br /><br />In what language is it written in? Delphi?<br /><br /><em>It's written in C# targeting .NET framework 3.5. The library "Delphi for Android" that you use in Delphi is the only part written in Delphi.</em><br /><em></em><br />Does it run on an actual phone?<br /><br /><em>Yes it does, I tested it on my HTC Desire.</em><br /><br />What target of Android is supported?<br /><br /><em>The tool for now default to Android 2.1 but you will be able to indicate the target. Minimum target I guess will be 1.6</em><br /><br />Other platforms - iPhone? Symbian? Samsung Wave?<br /><br /><em>Not now sorry... Am only 1 guy you know :)</em><br /><br />Anyone using this yet in a real world application?<br /><br /><em>I'm giving demos, getting comments and alot of suggestions but for now the tool isn't at a stage yet to be avialable to write a full real world application. For one, you can't sign your application yet for public release.</em><br /><br /><strong>Poll</strong><br /><br />I got some suggestions on adding support for C++ Builder.... I'm not going to jump to add support now since that will side track the original project plans etc that will extend delivery since am sure everyone want a working copy to play with soon! For now please <a href="http://lenniedevilliers.blogspot.com/2010/09/delphi-for-android-target-poll.html">fill in the poll</a> and let me know.<br /><br /><strong>Donation</strong><br /><br />As a contractor a donation would be nice since that will help me to spend more time (time = money as a contractor) to work on it.<br /><br /><br /><br /><form method="post" name="_xclick" action="https://www.paypal.com/cgi-bin/webscr"><br /><input value="_xclick" type="hidden" name="cmd"><br /><input value="karpal276@gmail.com" type="hidden" name="business"><br /><input value="Lennie - Delphi For Android" type="hidden" name="item_name"><br /><input value="USD" type="hidden" name="currency_code"><br /><input value="25.00" type="hidden" name="amount"><br /><input border="0" alt="Make payments with PayPal - it's fast, free and secure!" src="http://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" type="image" name="submit"><br /></form>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-41316766594239120832010-09-09T01:46:00.000-07:002010-09-09T01:48:26.565-07:00Delphi For Android Target PollAfter receiving alot of questions if Delphi For Android will target C++ Builder as well I decided to put this poll up to help me see where I should take it... If I should spend the time now or later.<br /><br /><iframe height="600" src="http://polldaddy.com/s/C05440B0B771A01D?iframe=1" frameborder="0" width="100%"><a href="http://polldaddy.com/s/C05440B0B771A01D">View Survey</a></iframe>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-19717301728580944722010-09-04T04:07:00.000-07:002010-09-04T06:19:57.135-07:00Delphi For Android - Sneak PreviewI love programming in Delphi, it was the first Windows development tool that I used after coming from QBASIC and Turbo Pascal 7.0 on MS-DOS (with my old 386SX machine, 2.1GB HD, 6MB RAM).<br /><br />This is a sneak preview on what I've been working on for the last 2 months... This tool allow you to write Android mobile phone applications using Delphi.<br /><br />In the first Youtube video I show how you can place a button (TButton) and then call a Android library method to display a message, run the compiler from the command line (its called "dccdroid.exe") and run within the Android emulator.<br /><br />Tool has been tested with Delphi 6.0, 7.0, 2005, 2006 and 2010.<br /><br /><span style="font-weight: bold;">So how does it work?</span><br /><br />The tool is written in C# with Visual Studio.Net 2008<span style="font-weight: bold;"></span>. It reads the Delphi form layout (dfm) and then create the XML layout file (main.xml), it then port the Pascal code over to a middle layer that is in Java. Note that it doesn't do 100% conversion to Java but part of the project is in Java.<br /><br />The full Android (Java) solution get created.<br />You don't access the Android API directly but by using libraries.<br /><br /><span style="font-weight: bold;">When will it become available?</span><br /><br />Can't say for now since am only working on this part time at night and over weekends. It will be a commercial product for sure.<br /><br /><span style="font-weight: bold;">What is my progress?</span><br /><br />I'm currently working on the tool's core that allow me to easily add additional controls (TEdit and TLabel I already implemented) together with there properties, events etc. Also to be able to write your own libraries to use the Android API.<br /><span style="font-weight: bold;"></span><br /><span style="font-weight: bold;">Video - Sneak preview 1:</span><br /><br />Here I place 2x buttons (TButton) on the Form and write OnClick event handlers for both to display a pop up message.<br /><br /><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/geh4J8sKUXE?hl=en&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/geh4J8sKUXE?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><span style="font-weight: bold;">Running on the phone:</span><br /><br />To confirm that it actually do run on your phone and not just in the Android emulator, use this Q-code to download and run the sample on your phone.<br /><br />Also to tease you more I've included the <a href="http://www.lenniedevilliers.net/DelphiDroidSample01.zip">source code</a> for both Delphi and the generated code (in Test folder).<br /><br /><span style="font-weight: bold; color: rgb(255, 0, 0);">NOTE: I DON'T TAKE ANY RESPONSIBILITY FOR THE LOST OF LIVE, DAMAGE ETC TO YOUR PHONE BUT ON THAT NOTE YOU CAN TRUST ME SINCE THIS IS A VALID DOWNLOAD THAT WILL NOT KILL YOU OR CONTAIN A VIRUS.</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjqYmldFjmj_4j0sxBbxphhLMxewGNqlCZp43mTAvkq1DtZa6527zK3oTy5Y6WSuJYZDjg-MxRuDuKR4Y0_lWFw-2xIYJ9sMyadUSYDy1zMWifn8qohQbVpzjFhRoZYn-UUhAEIDRXb84/s1600/delphiandroidsample01.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 312px; height: 312px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjqYmldFjmj_4j0sxBbxphhLMxewGNqlCZp43mTAvkq1DtZa6527zK3oTy5Y6WSuJYZDjg-MxRuDuKR4Y0_lWFw-2xIYJ9sMyadUSYDy1zMWifn8qohQbVpzjFhRoZYn-UUhAEIDRXb84/s320/delphiandroidsample01.png" alt="" id="BLOGGER_PHOTO_ID_5513027339153171170" border="0" /></a><span style="font-weight: bold;">Donation:</span><br /><br />As a contractor a donation would be nice since that will help me to spend more time (time = money as a contractor) to work on it.<br /><br /><form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post"><br /><input name="cmd" value="_xclick" type="hidden"><br /><input name="business" value="karpal276@gmail.com" type="hidden"><br /><input name="item_name" value="Lennie - Delphi For Android" type="hidden"><br /><input name="currency_code" value="USD" type="hidden"><br /><input name="amount" value="25.00" type="hidden"><br /><input src="http://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" type="image" border="0"><br /></form>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com1tag:blogger.com,1999:blog-961885452063004235.post-19954579942165679872010-06-28T03:43:00.001-07:002010-06-28T03:47:09.660-07:00My Babies...<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7jyms3UTYyuv1TxV8QwT_K1jQcNClZ-bxvfThGOvGYm8lPPKFcmpm1X17E39gR0Gs4LhsC-W4GxNZctihXoQwc43MFvPGrtwYq8YDuJaCp_dD6rpjzx2ELuoKPubh-KsiPGKYJJALrG0/s1600/my+babies.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7jyms3UTYyuv1TxV8QwT_K1jQcNClZ-bxvfThGOvGYm8lPPKFcmpm1X17E39gR0Gs4LhsC-W4GxNZctihXoQwc43MFvPGrtwYq8YDuJaCp_dD6rpjzx2ELuoKPubh-KsiPGKYJJALrG0/s320/my+babies.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5487773651737715234" /></a><br />Franky that is our new boy dogie and Zoe our little girl... cuddling on the couch! <div><br /></div><div><br /></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-69852481659055531102010-06-23T05:27:00.000-07:002010-06-23T07:30:31.801-07:00For The Love Of C++ Part 2For the last year I've been programming in C++ on a personal top secret project. <div>I'm using Visual C++ 2010 with the new C++ 0x language features. </div><div><br /></div><div>C++ is difficult mostly because it needs to b backward compatible with C but it is also powerful. For me I tend to learn everything and sometimes I say to myself "Nope I will not do it that way" Or "Nope, that is dangerous! Never do that". off course all this comes from experience or reading blogs etc to gain knowledge from others that do have the experience.</div><div><br /></div><div>For example, many times I read "don't do multiple inheritance" and many reasons why... I tried it myself and yes it does hurt. So yes you see why blogs say that.</div><div><br /></div><div>On that note its always good for you to try something yourself to learn the advantages/disadvantages etc.... remember that programming isn't just about reading about it but actually doing it... get a project to work on being your own personal project, a project at work or join an open source project.<span class="Apple-tab-span" style="white-space:pre"> </span></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com0tag:blogger.com,1999:blog-961885452063004235.post-78172645264629561752010-04-12T07:22:00.000-07:002010-04-12T07:33:26.364-07:00Slow Death Of The iPhone PlatformYes your heard right, the iPhone platform is going to die a very slow painful death all thanks to its own maker: Apple<div><br /></div><div>Picture an entrepreneur that got an idea for a new fantastic mobile application, off course that person want to target all mobile platforms to archive the greater market place: Android, Symbian (J2ME/C++ whatever the tool), Blackberry, Windows Mobile/Phone 7 and the iPhone.</div><div><br /></div><div>So the person might get individual quotes for each platform but because the iPhone is such a close environment the developers that can target that platform will off course charge much more for development so because development for all the other platforms are reasonable they might decide that its then not worth targeting the iPhone... Note that even if they do accept the quote there are still all the issues where Apple reject applications to the AppStore sometimes for every stupid bizarre reasons. </div><div><br /></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com4tag:blogger.com,1999:blog-961885452063004235.post-19502512522698495662010-04-10T02:43:00.000-07:002010-04-10T02:49:23.578-07:00iPhone Development Just Got HarderWhen I look into buying a new phone this year I look at a lot of things (does it have a camera, are there apps available , does it have a nice data plan, does it have 3G and Wifi etc) but as a developer I mostly want to code for it... That is why my current phone is a Windows Mobile device since I can easily use MS Visual Studio.Net with C# without having any other cost. <div><br /></div><div>The iPhone is a great device (like the new iPhone 4G will b even better) but its hard to code for it, a big disadvantage.... You need to buy a Mac, learn Objective C or some other tool (like MonoTouch etc), pay the USD $99.00 per year (that isn't actually very bad if you got the money) </div><div><br /></div><div>With the release of the new terms and conditions for the iPhone OS 4.0, Apple disallow applications not written in C / C++ or rather Objective C.... Development just got harder!</div><div><br /></div><div>I just want Apple and everyone to remember, for us developers and companies its about USERS/CUSTOMERS... If we can't develop applications easily because a platform is closed down then its the USERS/CUSTOMERS that will suffer since they will not get the kind of applications that they want. </div><div><br /></div><div>THE USER / CUSTOMER MUST B MORE IMPORTANT, ALWAY!!</div><div><br /></div><div>I hope this will change for Apple else I will go for another platform like Android where I can actually use a tool like Java to code or go for Windows Phone 7 where you can use MS Visual Studio.Net 2010.</div><div><br /></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com3tag:blogger.com,1999:blog-961885452063004235.post-32651832917479967992010-03-19T04:14:00.000-07:002010-03-19T04:24:49.127-07:00MWEB Uncapped ADSL Launch Overview<div>For more than a decade South African internet users wasn't happy with the pricing and level of services for ADSL... ADSL is expensive, you use to buy per GB and monitor your usage all the time to make sure that you don't go over... You don't download anything or like me way back ask a friend from the UK to download software for me then post it on a DVD.</div><div><br /></div><div>We are jealous with America where there is uncapped ADSL at a very low price, uncapped ADSL on a smart phone (like iPhone 3G) </div><div><br /></div>Yesterday, 18 March 2010 MWEB surprise (or shocked) the ISP market by <a href="http://www.mweb.co.za/adsl">offering uncapped ADSL service</a> at a very reasonable price. <div><br /></div><div>I phoned the call center (not going thru any other channels as an MWEB employee) and signup within minutes for 4Mbps uncapped ADSL at R539.00 per month. </div><div><br /></div><div>The speed is fast, being at other providers before, MWEB service is REAL and reliable.</div><div><br /></div><div>Please visit there website for more information on the different packages available like 384Kbps uncapped ADSL for R219.00 per month.</div><div><br /></div><div>Note that you also get a free 2GB mailbox, 300 free Wifi minutes that can be used at Mugg & Bean or airports. Other value added service also included like Faxmail.</div><div><br /></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com3tag:blogger.com,1999:blog-961885452063004235.post-31013034148601632122010-03-13T03:28:00.001-08:002010-03-13T03:30:10.181-08:00Increase Your Existing Language Skills First<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">This topic is programming related but let me first start with a small story, I am originally Afrikaans but I married a wonderful lady who is English. I could always learn a new language like German / Spanish but I need to improve my existing language skills first, to be able to speak/read/write English... My wife corrects me a lot on this if I say<br />something wrong... it's a learning process!</span><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br />The same applies to a programming language, you can learn 100 programming languages but are you productive in them? The languages that I use the most is:<br /></span></div><div><ul><li><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">C#</span></li><li><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">VB.Net</span></li><li><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">Java</span></li><li><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">C++</span></li><li><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">PHP</span></li></ul><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br /></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">and I am still learning new language features etc daily. Some developers are stuck programming in only one language like Java and will never look at another language like C# via different reasons, I agree that you should know more than one language but being productive in them is another story.</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br />Another reason for learning a language is the current market demand, currently in South Africa mainly C# and Java jobs are available, sometimes PHP jobs or other tools (Flash etc) if your looking for example to get a job as a COBOL developer then you will struggle. You need to see what the demand is else you will not get a job.<br /><br /></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">So going forward look at your existing langauge skills and see how you can improve, do you know how to write a design pattern in your language? Do you know how to use generics in C# or are you just used to doing a "List<t>"? What about other generic features? So my point is, rather learn something new, something that will make you more productive something that you haven't looked at before (maybe how to write annotations in Java? or C# Reflection?)<br /><br /></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">It gives you a lot of advantages, you're then a more productive developer in the given language and able to find mistakes easily etc.</span></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com1tag:blogger.com,1999:blog-961885452063004235.post-11875289203403207112010-03-10T23:59:00.000-08:002010-03-11T03:42:23.993-08:00C++ Blogs Worth Reading/BookmarkingHere is my list:<br /><br /><a href="http://herbsutter.wordpress.com/">http://herbsutter.wordpress.com</a>/<br /><a href="http://www.drdobbs.com/blog/cppblog/">http://www.drdobbs.com/blog/cppblog/</a><br /><a href="http://www.artima.com/cppsource">http://www.artima.com/cppsource</a><br /><a href="http://googletesting.blogspot.com/">http://googletesting.blogspot.com/</a><br /><a href="http://blog.think-async.com/">http://blog.think-async.com/</a><br /><a href="http://dobbscodetalk.com/index.php?option=com_myblog&blogger=andrewk&Itemid=29">http://dobbscodetalk.com/index.php?option=com_myblog&blogger=andrewk&Itemid=29</a><br /><a href="http://en.wikibooks.org/wiki/More_C++_Idioms">http://en.wikibooks.org/wiki/More_C++_Idioms</a><br /><a href="http://www.reddit.com/r/cpp">http://www.reddit.com/r/cpp</a><br /><a href="http://www.parashift.com/c++-faq-lite/">http://www.parashift.com/c++-faq-lite/</a><br /><a href="http://cpp-next.com/">http://cpp-next.com/</a><br /><a href="http://blogs.msdn.com/oldnewthing/">http://blogs.msdn.com/oldnewthing/</a><br /><a href="http://learningcppisfun.blogspot.com/">http://learningcppisfun.blogspot.com/</a><br /><a href="http://attractivechaos.wordpress.com/">http://attractivechaos.wordpress.com/</a><br /><a href="http://www.gotw.ca/gotw/">http://www.gotw.ca/gotw/</a><br /><a href="http://www.devx.com/cplus/Door/7042">http://www.devx.com/cplus/Door/7042</a><br /><a href="http://pocoproject.org/blog/">http://pocoproject.org/blog/</a><br /><a href="http://kenanlee.blogspot.com/search/label/C/C%2B%2B">http://kenanlee.blogspot.com/search/label/C/C%2B%2B</a><br /><a href="http://embracingcpp.blogspot.com/">http://embracingcpp.blogspot.com/</a><br /><a href="http://pizer.wordpress.com/">http://pizer.wordpress.com/</a><br /><a href="http://cplusplus-soup.com/">http://cplusplus-soup.com/</a><br /><a href="http://www.gregcons.com/KateBlog/CategoryView.aspx?category=C%2B%2B">http://www.gregcons.com/KateBlog/CategoryView.aspx?category=C%2B%2B</a><br /><a href="http://cpptruths.blogspot.com/">http://cpptruths.blogspot.com/</a><br /><a href="http://turboc.blogspot.com">http://turboc.blogspot.com</a>/Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com5tag:blogger.com,1999:blog-961885452063004235.post-71755467187287213482010-02-23T01:49:00.000-08:002010-02-23T01:55:34.118-08:00Java Quiz: Array Initialization AnswerIts a difficult answer if you come from a Pascal (Delphi), C or C++ back ground where you had to initialize the array first with default values like 0 before using.<br /><br />Java automatically initialize all elements in an array to default values, object references become null and primitive integers become 0.<br /><br />This is in my SCJP exam studies, tricky since I come from a Pascal and C++ back ground.<br /><br />In C/C++ you get some random data (whatever is in memory at that pointer address). So for them you need to initialize the array before use.Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com1tag:blogger.com,1999:blog-961885452063004235.post-61137846063519380462010-02-22T04:22:00.000-08:002010-02-22T04:45:23.031-08:00Java Quiz: Array InitializationIs the following correct? What will the output be?<div>And PS: Try to figure it out before actually running the code :-)</div><div><div></div><div></div><blockquote><div>public class BirthDays </div><div>{</div><div> static int [] year = new int[100];</div><div> public static void main(String [] args) </div><div> {</div><div> for(int i=0;i<100;i++)</div><div> System.out.println("year[" + i + "] = " + year[i]);</div><div> }</div><div>}</div></blockquote><div></div><div></div><div>
<br /></div><div>Please give your answer in the comments.</div></div>Lennie De Villiershttp://www.blogger.com/profile/10415773294674948844noreply@blogger.com2