<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Andreano Lanusse &#124; Technology and Software Development</title>
	<atom:link href="http://www.andreanolanusse.com/en/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andreanolanusse.com/en</link>
	<description>Where Andreano Lanusse talk about technology, software development, programming techniques, databases, games and more through articles, tutorials and videos</description>
	<lastBuildDate>Thu, 17 May 2012 08:49:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Bye Bye Embarcadero</title>
		<link>http://www.andreanolanusse.com/en/bye-bye-embarcadero/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bye-bye-embarcadero</link>
		<comments>http://www.andreanolanusse.com/en/bye-bye-embarcadero/#comments</comments>
		<pubDate>Tue, 01 May 2012 21:01:16 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Delphi Prism]]></category>
		<category><![CDATA[FireMonkey]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=839</guid>
		<description><![CDATA[<p>Dear developers, My Borland history began in Brazil on December of 1995, had so many chapters (Borland/Inprise/CodeGear/Embarcadero), a new and important chapter started in December of 2006 when I moved to the United States and today this chapter comes to an end. Today is my last day at Embarcadero Technologies. I would like to thank [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>Dear developers,</p>
<p>My Borland history began in Brazil on December of 1995, had so many chapters (Borland/Inprise/CodeGear/Embarcadero), a new and important chapter started in December of 2006 when I moved to the United States and today this chapter comes to an end. Today is my last day at Embarcadero Technologies.</p>
<p>I would like to thank all of you around the world for the great time we shared together during all of this years, for all the conversations face-to-face, online, by email or phone. I have been your advocate during all of this years was something unique and enjoyable, something I will always take with me.</p>
<p>The 17 years of Delphi was only possible because of the support of this energetic community, keep sending your feedbacks to <a href="https://forums.embarcadero.com/forum.jspa?forumID=67" target="_blank">Embarcadero</a>, specially now with FireMonkey, which has a long way to go.</p>
<p>This blog will continue and software development will continue to be the predominant topic here. <strong><a href="http://youtube.com/user/andreanolanusse" target="_blank">My videos on YouTube</a></strong> will continue and I expected to publish other videos as well. Finally you can continue or start following me on Twitter <strong><a href="http://twitter.com/andreanolanusse" target="_blank">@andreanolanusse</a></strong></p>
<p>I will be around and you can contact me <a href="http://www.andreanolanusse.com/en/contact/" target="_blank">here</a> or via e-mail andreano AT gmail DOT com</p>
<p>Now is time to start writing the next chapter and look for new opportunities, that I expect to be challenging and fun.</p>
<p>Sincerely,</p>
<p>Andreano Lanusse</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" title="Connecting to PostgreSQL through dbExpress ODBC driver">Connecting to PostgreSQL through dbExpress ODBC driver</a></li><li><a href="http://www.andreanolanusse.com/en/trial-datasheet-feature-matrix-and-faq-for-xe2-release-available/" title="Trial, Datasheet, Feature Matrix and FAQ for XE2 release available">Trial, Datasheet, Feature Matrix and FAQ for XE2 release available</a></li><li><a href="http://www.andreanolanusse.com/en/rad-studio-xe2-a-new-era-for-delphi-and-cbuilder-developers/" title="RAD Studio XE2 a new era for Delphi and C++Builder Developers">RAD Studio XE2 a new era for Delphi and C++Builder Developers</a></li><li><a href="http://www.andreanolanusse.com/en/available-now-the-new-delphi-xe-cbuilder-xe-delphi-prism-xe-and-radphp-xe/" title="Available now the new Delphi XE, C++Builder XE, Delphi Prism XE and RadPHP XE">Available now the new Delphi XE, C++Builder XE, Delphi Prism XE and RadPHP XE</a></li><li><a href="http://www.andreanolanusse.com/en/datasnap-xe-and-windows-azure-rad-studio-xe-preview-3/" title="DataSnap XE and Windows Azure – RAD Studio XE Preview #3">DataSnap XE and Windows Azure – RAD Studio XE Preview #3</a></li><li><a href="http://www.andreanolanusse.com/en/agile-development-delphi-xe-cbuilder-xe-delphi-prism-xe-radphp-xe/" title="Agile Development = Delphi XE + C++Builder XE + Delphi Prism XE + RadPHP XE">Agile Development = Delphi XE + C++Builder XE + Delphi Prism XE + RadPHP XE</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/bye-bye-embarcadero/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Hundreds of hidden Mac OS X features &#8211; tips and tricks</title>
		<link>http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hundreds-of-hidden-mac-os-x-features-tips-and-tricks</link>
		<comments>http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 04:09:06 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=833</guid>
		<description><![CDATA[<p>If you are Mac user visit the following link , on this link you will find hundreds of hidden features, tips and tricks for Mac OS X. http://apple.stackexchange.com/questions/400/please-share-your-hidden-mac-os-x-features-or-tips-and-tricks Related PostsSoftware Development, technologies and other matters #6TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReaderUpdate 4 for RadPHP XE2 is now availableUpdate 4 for Delphi XE2 [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>If you are Mac user visit the following link , on this link you will find hundreds of hidden features, tips and tricks for Mac OS X.</p>
<p><a href="http://apple.stackexchange.com/questions/400/please-share-your-hidden-mac-os-x-features-or-tips-and-tricks" target="_blank">http://apple.stackexchange.com/questions/400/please-share-your-hidden-mac-os-x-features-or-tips-and-tricks</a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/" title="Software Development, technologies and other matters #6">Software Development, technologies and other matters #6</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-radphp-xe2-is-now-available/" title="Update 4 for RadPHP XE2 is now available">Update 4 for RadPHP XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-5/" title="Software Development, technologies and other matters #5">Software Development, technologies and other matters #5</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Development, technologies and other matters #6</title>
		<link>http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=software-development-technologies-and-other-matters-6</link>
		<comments>http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 07:01:05 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Monthly Summary]]></category>
		<category><![CDATA[Embarcadero]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=805</guid>
		<description><![CDATA[<p>Hi everyone, another monthly summary. Microsoft release the source code for ASP.NET Web API and ASP.NET Web Pages (aka Razor) under an open source license (Apache 2.0). That means you can change it, redistribute your changes, even fork it if you want. MS-PL is an OSI-Approved Open Source License and you can read the legalese on their site [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>Hi everyone, another monthly summary.</p>
<ul>
<li>Microsoft <a href="http://weblogs.asp.net/scottgu/archive/2012/03/27/asp-net-mvc-web-api-razor-and-open-source.aspx" target="_blank">release</a> the source code for ASP.NET Web API and ASP.NET Web Pages (aka Razor) under an open source license (Apache 2.0). That means you can change it, redistribute your changes, even fork it if you want. MS-PL is an <a href="http://www.opensource.org/licenses/ms-pl.html">OSI-Approved Open Source License</a> and you can read the legalese on their site</li>
<li>Delphi and C++Builder developers only 2 days left, the <a href="http://embt.co/xe2upg">upgrade pricing for 2007 and earlier users ends March 30th</a> and the <a href="http://embt.co/bogo-info" target="_blank">buy one tool, get an additional tool free offer also ends March 30th</a></li>
<li>Very good <a href="http://uxdesign.smashingmagazine.com/2012/02/28/mission-transition/" target="_blank">article</a> about transitions and animations, and how to use them effectively. Relevant for developers that are using or planing to use <a href="http://www.embarcadero.com/products/firemonkey" target="_blank">FireMonkey</a></li>
<li>Great blog <a href="http://nfarina.com/post/8239634061/ios-to-android" target="_blank">post</a> about migrating an app from iOS to Android</li>
<li><strong>Delphi Project of the Month</strong> &#8211; <a href="http://www.tmssoftware.com/site/aurelius.asp" target="_blank">TMS Aurelius</a> ORM framework for Delphi with full support for data manipulation, complex and advanced queries, inheritance, polymorphism, and more&#8230; created by <a href="http://www.tmssoftware.com/site/default.asp" target="_blank">TMS Software</a></li>
<li><a href="http://gizmodo.com/5896712/first-images-of-the-bottom-of-the-world" target="_blank">Watch this</a> First Images From the Bottom of the World</li>
</ul>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-5/" title="Software Development, technologies and other matters #5">Software Development, technologies and other matters #5</a></li><li><a href="http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/" title="Hundreds of hidden Mac OS X features &#8211; tips and tricks">Hundreds of hidden Mac OS X features &#8211; tips and tricks</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-radphp-xe2-is-now-available/" title="Update 4 for RadPHP XE2 is now available">Update 4 for RadPHP XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</title>
		<link>http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader</link>
		<comments>http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 09:30:20 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FireMonkey]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[JSON]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=818</guid>
		<description><![CDATA[<p>You can copy data from DBXReader to ClientDataSet and vice-versa using dbxExpress framework, you probably already read some of my blog posts where I explain how it works in desktop applications, however in mobile platforms we don&#8217;t have ClientDataSet and in case you want something similar you always, what can you do? DataSnap Mobile Connectors [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>You can copy data from DBXReader to ClientDataSet and vice-versa using dbxExpress framework, you probably already read some of my blog <a href="http://www.andreanolanusse.com/en/copying-data-from-clientdataset-to-dbxreader/" target="_blank">posts</a> where I explain how it works in desktop applications, however in mobile platforms we don&#8217;t have ClientDataSet and in case you want something similar you always, what can you do?</p>
<p>DataSnap Mobile Connectors has a class called TDBXJsonTools, this class allows developers to copy/convert data between DBXReader, TJSONObject, DBXReader and other types, you can do that in any mobile platform supported by the connectors, like: Java/Android, Java/BlackBerry, Objective-C, C#/Windows Phone and FreePascal.</p>
<p>In a native desktop application you would use TDBXDataSetReader.CopyReaderToClientDataSet(Reader, ClientDataSet) to copy the DBXReader to a ClientDataSet, in the mobile apps you will use TDBXJsonTools.CreateTDataSetFromJSON(DBXReader.asJSONObject).</p>
<p>Meanwhile, this is not only about copy/convert data, it gives you several ways to interact and transport data using different types and take advantage of the native types in each platform. For example, when using DataSet in FireMonkey on iOS it will use TDataSet class from FreePascal/Delphi RTL, when using with Java, TDataSet will be extension of TDBXReader and so on.</p>
<p>DBXReader is unidirectional and navigation is limited, when using FireMonkey on iOS developers can copy the DBXReader data to a DataSet, which is bi-directional, it will enable the navigation and use of other DataSet features.</p>
<p>The following code represents the TDBXJsonTools interface for FreePascal.</p>
<pre class="brush: delphi">  TDBXJsonTools = class
  public
    class procedure jsonToDBX(obj: TJSONValue; var value: TDBXValue; dbxTypeName: String);
    class procedure JSONToValueType(json: TJSONArray; var vt: TDBXValueType);
    class function DBXParametersToJSONObject(dbxParameters: TDSParams) : TJSONObject;
    class function DBXReaderToJSONObject(dbxReader: TDBXReader): TJSONObject;
    class function CreateTDataSetFromJSON(value: TJSONObject): TDataset;
    class function TDataSetToJSONObject(value: TDataset): TJSONObject;
    class function GetTFieldTypeByTDBXDataTypes(DBXDataTypes: TDBXDataTypes) : TFieldType;
    class function GetTDBXDataTypesByTFieldType(FieldType: TFieldType) : TDBXDataTypes;
    class function CreateTStreamFromJSONArray(value: TJSONArray): TStream;
    class function StreamToJSONArray(value: TStream): TJSONArray;
    class function JSONToTableType(value: TJSONValue; dbxTypeName: String): TObject;
    class function SerializeTableType(Objetc: TObject): TJSONObject;

  end;</pre>
<p>My recommendation is to continue using DBXReader as the primarily source of data, and when necessary take advantage of the TDBXJsonTools class.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/" title="FireMonkey 3D Text Editor Delphi source code available">FireMonkey 3D Text Editor Delphi source code available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/" title="Building a FireMonkey 3D Text Editor for Windows and Mac">Building a FireMonkey 3D Text Editor for Windows and Mac</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor/" title="FireMonkey 3D Text Editor">FireMonkey 3D Text Editor</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FireMonkey 3D Text Editor Delphi source code available</title>
		<link>http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=firemonkey-3d-text-editor-delphi-source-code-available</link>
		<comments>http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 22:17:53 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FireMonkey]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=815</guid>
		<description><![CDATA[<p>Hi everyone, as promised the source code for the FireMonkey 3D Text Editor is available on our RAD Studio demo SVN repository. You can check out the code using the following command line: svn co https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/ branches/RadStudio_XE2/FireMonkey/3DTextEditor/ I&#8217;m working on the C++ version for Windows and Mac, and iPad version for Delphi, coming soon. Enjoy!!!! Related PostsBye [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>Hi everyone, as promised the source code for the FireMonkey 3D Text Editor is available on our RAD Studio demo SVN repository.</p>
<p>You can check out the code using the following command line:</p>
<p><strong>svn co https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/<br />
branches/RadStudio_XE2/FireMonkey/3DTextEditor/</strong></p>
<p>I&#8217;m working on the C++ version for Windows and Mac, and iPad version for Delphi, coming soon.</p>
<p>Enjoy!!!!</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/" title="Building a FireMonkey 3D Text Editor for Windows and Mac">Building a FireMonkey 3D Text Editor for Windows and Mac</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor/" title="FireMonkey 3D Text Editor">FireMonkey 3D Text Editor</a></li><li><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" title="Connecting to PostgreSQL through dbExpress ODBC driver">Connecting to PostgreSQL through dbExpress ODBC driver</a></li><li><a href="http://www.andreanolanusse.com/en/creating-xml-files-with-delphi-and-firemonkey-on-mac/" title="Creating XML files with Delphi and FireMonkey on Mac">Creating XML files with Delphi and FireMonkey on Mac</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Update 4 for RadPHP XE2 is now available</title>
		<link>http://www.andreanolanusse.com/en/update-4-for-radphp-xe2-is-now-available/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=update-4-for-radphp-xe2-is-now-available</link>
		<comments>http://www.andreanolanusse.com/en/update-4-for-radphp-xe2-is-now-available/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:13:42 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[HotFix]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=814</guid>
		<description><![CDATA[<p>Update 4 for RadPHP XE2 is also available for download. List of fixes and changes in this update here Update 4 download for RadPHP XE2 available here &#160; Related PostsUpdate 4 for Delphi XE2 and C++Builder XE2 is now availableHundreds of hidden Mac OS X features &#8211; tips and tricksSoftware Development, technologies and other matters #6TDBXJsonTools copy/convert [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>Update 4 for RadPHP XE2 is also available for download.</p>
<ul>
<li>List of fixes and changes in this update <a href="http://edn.embarcadero.com/article/42088" target="_blank">here</a></li>
<li>Update 4 download for RadPHP XE2 available <a href="http://cc.embarcadero.com/item/28759" target="_blank">here</a></li>
</ul>
<p>&nbsp;</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/" title="Hundreds of hidden Mac OS X features &#8211; tips and tricks">Hundreds of hidden Mac OS X features &#8211; tips and tricks</a></li><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/" title="Software Development, technologies and other matters #6">Software Development, technologies and other matters #6</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-5/" title="Software Development, technologies and other matters #5">Software Development, technologies and other matters #5</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/update-4-for-radphp-xe2-is-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update 4 for Delphi XE2 and C++Builder XE2 is now available</title>
		<link>http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available</link>
		<comments>http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 21:53:38 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[HotFix]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=812</guid>
		<description><![CDATA[<p>Delphi and C++Builder XE2 Update 4 is a full inline update that requires uninstalling your existing RAD Studio product before installing the update. You can obtain this update in any of the following three ways: Upgrading via the Automatic Upgrade Mechanism Manually Checking for Updates Downloading from the Registered Users Web Page You can see all [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Delphi and C++Builder XE2 Update 4 is a full inline update</strong> that requires uninstalling your existing RAD Studio product before installing the update.</p>
<p>You can obtain this update in any of the following three ways:</p>
<ul>
<li><a title="" href="http://docwiki.embarcadero.com/RADStudio/en/Release_Notes_for_XE2_Update_4#Using_the_Automatic_Upgrade_Mechanism_or_Manually_Checking_for_Updates">Upgrading via the Automatic Upgrade Mechanism</a></li>
<li><a title="" href="http://docwiki.embarcadero.com/RADStudio/en/Release_Notes_for_XE2_Update_4#Using_the_Automatic_Upgrade_Mechanism_or_Manually_Checking_for_Updates">Manually Checking for Updates</a></li>
<li><a title="" href="http://docwiki.embarcadero.com/RADStudio/en/Release_Notes_for_XE2_Update_4#Downloading_from_the_Registered_Users_Web_Page">Downloading from the Registered Users Web Page</a></li>
</ul>
<p>You can see all the changes and enhancements related to this release <a href="http://docwiki.embarcadero.com/RADStudio/en/Release_Notes_for_XE2_Update_4" target="_blank">here</a>.</p>
<p>Two important features I would like to highlight: Mac print support using the <a href="http://docwiki.embarcadero.com/RADStudio/en/Printing_from_a_FireMonkey_Application" target="_blank">FireMonkey Printing API</a> and now DataSnap Mobile Connector generate proxy for FreePascal.</p>
<p>You can download the <a href="http://cc.embarcadero.com/item/28758">Delphi XE2 and C++Builder XE2 ISO with Update 4 here.</a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/update-2-for-delphi-xe2-cbuilder-xe2-and-radphp-xe2-available/" title="Update 2 for Delphi XE2, C++Builder XE2 and RadPHP XE2 available">Update 2 for Delphi XE2, C++Builder XE2 and RadPHP XE2 available</a></li><li><a href="http://www.andreanolanusse.com/en/hotfix-2-and-help-update-2-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" title="Hotfix 2 and Help Update 2 for Delphi XE, C++Builder XE and RAD Studio XE available">Hotfix 2 and Help Update 2 for Delphi XE, C++Builder XE and RAD Studio XE available</a></li><li><a href="http://www.andreanolanusse.com/en/hotfix-1-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" title="Hotfix 1 for Delphi XE, C++Builder XE and RAD Studio XE available">Hotfix 1 for Delphi XE, C++Builder XE and RAD Studio XE available</a></li><li><a href="http://www.andreanolanusse.com/en/update-1-for-delphi-xe-and-cbuilder-xe-now-available/" title="Update 1 for Delphi XE and C++Builder XE now available">Update 1 for Delphi XE and C++Builder XE now available</a></li><li><a href="http://www.andreanolanusse.com/en/rad-studio-2010-hotfix-2-available/" title="RAD Studio 2010 Hotfix 2 available">RAD Studio 2010 Hotfix 2 available</a></li><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Building a FireMonkey 3D Text Editor for Windows and Mac</title>
		<link>http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-a-firemonkey-3d-text-editor-for-windows-and-mac</link>
		<comments>http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 08:54:12 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FireMonkey]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=807</guid>
		<description><![CDATA[<p>During the Delphi Birthday Celebration Webinar I had the opportunity to show a FireMonkey 3D demo application that I have been working for while. The application is a 3D Text Editor that allows users to interact with 3D objects through rotation, adding colors and texture, changing sizes, export the 3D Text as PNG image and [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>During the <a href="http://www.youtube.com/watch?v=R8goMTsEhUU" target="_blank">Delphi Birthday Celebration Webinar</a> I had the opportunity to show a FireMonkey 3D demo application that I have been working for while.</p>
<p>The application is a 3D Text Editor that allows users to interact with 3D objects through rotation, adding colors and texture, changing sizes, export the 3D Text as PNG image and more.</p>
<p>This is a great demo for who is looking to learn more about FireMonkey, it exposes a lot of <a href="http://www.embarcadero.com/products/firemonkey" target="_blank">FireMonkey</a> capabilities. It not only show how you can use 3D, animations, light, camera, 2D elements in 3D container, etc, but how you can create modern UIs, take advantage of the FireMonkey component composition concept, learn how to use Scalable Vector Graphics (SVG) and more.</p>
<p>I&#8217;m preparing a series of blogs posts and videos to explain in more detail the FireMonkey features applied to this application, in the mean time I invite you to watch the following video where I show the application in action.</p>
<p><iframe src="http://www.youtube.com/embed/ElYD4ENz2BA" frameborder="0" width="480" height="360"></iframe></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/video-delphi-xe2-and-firemonkey-app-on-windows-mac-and-ios/" title="Video: Delphi XE2 and FireMonkey app on Windows, Mac and iOS">Video: Delphi XE2 and FireMonkey app on Windows, Mac and iOS</a></li><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/" title="FireMonkey 3D Text Editor Delphi source code available">FireMonkey 3D Text Editor Delphi source code available</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor/" title="FireMonkey 3D Text Editor">FireMonkey 3D Text Editor</a></li><li><a href="http://www.andreanolanusse.com/en/android-apps-connected-to-delphi-datasnap-server/" title="Android apps connected to Delphi DataSnap Server">Android apps connected to Delphi DataSnap Server</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Some historical information about Delphi &#8211; 17 years of innovation</title>
		<link>http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=some-historical-information-about-delphi-17-years-of-innovation</link>
		<comments>http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 20:43:30 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Embarcadero]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=802</guid>
		<description><![CDATA[<p>Today we are celebrating Delphi’s 17th birthday – and 17 years of continuous innovation for the Delphi language, run-time library, Visual Component Library (VCL) and the new FireMonkey next generation business application platform. To get here, was a long journey and lot of stuff happened. I remember in 1995 when I was developing an ERP with Paradox [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>Today we are celebrating Delphi’s 17th birthday – and 17 years of continuous innovation for the Delphi language, run-time library, Visual Component Library (VCL) and the new FireMonkey next generation business application platform.</p>
<p>To get here, was a long journey and lot of stuff happened. I remember in 1995 when I was developing an ERP with Paradox for Windows and a friend of my gave a CD and he said &#8220;Learn this product, it will change the software development world&#8221;, and I&#8217;m glad I did what he asked for <img src='http://www.andreanolanusse.com/en/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>The following links tells a little bit about Delphi history.</p>
<ul>
<li><a href="http://edn.embarcadero.com/article/20283" target="_blank">Borland History: Will The Real Frank Borland Please Stand Up?</a></li>
<li><a href="http://edn.embarcadero.com/article/20297" target="_blank">Memorabilia: The Adventures of TurboMan</a></li>
<li><a id="ArticleList_ctl23_hlArticle" href="http://edn.embarcadero.com/article/20396">Borland History: Why the name &#8220;Delphi?&#8221;</a></li>
<li><a id="ArticleList_ctl16_hlArticle" href="http://edn.embarcadero.com/article/32971">Historical Document: Delphi Product Definition 3rd Draft &#8211; May 13, 1993</a></li>
<li><a id="ArticleList_ctl15_hlArticle" href="http://edn.embarcadero.com/article/32975">Historical Document: Visual Component Library First Draft &#8211; May 24, 1993</a></li>
<li><a id="ArticleList_ctl14_hlArticle" href="http://edn.embarcadero.com/article/32977">Historical Documents: Delphi 1 launch demos source code, launch script, and marketing video</a></li>
<li><a href="http://edn.embarcadero.com/article/10245" target="_blank">Delphi 2 &#8211; Battle of the Visual Masters</a></li>
<li><a href="http://edn.embarcadero.com/article/10321" target="_blank">Delphi 2 &#8211; Building Web enabled apps with Delphi 2.0</a></li>
<li><a href="http://edn.embarcadero.com/article/10326" target="_blank">Delphi 2 &#8211; A Comparison of Client/Server Development Tools; PowerBuilder vs. Delphi</a></li>
<li><a href="http://www-personal.umd.umich.edu/~ldkronos/delphi/whyuse.html" target="_blank">Discovering Delphi &#8211; Why choose Delphi 2 over Visual Basic 4/5?</a></li>
<li>ebook &#8211; Secrets of Delphi 2 &#8211; Exposing Undocumented Features of Delphi &#8211; Download <a href="http://ftp.utcluj.ro/pub/docs/Docs/Secrets_of_Delphi_2.tgz" target="_blank">here</a></li>
<li>ebook &#8211; Peter Norton&#8217;s Guide to Delphi 2 [1996] &#8211; Download <a href="http://ftp.utcluj.ro/pub/docs/Docs/Peter_Nortons_Guide_to_Delphi_2.tgz" target="_blank">here</a></li>
<li>Borland Delphi 7 VCL Object Hierarchy/Poster/Chart &#8211; download <a href="http://www.simonjstuart.com/downloads/delphi7vcl.pdf" target="_blank">here</a></li>
</ul>
<div>Some cool and historical videos.</div>
<div>
<ul>
<li><a href="http://www.youtube.com/watch?v=BdQy3_BhhgA" target="_blank">Delphi Oktoberfest</a></li>
<li><a href="http://www.youtube.com/watch?v=lMzD-7iGdHI" target="_blank">Developer Tool Time</a></li>
<li><a href="http://www.youtube.com/watch?v=Aptgjeqg94o" target="_blank">Delphi Transformer</a></li>
<li><a href="http://www.youtube.com/watch?v=-tIq4ICREkE" target="_blank">1996 Borland Conference &#8211; Paul Gross and The Temple of Doom</a></li>
<li><a href="http://www.youtube.com/watch?v=Aptgjeqg94o" target="_blank">1997 Borland Conference &#8211; Software Wars</a></li>
<li><a href="http://www.youtube.com/watch?v=skLkPBQmN9k" target="_blank">1998 Borland/Inprise Conference &#8220;Camelot&#8221; Video</a></li>
<li><a href="http://www.youtube.com/watch?v=skLkPBQmN9k" target="_blank">2004 BORLAND CONFERENCE OPENING VIDEO</a></li>
</ul>
<p>If you want to join the party, <a href="http://forms.embarcadero.com/forms/AMUSCA1202DelphiBDayCelebration2-14" target="_blank">register</a> for the celebration webinar that is happening today.</p>
<p>Enjoy the celebration day and Go Delphi!!!!</p>
<p>&nbsp;</p>
</div>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/android-apps-connected-to-delphi-datasnap-server/" title="Android apps connected to Delphi DataSnap Server">Android apps connected to Delphi DataSnap Server</a></li><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/" title="Hundreds of hidden Mac OS X features &#8211; tips and tricks">Hundreds of hidden Mac OS X features &#8211; tips and tricks</a></li><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/" title="Software Development, technologies and other matters #6">Software Development, technologies and other matters #6</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FireMonkey 3D Text Editor</title>
		<link>http://www.andreanolanusse.com/en/firemonkey-3d-text-editor/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=firemonkey-3d-text-editor</link>
		<comments>http://www.andreanolanusse.com/en/firemonkey-3d-text-editor/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 00:58:59 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FireMonkey]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=782</guid>
		<description><![CDATA[<p>If you want to learn more about FireMonkey 3D applications, join me on February 14th for the Delphi Birthday Celebration webinar. During this webinar we will have several Delphi experts and members of our R&#38;D team showing great technologies using Delphi. I will be there as well showing something that I have been working for a [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>If you want to learn more about <a href="http://www.embarcadero.com/products/firemonkey" target="_blank">FireMonkey</a> 3D applications, join me on February 14th for the <a href="http://forms.embarcadero.com/forms/AMUSCA1202DelphiBDayCelebration2-14" target="_blank">Delphi Birthday Celebration webinar</a>.</p>
<p>During this webinar we will have several Delphi experts and members of our R&amp;D team showing great technologies using Delphi. I will be there as well showing something that I have been working for a while, the FireMonkey 3D Text Editor, during the webinar I will show you how it was created and share many tips &amp; tricks related with FireMonkey development.</p>
<p>Bellow some screen shots of what I&#8217;m planning to show:</p>
<div id="attachment_783" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/02/3DEditor-IDE.png"><img class="size-medium wp-image-783 " title="3D Text Editor in the IDE" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/02/3DEditor-IDE-300x187.png" alt="" width="300" height="187" /></a><p class="wp-caption-text">3D Text Editor in the IDE</p></div>
<p>&nbsp;</p>
<div id="attachment_784" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/02/3DEditor-App.png"><img class="size-medium wp-image-784" title="The 3D Text Editor running on Windows" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/02/3DEditor-App-300x187.png" alt="" width="300" height="187" /></a><p class="wp-caption-text">The 3D Text Editor running on Windows, it runs on Mac as well <img src='http://www.andreanolanusse.com/en/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></div>
<p>&nbsp;</p>
<div id="attachment_785" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/02/3D-exported-image.png"><img class="size-medium wp-image-785" title="Image generated by the 3D Text Editor" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/02/3D-exported-image-300x158.png" alt="" width="300" height="158" /></a><p class="wp-caption-text">Image generated by the 3D Text Editor</p></div>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/" title="FireMonkey 3D Text Editor Delphi source code available">FireMonkey 3D Text Editor Delphi source code available</a></li><li><a href="http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/" title="Building a FireMonkey 3D Text Editor for Windows and Mac">Building a FireMonkey 3D Text Editor for Windows and Mac</a></li><li><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" title="Connecting to PostgreSQL through dbExpress ODBC driver">Connecting to PostgreSQL through dbExpress ODBC driver</a></li><li><a href="http://www.andreanolanusse.com/en/creating-xml-files-with-delphi-and-firemonkey-on-mac/" title="Creating XML files with Delphi and FireMonkey on Mac">Creating XML files with Delphi and FireMonkey on Mac</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/firemonkey-3d-text-editor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Software Development, technologies and other matters #5</title>
		<link>http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=software-development-technologies-and-other-matters-5</link>
		<comments>http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-5/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 12:00:44 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Monthly Summary]]></category>
		<category><![CDATA[Embarcadero]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=779</guid>
		<description><![CDATA[<p>My monthly summary is back after long time, let&#8217;s try to keep this up to date every month Jailbreak for iPhone 4S and iPad 2 finally available, hackers had a lot of work to break the new Apple A5 devices. If you are interested to know how to use the Cloud to scale your applications, [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>My monthly summary is back after long time, let&#8217;s try to keep this up to date every month <img src='http://www.andreanolanusse.com/en/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://greenpois0n.com/?page_id=18" target="_blank">Jailbreak</a> for iPhone 4S and iPad 2 finally available, hackers had a lot of work to break the new Apple A5 devices.</li>
<li>If you are interested to know how to use the Cloud to scale your applications, the Netflix team posted a really nice article sharing their experience with Amazon <a href="http://techblog.netflix.com/2012/01/auto-scaling-in-amazon-cloud.html" target="_blank">&#8220;Auto Scaling in the Amazon Cloud&#8221;</a></li>
<li>I&#8217;m a iPhone fun, maybe switching for Nokia Lumia 900 (Windows Phone) in the future, and Android is not part of my plan. A few weeks ago I saw this article &#8220;<a href="http://parislemon.com/post/15604811641/why-i-hate-android" target="_blank">Why I Hate Android</a>&#8220;, it is at least interesting.</li>
<li>The browser war continues, <a href="http://mashable.com/2012/01/03/internet-explorer-chrome-browser-wars/" target="_blank">Chrome is winning</a> and IE still the number one, not sure for how long</li>
<li><strong>Delphi Open Source Project of the Month</strong> &#8211; <a href="http://code.google.com/p/delphi-orm/" target="_blank">DORM</a> is an ORM framework for Delphi created by <a href="http://danieleteti.it" target="_blank">Daniele Teti</a></li>
<li>If you need to convert your Delphi and C++Builder VCL projects to FireMonkey, check out this solution called <a href="http://www.midaconverter.com/" target="_blank">Mida</a> a commercial product that convert VCL projects to FireMonkey</li>
<li>TMS Software releases <a href="http://www.tmssoftware.com/site/tmsfmxiw.asp" target="_blank">TMS Instrumentation Workshop</a> for FireMonkey, a set of components for instrumentation and multimedia applications for FireMonkey, it support Windows, Mac and iOS</li>
<li>Great opportunity for Embarcadero customers - <a href="http://www.embarcadero.com/bogo-info" target="_blank">BOGO</a> is back!!! &#8211; Buy One Developer Tool, Get a Second Tool FREE!</li>
<li>Great <a href="http://members.adug.org.au/2011/12/15/how-to-create-your-own-firemonkeyimage-filtereffect-to-use-with-firemonkey/" target="_blank">post</a> showing how to create FireMonkey shader effects</li>
</ul>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/" title="Software Development, technologies and other matters #6">Software Development, technologies and other matters #6</a></li><li><a href="http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/" title="Hundreds of hidden Mac OS X features &#8211; tips and tricks">Hundreds of hidden Mac OS X features &#8211; tips and tricks</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-radphp-xe2-is-now-available/" title="Update 4 for RadPHP XE2 is now available">Update 4 for RadPHP XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amazon Web Services (AWS) is the first choice for PHP Developers</title>
		<link>http://www.andreanolanusse.com/en/amazon-web-service-aws-is-the-first-choice-for-php-developers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=amazon-web-service-aws-is-the-first-choice-for-php-developers</link>
		<comments>http://www.andreanolanusse.com/en/amazon-web-service-aws-is-the-first-choice-for-php-developers/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 08:58:13 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Embarcadero]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=775</guid>
		<description><![CDATA[<p>Today I was reading the article &#8220;Developers will flock to public cloud in 2012&#8243;, which pretty much goes over some of the results of Zend survey with 3,335 developers, and of course if not all of them the majority PHP developers. This survey brings some interesting information, the first one related with the use of [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>Today I was reading the article <a href="http://gigaom.com/cloud/developers-will-flock-to-public-cloud-in-2012/" target="_blank">&#8220;Developers will flock to public cloud in 2012&#8243;</a>, which pretty much goes over some of the results of Zend survey with 3,335 developers, and of course if not all of them the majority PHP developers.</p>
<p>This survey brings some interesting information, the first one related with the use of public cloud where 61 percent said they expect to use a public cloud for their projects.</p>
<p><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/zend_survey2012-1.jpg"><img class="aligncenter size-full wp-image-776" title="Use of public Cloud - Zend Survey" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/zend_survey2012-1.jpg" alt="" width="539" height="354" /></a></p>
<p>And, of those going that route, 30 percent named Amazon Web Services as their public cloud of choice; 28 percent did not yet know which cloud they would use; 10 percent named Rackspace; and 6 percent cited Microsoft Azure.  ”Other” public clouds came in at 5 percent and IBM Smart Cloud at 3 percent.</p>
<p><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/zend_survey2012-2.jpg"><img class="aligncenter size-full wp-image-777" title="Which Cloud - Zend survey" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/zend_survey2012-2.jpg" alt="" width="589" height="410" /></a></p>
<p>In terms of overall type of projects, 66 percent of respondents said they will be doing mobile development in 2012, this is a great opportunity for them to try <a href="http://www.embarcadero.com/products/radphp" target="_blank">RadPHP XE2</a> which bring integration with PhoneGap, components for jQuery Mobile and everything they need to optimize their web apps to mobile.</p>
<p>Also 45 percent said they will work on social media integration this year, if they are targeting Facebook another opportunity to try RadPHP XE2 and see how they can rapidly integrate web application with Facebook.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/" title="Hundreds of hidden Mac OS X features &#8211; tips and tricks">Hundreds of hidden Mac OS X features &#8211; tips and tricks</a></li><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/" title="Software Development, technologies and other matters #6">Software Development, technologies and other matters #6</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-radphp-xe2-is-now-available/" title="Update 4 for RadPHP XE2 is now available">Update 4 for RadPHP XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/amazon-web-service-aws-is-the-first-choice-for-php-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android apps connected to Delphi DataSnap Server</title>
		<link>http://www.andreanolanusse.com/en/android-apps-connected-to-delphi-datasnap-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=android-apps-connected-to-delphi-datasnap-server</link>
		<comments>http://www.andreanolanusse.com/en/android-apps-connected-to-delphi-datasnap-server/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 08:15:55 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[DataSnap]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=771</guid>
		<description><![CDATA[<p>On the following video I&#8217;m showing how you can create DataSnap REST Server in Delphi, expose server methods and call them from an Android application. The video shows all the steps to create the server and the Android application. This is a short recap of the video. In order to have other platforms connecting and [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>On the following video I&#8217;m showing how you can create DataSnap REST Server in Delphi, expose server methods and call them from an Android application. The video shows all the steps to create the server and the Android application.</p>
<p><iframe width="480" height="360" src="http://www.youtube.com/embed/0pM6VjZGqLA" frameborder="0" allowfullscreen></iframe><br />
This is a short recap of the video.</p>
<p>In order to have other platforms connecting and interacting with your DataSnap Server you need to enable the REST Interface, and for mobile platforms you can use the DataSnap Connectors that generate proxy classes for Android, BlackBerry, Windows Phone and iOS. In the video I&#8217;m showing how to create the Server, let&#8217;s take a look at the Server Method implementation.</p>
<p>The first server method called InsertCountry, connect on my InterBase database and add a new record to the Country table, see the implementation below:</p>
<pre class="brush: delphi">function TServerMethods1.InsertCountry(Country, Currency: String;
  out Error: String): Boolean;
var
  Comm: TDBXCommand;
begin

  Result := False;

  DBConn.Open;
  Comm := DBConn.DBXConnection.CreateCommand;
  Comm.CommandType := TDBXCommandTypes.DbxSQL;
  Comm.Text :=
    Format('Insert Into Country (COUNTRY, CURRENCY) Values ( ''%s'', ''%s'')',
    [Country, Currency]);

  if not Comm.IsPrepared then
    Comm.Prepare;

  try
    Comm.ExecuteUpdate;
    Comm.Free;
    Result := True;
  except on E: Exception do
    Error := E.Message;
  end;

end;</pre>
<p>The second server method is called GetCountries, and returns all the records I have in the COUNTRY table on my InterBase database. This method returns a DBXReader and DataSnap will convert this automatically to JSON at the moment the Android app calls this method, but since we will use the new DataSnap Connector to generate the proxy class, we won&#8217;t need to handle the JSON object and I will explain that after.</p>
<p>The following code represents the GetCountries implementation.</p>
<pre class="brush: delphi">
function TServerMethods1.GetCountries: TDBXReader;
var
  Comm: TDBXCommand;
begin

  DBConn.Open;
  Comm := DBConn.DBXConnection.CreateCommand;
  Comm.CommandType := TDBXCommandTypes.DbxSQL;
  Comm.Text := 'Select * from Country';

  if not Comm.IsPrepared then
    Comm.Prepare;

  Result := Comm.ExecuteQuery;

end;
</pre>
<p>The next step is to create the proxy class for Android using the DataSnap connectors, which is a new feature in Delphi XE2. The generation can be done through command line or via HTTP request on your DataSnap server, and in the video I&#8217;m showing how to do that.</p>
<p>The proxy generator generates only the DSProxy.java, all the other files part of the DataSnap Connectors are the representation of DataSnap Framework in Java, for example you won&#8217;t need to parse the DBXReader as JSON object in Java, just because we have the DBXReader class in Java and it parses the JSON object for you.</p>
<p>The first step to create a REST connection with your DataSnap Server, which will give me a instance of DSRESTConnection. If your DataSnap Server requires authentication you can use the methods SetUserName and SetPassword to define the credentials.</p>
<pre class="brush: java">	private DSRESTConnection getConnection() {
		DSRESTConnection conn = new DSRESTConnection();
		conn.setHost("192.168.254.128");
		conn.setPort(8080);
		return conn;
	}</pre>
<p>Now, let&#8217;s take a look and see how to execute the server methods, starting with the InsertCountry method as you can see in the following code.</p>
<p>After instantiation of the DSRESTConnection, we pass the REST connection object to the TServerMethods1&#8242;s instance, which is the client representation of TServerMethods1 on the server, and from there just call InsertCountry.</p>
<p>Since InsertCountry returns Boolean and also the Error message parameter is passed as reference, InsertCountry methods will return a InsertCountryReturns, which is a static class with two parameters: error that represent the error message and returnValue which represent the value return by InsertCountry.</p>
<pre class="brush: java">protected void Insert() {

	DSRESTConnection conn = getConnection();

	TServerMethods1 sm = new TServerMethods1(conn);

	try {
		InsertCountryReturns ret;
		ret = sm.InsertCountry(editCountry.getText().toString(), editCurrency.getText().toString(), "");

		if ( ! ret.returnValue ) {
			System.out.println(ret.error);
		}

	} catch (DBXException e) {
		e.printStackTrace();
	}

	// Hide keyboard
	InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
	imm.hideSoftInputFromWindow(editCountry.getWindowToken(),0);

}</pre>
<p>The next method is GetCountries. We start as before by getting the DSRESTConnection instance. The GetCountries method returns a DBXReader and the way we work with the DBXReader class in Java is very similar the way we work in Delphi, use the Next method to interact through the result, and getValue/GetAsXXXXX to get the column value. See the following code:</p>
<pre class="brush: java">protected void Refresh() {

	DSRESTConnection conn = getConnection();

	TServerMethods1 sm = new TServerMethods1(conn);

	TDBXReader reader;
	try {
		reader = sm.GetCountries();

		ArrayList COUNTRIES = new ArrayList();

		while (reader.next()) {
			COUNTRIES.add(reader.getValue("COUNTRY").GetAsString());
		}

		// Add the COUNTRIES array in to the list view
		list.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, COUNTRIES));

	} catch (DBXException e) {
		e.printStackTrace();
	}

}</pre>
<p>This is just a short tutorial explaining how to use DataSnap Connector with Android, take some time and watch the video where I&#8217;m going through more details.</p>
<p>The source code is available for download <a href="http://cc.embarcadero.com/download.aspx?id=28682" target="_blank">here</a> and download the video from <a href="http://cc.embarcadero.com/download.aspx?id=28683" target="_blank">here</a>.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/android-apps-connected-to-cbuilder-datasnap-server/" title="Android apps connected to C++Builder DataSnap Server">Android apps connected to C++Builder DataSnap Server</a></li><li><a href="http://www.andreanolanusse.com/en/video-connecting-android-applications-with-datasnap-server-delphi-conference-brazil-2010/" title="Video: Connecting Android applications with DataSnap Server – Delphi Conference Brazil 2010">Video: Connecting Android applications with DataSnap Server – Delphi Conference Brazil 2010</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/" title="Building a FireMonkey 3D Text Editor for Windows and Mac">Building a FireMonkey 3D Text Editor for Windows and Mac</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/android-apps-connected-to-delphi-datasnap-server/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Using Regular Expression on C++Builder FireMonkey Application</title>
		<link>http://www.andreanolanusse.com/en/using-regular-expression-on-cbuilder-firemonkey-application/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-regular-expression-on-cbuilder-firemonkey-application</link>
		<comments>http://www.andreanolanusse.com/en/using-regular-expression-on-cbuilder-firemonkey-application/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 22:11:14 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[FireMonkey]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=768</guid>
		<description><![CDATA[<p>Here another C++ example showing how to use the RTL regular expression on C++Builder FireMonkey Application. This example  validate a string content based on four different regular expression, which are: Checks if the given text is a validate e-mail address Checks if the given text contains a valid IP address Checks if the given text [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>Here another C++ example showing how to use the RTL regular expression on <a href="http://www.embarcadero.com/products/cbuilder" target="_blank">C++Builder</a> <a href="http://www.embarcadero.com/products/firemonkey" target="_blank">FireMonkey</a> Application.</p>
<p>This example  validate a string content based on four different regular expression, which are:</p>
<ul>
<li>Checks if the given text is a validate e-mail address</li>
<li>Checks if the given text contains a valid IP address</li>
<li>Checks if the given text is a valid date (dd-mm-yyyy)</li>
<li>Checks if the given text is a valid date (mm-dd-yyyy)</li>
</ul>
<p>The follow code shows the four regular expressions used by this application.</p>
<pre class="brush: cpp">void __fastcall TForm1::lbRegExpChange(TObject *Sender) {
	switch (lbRegExp-&gt;ItemIndex) {
	case 0:
		lbType-&gt;Text = "E-mail for validation";

		MemoRegEx-&gt;Text =
			"^((?&gt;[a-zA-Z\d!#$%&amp;''*+\\-/=?^_`{|}~]+\\x20*" "|\"((?=[\\x01-\\x7f])[^\"\\\\]|\\\\[\\x01-\\x7f])*\"\\"
			"x20*)*(?\.?[a-zA-Z\d!" "#$%&amp;''*+\\-/=?^_`{|}~]+)+|\"\"((?=[\\x01-\\x7f])"
			"[^\"\\\\]|\\\\[\\x01-\\x7f])*\")@(((?!-)[a-zA-Z\\d\\" "-]+(?)$";

		break;
	case 1: {
			// Accept IP address between 0..255
			lbType-&gt;Text = "IP address for validation (0..255)";
			MemoRegEx-&gt;Text =
				"\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\" ".(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\."
				"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\." "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b";
			break;

		}
	case 2: {
			// Data interval format mm-dd-yyyy
			lbType-&gt;Text =
				"Date in mm-dd-yyyy format from between 01-01-1900 and 12-31-2099";
			MemoRegEx-&gt;Text =
				"^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[" "01])[- /.](19|20)\\d\\d$";
			break;

		}
	case 3: {
			// Data interval format mm-dd-yyyy
			lbType-&gt;Text =
				"Date in dd-mm-yyyy format from between 01-01-1900 and 31-12-2099";
			MemoRegEx-&gt;Text =
				"^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[01" "2])[- /.](19|20)\\d\\d$";
			break;

		}
	}
	EditTextChangeTracking(EditText);

}</pre>
<p>To execute the validation you can use the method TRegExp::IsMatch as you can see bellow:</p>
<pre class="brush: cpp">void __fastcall TForm1::EditTextChangeTracking(TObject *Sender) {
       // EditText contain the string value and MemoRegEx the regular expression
	if (TRegEx::IsMatch(EditText-&gt;Text, MemoRegEx-&gt;Text)) {
		SEResult-&gt;ShadowColor = TAlphaColors::Green;
	}
	else
		SEResult-&gt;ShadowColor = TAlphaColors::Red;

}</pre>
<p>Since this is a FireMonkey Application, I used a Shadow Effect to show if the Edit box value is valid or not (Green=valid / Red=invalid). The following image shows what happen when you input a invalid e-mail address on Windows and Mac.</p>
<p style="text-align: center;"><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/CBuilderRegExpinAction.png"><img class="aligncenter  wp-image-769" title="Reg Expression in Acton on Windows and Mac" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/CBuilderRegExpinAction.png" alt="" width="373" height="386" /></a></p>
<p>Now the results when you provide the correct e-mail address.</p>
<p style="text-align: center;"><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/CBuilderRegExpinAction-green.png"><img class="aligncenter  wp-image-770" title="Regular Expression in Action with C++Builder" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/CBuilderRegExpinAction-green.png" alt="" width="373" height="386" /></a></p>
<p>You can download the source code from <strong><a href="https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/branches/RadStudio_XE2/CPP/RTL/RegExpression/" target="_blank">here</a></strong> or just update your local RAD Studio XE2 samples folder from our RAD Studio SVN <a href="http://radstudiodemos.svn.sourceforge.net/radstudiodemos/" target="_blank">repository</a>.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/using-dbexpress-framework-on-windows-and-mac-with-cbuilder/" title="Using dbExpress Framework on Windows and Mac with C++Builder">Using dbExpress Framework on Windows and Mac with C++Builder</a></li><li><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" title="Connecting to PostgreSQL through dbExpress ODBC driver">Connecting to PostgreSQL through dbExpress ODBC driver</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/" title="FireMonkey 3D Text Editor Delphi source code available">FireMonkey 3D Text Editor Delphi source code available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/using-regular-expression-on-cbuilder-firemonkey-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using dbExpress Framework on Windows and Mac with C++Builder</title>
		<link>http://www.andreanolanusse.com/en/using-dbexpress-framework-on-windows-and-mac-with-cbuilder/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-dbexpress-framework-on-windows-and-mac-with-cbuilder</link>
		<comments>http://www.andreanolanusse.com/en/using-dbexpress-framework-on-windows-and-mac-with-cbuilder/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 10:33:58 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[FireMonkey]]></category>
		<category><![CDATA[dbExpress]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=763</guid>
		<description><![CDATA[<p>During the following weeks I&#8217;m writing a series of C++ examples to demonstrate the use of VCL, FireMonkey, RTL, dbExpress, and others stuff. Each example will have a major focus, but you will be able to learn other stuffs as well. If there is something specific on C++ you would like to see, please let [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>During the following weeks I&#8217;m writing a series of C++ examples to demonstrate the use of VCL, FireMonkey, RTL, dbExpress, and others stuff. Each example will have a major focus, but you will be able to learn other stuffs as well. If there is something specific on C++ you would like to see, please let me know and I will do my best to bring that in one of my following posts.</p>
<p>In this first post I demonstrate how to use dbExpress Framework to run SQL&#8217;s against your database. Since I want to run the application on Windows and Mac, the console application will target <a href="http://www.embarcadero.com/products/firemonkey" target="_blank">FireMonkey</a>.</p>
<p>The Console Application Wizard for C++ has been updated in <a href="http://www.embarcadero.com/products/cbuilder" target="_blank">C++Builder XE2</a>, adding a Target Framework Option as you can see below.</p>
<p style="text-align: center;"><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/CPPConsoleWizard.png"><img class=" wp-image-764 aligncenter" title="C++Builder Console Application Wizard" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/CPPConsoleWizard.png" alt="" width="253" height="184" /></a></p>
<p>The following code shows how to connect to an <a href="http://www.embarcadero.com/products/interbase" target="_blank">InterBase</a> database, execute a SELECT SQL against the COUNTRY table, and display the results, of course you can use dbExpress Framework to run queries against any database supported by dbExpress, just remember that some dbExpress drivers are not available on Mac in XE2, for example SQL Server and ODBC drivers.</p>
<p>If you are C++ developer you will understand pretty quickly the following code, which has some comments to help you to understand the code.</p>
<pre class="brush: cpp">#include &lt;fmx.h&gt;

#pragma hdrstop
#pragma argsused

#include &lt;tchar.h&gt;
#include &lt;stdio.h&gt;
#include &lt;System.SysUtils.hpp&gt;
#include &lt;Data.DBXDynalink.hpp&gt;
#include &lt;Data.DBXCommon.hpp&gt;
#include &lt;Data.DBXInterbase.hpp&gt;
#include &lt;memory&gt;

int _tmain(int argc, _TCHAR* argv[]) {

	// Get database connection instance
	std::auto_ptr&lt;TDBXConnection&gt;conn
		(TDBXConnectionFactory::GetConnectionFactory()-&gt;GetConnection
		("EMPLOYEE", "sysdba", "masterkey"));

	if (conn.get() != NULL) {

		printf("================= Connection Properties ============\n");

		AnsiString s = conn-&gt;ConnectionProperties-&gt;Properties-&gt;Text + "\n";
		printf(s.c_str());

		// create command and transaction objects to execute the query
		std::auto_ptr&lt;TDBXCommand&gt;command(conn-&gt;CreateCommand());

                // initiate a transaction
		TDBXTransaction *transaction =
			conn-&gt;BeginTransaction(TDBXIsolations::ReadCommitted);

		command-&gt;Text = "SELECT * FROM Country";
		command-&gt;Prepare();

		// execute the query and get the cursor (DBXReader)
		std::auto_ptr&lt;TDBXReader&gt;reader(command-&gt;ExecuteQuery());

		// print number of columns and each record
		printf(AnsiString("Number of Columns:" + IntToStr(reader-&gt;ColumnCount) +
			"\n").c_str());

		// display the list of records
		while (reader-&gt;Next()) {
			printf((reader-&gt;Value[reader-&gt;GetOrdinal("COUNTRY")]-&gt;GetAnsiString
				() + "\n").c_str());
		}

		printf("====================================================\n");

		conn-&gt;CommitFreeAndNil(transaction);
	}

	Sleep(5000);
	return 0;
}</pre>
<p>Before you run this code, make sure you have the dbExpress alias EMPLOYEE setup to connect into the EMPLOYEE.GDB database and the InterBase client installed, if everything is ok just compile and run the program on Windows and Mac, the following image shows this application running on Mac.</p>
<p style="text-align: center;"><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/CPPDBXConsoleApp-Mac.png"><img class="wp-image-765 aligncenter" title="C++ application using dbExpress framework on Mac" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/01/CPPDBXConsoleApp-Mac.png" alt="" width="437" height="515" /></a></p>
<p>There are few things you need to be aware when deploying and running this kind of application on Mac; on my following post I will explain everything about that.</p>
<p>For now we&#8217;ve learned how to use DBX Framework and make the application to compile and run on Windows and Mac.</p>
<p>You can download the source code from <strong><a href="https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/branches/RadStudio_XE2/CPP/Database/dbExpress/DBXFramework" target="_blank">here</a></strong> or just update your local RAD Studio XE2 samples folder from our RAD Studio SVN <a href="http://radstudiodemos.svn.sourceforge.net/radstudiodemos/" target="_blank">repository</a>.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" title="Connecting to PostgreSQL through dbExpress ODBC driver">Connecting to PostgreSQL through dbExpress ODBC driver</a></li><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/using-regular-expression-on-cbuilder-firemonkey-application/" title="Using Regular Expression on C++Builder FireMonkey Application">Using Regular Expression on C++Builder FireMonkey Application</a></li><li><a href="http://www.andreanolanusse.com/en/copyreadertoclientdataset-blob-and-the-message-feature-not-implemented/" title="CopyReaderToClientDataSet, Blob and the message &#8220;Feature not implemented&#8221;">CopyReaderToClientDataSet, Blob and the message &#8220;Feature not implemented&#8221;</a></li><li><a href="http://www.andreanolanusse.com/en/new-dbexpress-driver-for-firebird-in-delphi-2010-and-cbuilder-2010/" title="Video: New dbExpress driver for Firebird in Delphi 2010 and C++Builder 2010">Video: New dbExpress driver for Firebird in Delphi 2010 and C++Builder 2010</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/using-dbexpress-framework-on-windows-and-mac-with-cbuilder/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Merry Christmas and a fantastic 2012 to everybody</title>
		<link>http://www.andreanolanusse.com/en/merry-christmas-and-a-fantastic-2012-to-everybody/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=merry-christmas-and-a-fantastic-2012-to-everybody</link>
		<comments>http://www.andreanolanusse.com/en/merry-christmas-and-a-fantastic-2012-to-everybody/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 09:32:17 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Embarcadero]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=761</guid>
		<description><![CDATA[<p>It&#8217;s Christmas, a special day to all of us and the time to have our families together and celebrate. To all my blog readers Merry Christmas!! In a few days starts a new year, and now is time to review our achievements, mistakes and successes in 2011, make plans to improve, set new goals and [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s Christmas, a special day to all of us and the time to have our families together and celebrate.</p>
<p>To all my blog readers Merry Christmas!!</p>
<p>In a few days starts a new year, and now is time to review our achievements, mistakes and successes in 2011, make plans to improve, set new goals and be ready to achieve all of them in 2012.</p>
<p>I wish you a prosperous new year and in 2012 you can have the most amazing year of your life.</p>
<p>Regards,<br />
Andreano Lanusse </p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/hundreds-of-hidden-mac-os-x-features-tips-and-tricks/" title="Hundreds of hidden Mac OS X features &#8211; tips and tricks">Hundreds of hidden Mac OS X features &#8211; tips and tricks</a></li><li><a href="http://www.andreanolanusse.com/en/software-development-technologies-and-other-matters-6/" title="Software Development, technologies and other matters #6">Software Development, technologies and other matters #6</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-radphp-xe2-is-now-available/" title="Update 4 for RadPHP XE2 is now available">Update 4 for RadPHP XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/merry-christmas-and-a-fantastic-2012-to-everybody/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android apps connected to C++Builder DataSnap Server</title>
		<link>http://www.andreanolanusse.com/en/android-apps-connected-to-cbuilder-datasnap-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=android-apps-connected-to-cbuilder-datasnap-server</link>
		<comments>http://www.andreanolanusse.com/en/android-apps-connected-to-cbuilder-datasnap-server/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 01:48:16 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[DataSnap]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=747</guid>
		<description><![CDATA[<p>As part of the 31 days of RAD Studio XE2 Tutorials, in today&#8217;s video I&#8217;m showing how you can create DataSnap REST Server in C++Builder, expose server methods and call them from an Android application. The video shows all the steps to create the server and the Android application. This is a short recap of [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>As part of the <a href="http://www.embarcadero.com/31-days-of-december" target="_blank">31 days of RAD Studio XE2 Tutorials</a>, in today&#8217;s video I&#8217;m showing how you can create DataSnap REST Server in C++Builder, expose server methods and call them from an Android application. The video shows all the steps to create the server and the Android application.</p>
<p><iframe src="http://www.youtube.com/embed/zXEuZNc60Hw" frameborder="0" width="480" height="360"></iframe></p>
<p>This is a short recap of the video.</p>
<p>In order to have other platforms connecting and interacting with your DataSnap Server you need to enable the REST Interface, and for mobile platforms you can use the DataSnap Connectors that generate proxy classes for Android, BlackBerry, Windows Phone and iOS. In the video I&#8217;m showing how to create the Server, let&#8217;s take a look at the Server Method implementation.</p>
<p>The first server method called InsertCountry, connect on my InterBase database and add a new record to the Country table, see the implementation below:</p>
<pre class="brush: cpp">bool TServerMethods1::InsertCountry(String country, String currency,
	String &amp;error) {
	TDBXCommand *comm;

	bool result = false;
	DbConn-&gt;Open();
	comm = DbConn-&gt;DBXConnection-&gt;CreateCommand();
	comm-&gt;CommandType = TDBXCommandTypes_DbxSQL;

	TVarRec vr[] = {country, currency};
	comm-&gt;Text =
		Format("Insert Into Country (COUNTRY, CURRENCY) Values ( '%s', '%s')", vr, 2);

	if (!comm-&gt;IsPrepared) {
		comm-&gt;Prepare();
	}

	try {
		comm-&gt;ExecuteUpdate();
		result = true;

	}
	catch (Exception* e) {
		error = e-&gt;Message;
	}
	delete comm;
	return result;

}</pre>
<p>The second server method is called GetCountries, and returns all the records I have in the COUNTRY table on my InterBase database. This method returns a DBXReader and DataSnap will convert this automatically to JSON at the moment the Android app calls this method, but since we will use the new DataSnap Connector to generate the proxy class, we won&#8217;t need to handle the JSON object and I will explain that after.</p>
<p>The following code represents the GetCountries implementation.</p>
<pre class="brush: cpp">TDBXReader* TServerMethods1::GetCountries() {

	TDBXCommand *comm;

	try {
		DbConn-&gt;Open();
		comm = DbConn-&gt;DBXConnection-&gt;CreateCommand();
		comm-&gt;CommandType = TDBXCommandTypes_DbxSQL;
		comm-&gt;Text = "Select * from Country";

		if (!comm-&gt;IsPrepared) {
			comm-&gt;Prepare();
		}
		return comm-&gt;ExecuteQuery();
	}
	catch (Exception* e) {
		return NULL;
	}
}</pre>
<p>The next step is to create the proxy class for Android using the DataSnap connectors, which is a new feature in C++Builder XE2. The generation can be done through command line or via HTTP request on your DataSnap server, and in the video I&#8217;m showing how to do that.</p>
<p>The proxy generator generates only the DSProxy.java, all the other files part of the DataSnap Connectors are the representation of DataSnap Framework in Java, for example you won&#8217;t need to parse the DBXReader as JSON object in Java, just because we have the DBXReader class in Java and it parses the JSON object for you.</p>
<p>The first step to create a REST connection with your DataSnap Server, which will give me a instance of DSRESTConnection. If your DataSnap Server requires authentication you can use the methods SetUserName and SetPassword to define the credentials.</p>
<pre class="brush: java">	private DSRESTConnection getConnection() {
		DSRESTConnection conn = new DSRESTConnection();
		conn.setHost("192.168.254.128");
		conn.setPort(8080);
		return conn;
	}</pre>
<p>Now, let&#8217;s take a look and see how to execute the server methods, starting with the InsertCountry method as you can see in the following code.</p>
<p>After instantiation of the DSRESTConnection, we pass the REST connection object to the TServerMethods1&#8242;s instance, which is the client representation of TServerMethods1 on the server, and from there just call InsertCountry.</p>
<p>Since InsertCountry returns Boolean and also the Error message parameter is passed as reference, InsertCountry methods will return a InsertCountryReturns, which is a static class with two parameters: error that represent the error message and returnValue which represent the value return by InsertCountry.</p>
<pre class="brush: java">protected void Insert() {

	DSRESTConnection conn = getConnection();

	TServerMethods1 sm = new TServerMethods1(conn);

	try {
		InsertCountryReturns ret;
		ret = sm.InsertCountry(editCountry.getText().toString(), editCurrency.getText().toString(), "");

		if ( ! ret.returnValue ) {
			System.out.println(ret.error);
		}

	} catch (DBXException e) {
		e.printStackTrace();
	}

	// Hide keyboard
	InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
	imm.hideSoftInputFromWindow(editCountry.getWindowToken(),0);

}</pre>
<p>The next method is GetCountries. We start as before by getting the DSRESTConnection instance. The GetCountries method returns a DBXReader and the way we work with the DBXReader class in Java is very similar the way we work in C++, use the Next method to interact through the result, and getValue/GetAsXXXXX to get the column value. See the following code:</p>
<pre class="brush: java">protected void Refresh() {

	DSRESTConnection conn = getConnection();

	TServerMethods1 sm = new TServerMethods1(conn);

	TDBXReader reader;
	try {
		reader = sm.GetCountries();

		ArrayList COUNTRIES = new ArrayList();

		while (reader.next()) {
			COUNTRIES.add(reader.getValue("COUNTRY").GetAsString());
		}

		// Add the COUNTRIES array in to the list view
		list.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, COUNTRIES));

	} catch (DBXException e) {
		e.printStackTrace();
	}

}</pre>
<p>This is just a short tutorial explaining how to use DataSnap Connector with Android, take some time and watch the video where I&#8217;m going through more details.</p>
<p>The source code is available for download <a href="http://cc.embarcadero.com/download.aspx?id=28677" target="_blank">here</a> and download the video from <a href="http://cc.embarcadero.com/download.aspx?id=28678" target="_blank">here</a>.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/android-apps-connected-to-delphi-datasnap-server/" title="Android apps connected to Delphi DataSnap Server">Android apps connected to Delphi DataSnap Server</a></li><li><a href="http://www.andreanolanusse.com/en/copyreadertoclientdataset-blob-and-the-message-feature-not-implemented/" title="CopyReaderToClientDataSet, Blob and the message &#8220;Feature not implemented&#8221;">CopyReaderToClientDataSet, Blob and the message &#8220;Feature not implemented&#8221;</a></li><li><a href="http://www.andreanolanusse.com/en/caching-data-on-datasnap-server/" title="Caching data on DataSnap Server">Caching data on DataSnap Server</a></li><li><a href="http://www.andreanolanusse.com/en/video-connecting-android-applications-with-datasnap-server-delphi-conference-brazil-2010/" title="Video: Connecting Android applications with DataSnap Server – Delphi Conference Brazil 2010">Video: Connecting Android applications with DataSnap Server – Delphi Conference Brazil 2010</a></li><li><a href="http://www.andreanolanusse.com/en/datasnap-videos-for-2011-what-would-you-like-to-see/" title="DataSnap videos for 2011 – what would you like to see?">DataSnap videos for 2011 – what would you like to see?</a></li><li><a href="http://www.andreanolanusse.com/en/registering-datasnap-server-class-in-runtime-with-delphi/" title="Registering DataSnap Server Class in runtime with Delphi">Registering DataSnap Server Class in runtime with Delphi</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/android-apps-connected-to-cbuilder-datasnap-server/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>It&#8217;s time to move on</title>
		<link>http://www.andreanolanusse.com/en/its-time-to-move-on/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=its-time-to-move-on</link>
		<comments>http://www.andreanolanusse.com/en/its-time-to-move-on/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 06:31:18 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=744</guid>
		<description><![CDATA[<p>Hi everyone, there are certain things we cannot let go and need to be mention. During the whole year I try to keep my blog posts about software development and other related technologies, but this time I need to mention what is going on here at Embarcadero. Upgrading to Delphi XE2, C++Builder XE2 or RAD [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>Hi everyone, there are certain things we cannot let go and need to be mention. During the whole year I try to keep my blog posts about software development and other related technologies, but this time I need to mention what is going on here at Embarcadero. Upgrading to <a href="http://www.embarcadero.com/products/delphi" target="_blank">Delphi XE2</a>, <a href="http://www.embarcadero.com/products/cbuilder" target="_blank">C++Builder XE2</a> or <a href="http://www.embarcadero.com/products/rad-studio" target="_blank">RAD Studio XE2</a> by December 30, 2011, you can get up to $2,935 (USD) in additional tools free! Also you are eligible to take one <a href="http://www.embarcadero.com/certification">Delphi Developer Certification</a> test free of charge.</p>
<table width="80%" border="1" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td align="left"><strong>Buy Delphi, C++Builder or RAD Studio XE2&#8230;</strong></td>
<td align="left"><strong>And receive the following FREE!!!</strong></td>
</tr>
<tr>
<td align="left">Professional edition</td>
<td align="left">
<ul>
<li>Rapid SQL XE2 – FREE!</li>
<li>FastCube – FREE!</li>
<li>One Delphi Developer Certification &#8211; FREE!</li>
</ul>
</td>
</tr>
<tr>
<td align="left">Enterprise edition</td>
<td align="left">
<ul>
<li>Rapid SQL XE2 – FREE!</li>
<li>FastCube – FREE!</li>
<li>DB Optimizer &#8211; FREE!</li>
<li>One Delphi Developer Certification &#8211; FREE!</li>
</ul>
</td>
</tr>
<tr>
<td align="left">Architect edition</td>
<td align="left">
<ul>
<li>Rapid SQL XE2 – FREE!</li>
<li>FastCube – FREE!</li>
<li>DB Optimizer &#8211; FREE!</li>
<li>DB Change Manager &#8211; FREE!</li>
<li>One Delphi Developer Certification &#8211; FREE!</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>Recently I published the White Paper <a title="White Paper: Reasons to Migrate to Delphi XE2 | What you might have missed since Delphi 7" href="http://www.andreanolanusse.com/en/white-paper-reasons-to-migrate-to-delphi-xe2-what-you-might-have-missed-since-delphi-7/">&#8220;Reasons to Migrate to Delphi XE2 | What you might have missed since Delphi 7&#8243;</a> and can help you to decide to upgrade to XE2.</p>
<p>Remember, this offer expire on December 30, 2011 and you can have more information <a href="http://www.embarcadero.com/radoffer" target="_blank">here</a>.</p>
<p>It&#8217;s time to move on <img src='http://www.andreanolanusse.com/en/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/copyreadertoclientdataset-blob-and-the-message-feature-not-implemented/" title="CopyReaderToClientDataSet, Blob and the message &#8220;Feature not implemented&#8221;">CopyReaderToClientDataSet, Blob and the message &#8220;Feature not implemented&#8221;</a></li><li><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" title="Connecting to PostgreSQL through dbExpress ODBC driver">Connecting to PostgreSQL through dbExpress ODBC driver</a></li><li><a href="http://www.andreanolanusse.com/en/update-2-for-delphi-xe2-cbuilder-xe2-and-radphp-xe2-available/" title="Update 2 for Delphi XE2, C++Builder XE2 and RadPHP XE2 available">Update 2 for Delphi XE2, C++Builder XE2 and RadPHP XE2 available</a></li><li><a href="http://www.andreanolanusse.com/en/trial-datasheet-feature-matrix-and-faq-for-xe2-release-available/" title="Trial, Datasheet, Feature Matrix and FAQ for XE2 release available">Trial, Datasheet, Feature Matrix and FAQ for XE2 release available</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/its-time-to-move-on/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>700 Delphi Developers at Delphi Conference Brazil</title>
		<link>http://www.andreanolanusse.com/en/700-delphi-developers-at-delphi-conference-brazil/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=700-delphi-developers-at-delphi-conference-brazil</link>
		<comments>http://www.andreanolanusse.com/en/700-delphi-developers-at-delphi-conference-brazil/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 15:43:51 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=736</guid>
		<description><![CDATA[<p>We are so excited here in Brazil at Delphi Conference 2011, around 700 Delphi Developers learning about all the great stuffs in Delphi. David, Jim and I are here at the Conference talking with customers, community members and our partners. Related PostsBye Bye EmbarcaderoTDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReaderFireMonkey 3D Text Editor [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p>We are so excited here in Brazil at Delphi Conference 2011, around 700 Delphi Developers learning about all the great stuffs in Delphi.</p>
<p>David, Jim and I are here at the Conference talking with customers, community members and our partners.</p>
<p><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2011/11/DC2011.jpg"><img class="alignleft size-large wp-image-737" title="Delphi Conference 2011" src="http://www.andreanolanusse.com/en/wp-content/uploads/2011/11/DC2011-1024x678.jpg" alt="" width="717" height="475" /></a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/" title="FireMonkey 3D Text Editor Delphi source code available">FireMonkey 3D Text Editor Delphi source code available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/" title="Building a FireMonkey 3D Text Editor for Windows and Mac">Building a FireMonkey 3D Text Editor for Windows and Mac</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/700-delphi-developers-at-delphi-conference-brazil/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>White Paper: Reasons to Migrate to Delphi XE2 &#124; What you might have missed since Delphi 7</title>
		<link>http://www.andreanolanusse.com/en/white-paper-reasons-to-migrate-to-delphi-xe2-what-you-might-have-missed-since-delphi-7/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=white-paper-reasons-to-migrate-to-delphi-xe2-what-you-might-have-missed-since-delphi-7</link>
		<comments>http://www.andreanolanusse.com/en/white-paper-reasons-to-migrate-to-delphi-xe2-what-you-might-have-missed-since-delphi-7/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 23:16:39 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=731</guid>
		<description><![CDATA[<p>If you still using Delphi 7 or past versions, I highly recommend you to reserve sometime to read this article. Delphi has really grown with some truly cool things getting added in the time since the Delphi 7. This article gives a few good reasons to migrate, along with an overview of all the new [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://cc.embarcadero.com/download.aspx?id=28627" target="_blank"><img class="alignleft size-medium wp-image-733" style="border-style: initial; border-color: initial; border-width: 0px; margin: 4px;" title="Download the White Paper: Reasons to migrate to Delphi XE2" src="http://www.andreanolanusse.com/en/wp-content/uploads/2011/11/Reasons_to_migrate_to_DelphiXE2-Cover-232x300.png" alt="" width="232" height="300" /></a></p>
<p>If you still using Delphi 7 or past versions, I highly recommend you to reserve sometime to read this article. Delphi has really grown with some truly cool things getting added in the time since the Delphi 7.</p>
<p>This article gives a few good reasons to migrate, along with an overview of all the new features added to Delphi product releases since version 7, where Delphi was an IDE to build Windows 32-bit applications and became an IDE for Windows 64-bit, Mac and iOS development.</p>
<p>If you already read my article &#8220;Reasons to migrate from Delphi 7 to Delphi 2009&#8243; or &#8220;Reasons to migrate to Delphi XE&#8221;, this is the updated version including Delphi 2010, XE and XE2 new features.</p>
<p>I would like to remind you that migrating to Delphi XE2 gives you access to <a href="http://www.embarcadero.com/products/rad-studio/previous-versions">earlier versions</a> at no extra cost. For example buying Delphi XE2 also gets you Delphi 7, Delphi 2007, Delphi 2009, Delphi 2010 and Delphi XE.</p>
<p>I hope this article answer all of your question, any additional question let us know how.</p>
<p>Article <a href="http://cc.embarcadero.com/download.aspx?id=28627" target="_blank"><strong>download</strong></a>.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero/" title="Bye Bye Embarcadero">Bye Bye Embarcadero</a></li><li><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" title="TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a></li><li><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/" title="FireMonkey 3D Text Editor Delphi source code available">FireMonkey 3D Text Editor Delphi source code available</a></li><li><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" title="Update 4 for Delphi XE2 and C++Builder XE2 is now available">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a></li><li><a href="http://www.andreanolanusse.com/en/building-a-firemonkey-3d-text-editor-for-windows-and-mac/" title="Building a FireMonkey 3D Text Editor for Windows and Mac">Building a FireMonkey 3D Text Editor for Windows and Mac</a></li><li><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" title="Some historical information about Delphi &#8211; 17 years of innovation">Some historical information about Delphi &#8211; 17 years of innovation</a></li></ul><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/white-paper-reasons-to-migrate-to-delphi-xe2-what-you-might-have-missed-since-delphi-7/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

