Monday, June 23, 2014

Fun with Colours in Delphi

In the following set of examples and downloads, Heimo presents some wonderful content relating to RGB blending Hexadecimal, Decimal and Binary conversions as well as some wonderful operations on bitmap images.

Heimo is TUT's on resident Delphi expert!

Thank you Heimo for all your contributions to this site.

ppt used as part of the Glen High presentation may be downloaded: Here
ppt in zip format may be downloaded: Here

Delphi Colour Sample applications may be downloaded: Here

Downloading YouTube videos in a Delphi Application

In the following example Heimo Jeske of TUT presents content on how to download  and watch YouTube videos in a Delphi application. Great potential idea for inclusion in a  PAT.

Thanks Heimo

The sample application can be downloaded: HERE
The accompanying pdf with some ActiveX information can be downloaded: HERE

Wednesday, June 11, 2014

Embarcadero - TUT Delphi Roadshow Glen High - Saturday 7June 2014

This past Saturday Gauteng played host to a wonderful Delphi Roadshow workshop presented by Embarcadero and TUT, at the Glen High School in Pretoria.
The event was a huge success with 207 and 42 teachers and many subject advisors attending.

The event was perfectly organised by Mrs Glenda van Dijk (of the Glen High) and Mrs Ena Brits of the Gauteng Education Department, with support from Mr Mohammed Ally.

As part of Embarcadero’s commitment to IT education in SA Dr Glenn Wylie and Mr Jon Harrison of Embarcadero UK availed them self for some presentations at the workshop. The school event coincided with the launch of RAD studio XE6, where corporate events were held in Cape Town and in Johannesburg.

The event started with a warm welcome from Mrs Ena Brits and a presentation from Mr Heimo Jeske, TUT’s resident Delphi expert. Heimo showed how various numbering systems are used as part of the IT domain with a brilliant example of number conversions and hexadecimal concepts with colours, in Delphi. Working with colours and bitmap images adds a new dimension to the concept of two dimensional arrays, and many teachers got some great ideas for future array examples, I was told. Heimo also demoed an application which allows for some very creative manipulation of bitmap images.
It was great so see many learners grasp the concept, with relation to Hexadecimal when presented in a concrete fashion.  The slides and the application will be uploaded to this blog later.

After the presentation on colours, Dr Glenn Wylie presented some wonderful statistics on the exponential growth of RAD Studio world-wide. For many of the teachers and learners it was an eye opener to see how many large corporates in SA use Delphi and Embarcadero products.

Some large corporate companies using Delphi and Embarcadero Related Products. Worth to mention is the fact that some components of the transactional system of the Johannesburg Stock Exchange is written in Delphi.

Also worthwhile to mention is that the SAGE ERP system is also completely written in Delphi with SAGE launching some wonderful Mobile applications for their customers and users.

Another large (relatively unknown company) that implements data critical systems for very large corporations in Delphi is Infomet. Infomet provides Information Delivery Solutions in the Financial, Retail and Insurance Services domain.

Some other companies using Embarcadero related products.

Dr Wylie avowed Embarcadero’s continued support for Education and explained that our CAPS curriculum and subsequent textbook materials wowed educational departments in Kenya and Brazil, and that Embarcadero is launching similar projects in these two countries. What was extremely encouraging was the fact that Nigeria is also launching Delphi as part of their school curriculum, with the possibility of a Dedicated Delphi TV programme broadcast on a school-based TV channel.

Dr Wylie also informed the delegates of plans in Kenya to present laptops to high school learners with educational copies of Delphi preloaded for Computer Science learners.
Another important notion conveyed by Dr Wylie, is the fact that sales of Delphi and the support for VCL based development has surpassed many of their own expectations.

Dr Wylie also introduced the AppMethod product of Embarcadero a ‘sub-set’ of the RAD studio compiler which allow Mobile development via the FireMonkey FMX platform.  AppMethod allows for Mobile Development to ARM based mobile devices such as Android and iOS devices, to from a single code base to native code, without the necessity of any VM ware.

AppMethod allows for development in C++ (the latest and most up to date language version according to many experts) and Object Pascal.
Dr Wylie explained Embarcadero’s reason for the launch of the AppMethod product as competition to other mobile development platforms available.

Dr Wylie also announced a possible later upgrade of the Free RAD Studio Delphi compiler to schools to an XE version later.  Dr Wylie also, showed wonderful statistics of how the free Delphi 2010 compiler was shipped to SA schools, some even to provinces not doing Delphi as a CAPS implementation language. 

THE best news of all was kept for last: A FREE educational version of the AppMethod IDE to all schools and students in SA. Which will be available later this year! This was the most exciting news since the announcement of the Delphi 2010 educational version in 2013.


 For Dr Wylie's complete announcement video (+/- 130Mb) click: Here

After Dr Wylie’s presentation Mr Jon Harrison highlighted some of the wonderful features and enhancements the Delphi compiler and Object Pascal language has undergone over the last few years. It was amazing to see some the features and additional functionality that Delphi provides, which ensures that Object Pascal is kept abreast with other known programming languages.

In his first presentation Mr Harrison also showed some wonderful enhancements to some of the VCL aspects of the Delphi compiler, such as Styles and support for Windows 8 UI’s and toolbars.

In the second part of his presentation the similarities between Object Pascal VCL coding and FireMonkey Object Pascal coding were showcased. The learners were amazed to see how easy some graphics and animations are applied using some of the 3D FMX components. In no time a program with a sphere filled with an image of the earth had a moon that rotated around it. It was wonderful to see how learners (and teachers) eyes lit up with enthusiasm, for programming. 


The ability of the Delphi i.e. Object Pascal programming language to hide many of the intrinsic complexities of a task, whilst still requiring the application computational thinking  is what make it such a wonderful suitable tool for education. 

The next session was presented by Bertie Buitendag of TUT, and in the example showcased and developed live the wonderful and powerful capabilities of the ClientDataSet component was illuminated. Learners and teachers alike was amazed to see how a ‘DB-Like’ application could be mimicked with locally stored data in an XML file. What was even more amazing was the ease in which the XML file were created and managed by Delphi with one single line of code, which was unaware to them already known to many learners.

After the ClientDataset example, one of the most prominent features of the Delphi programming language was presented, i.e. the seamlessly hassle-free capability to connect to virtually any type of DB without any problems. For this example Bertie Buitendag showed some features of the Oracle 10g Express Edition DBMS software which forms part of the curriculum of some subjects at TUT. 

An application was demoed where Delphi connects to an Oracle DB for modification. The learners where surprised to see how their SQL knowledge came to use when requesting data from the 10g Web Client Demo DB after data manipulated with the Delphi application that was demoed.

The learners where also presented with one fun snippet of information i.e. Where did Delphi get its name from, and the relationship between the word Oracle and Delphi (both part of Greek mythology) were explained.

The session thereafter on: FireMonkey and the VCL (Desktop Apps) Including database connectivity and FireDAC showcased additional cool snippets of code as well as the FireDAC technology. This alternate exciting technology allows for even easier connectivity to any DB, and Jon Harrison explicated that with an example. 


Sidenote [For Bertie Buitendag, it is very saddening to read mailing lists and forums, of some teachers difficulties and issues to connect their sample databases for teaching in schools where Delphi is not used. The question that keeps coming to mind is, if the teachers have difficulties with certain concepts, what about the poor learners?]

Another wonderful capability of the Delphi XE5 and onwards (and AppMethod) platform is the capability to write code for devices and gadgets. In an explanation by Bertie, and subsequent video demonstrations, the differentiation between a device and a gadget was clarified. 

A short video on writing an application in Delphi for interface to an ARDrone was showcased thereafter a Delphi application for the Google Glass was shown. (Both of these concepts are included for teaching purposes)  The learners and teachers were amazed by the video inserts, and some of the learners commented that they never knew that Delphi had such wonderful capabilities.

 During the break Mr Harrison and Dr Wylie were inundated with questions from both learners and teachers, and the excitement could almost be felt in the hall. Snacks were generously sponsored by Embarcadero and Mrs Glenda van Dijk and her team hosted learners and teachers and avid coffee drinkers like me, like professionals.

The best was kept for last, where after the break a session on some of Delphi’s ‘netcentric’ i.e. Web enabling capabilities were showcased.

Sidenote [Browsing through archived mailing list postings on my Laptop (though the years), Delphi was often scrutinised by critics and ‘haters’ as not being ‘netcentric’, which was presented by many as a prerequisite and requirement for a good programming language for educational implementation. Funny enough Delphi 7 had many of these ‘netcentric’ abilities unknown by many, but with the advent of Delphi XE2 and onwards this supposed prerequisite is more than actualised,. In fact Delphi cannot be more ‘netcentric’ than it currently is] 

Mr Aubrey Khoza showcased a wonderful weather based web service implementation example, and in true TUT presentation style, the learners were glued to their seats, and laughed with all the humour included as part of Aubrey’s unique teaching method Aubrey further highlighted the fact that Delphi hides many of the complexities one should not be initially concerned about when starting off with a new concept.  The example demoed by Aubrey has great possibilities for future PAT projects.


The next two examples showcased, presented the capabilities of the TWebBrowser component. Bertie showcased a Google Maps implementation example in a Delphi programme, and the Gr11 learners immediately saw the possibilities for inclusion of such coding into their geocaching PAT projects. In the same instance Mr Harrison showed how easy such as application could be deployed to a tablet, with sensors where the current geo-location is determined and displayed on a Google Maps.  

Another web based example that intrigued the learners was presented by Heimo, when he showcased an application that downloads data from the web for use.  As well as a wonderful application to download and watch YouTube videos. The learners enthusiasm flared and Bertie could not wonder how this example will affect future bandwidth usage  (via the paper-cup network : internal attendee joke) at schools. 

The last session bowled all learners and teachers alike, when the ease of cross-platform mobile development was highlighted in Delphi. The learners were awed with how easy it was to use Delphi code to develop and deploy mobile applications to Android and Apple devices. Mr Jon Harrison showed showed various tips on cross platform development, one of which is to compile your application to Windows first for easier debugging purposes and then to the device. 

The highlight of Mr Harrison’s presentation was an App-tethering example which used WiFi to transmit a picture taken from a tablet to a Delphi desktop client, using the new tethering components in Delphi XE6. 

The sheer knowledge and skill in which Mr Harrison presented to the learners impressed everyone, and will sure act as a catalyst for many learners to aspire to greater heights in their future IT study endeavours.

The workshop was ended with a last short Mobile game app demonstration which was deployed live to a learner’s Android phone.  An adaptation of the game was also showcased which provided some very funny banter in the light of current developments, and let’s just say which could have presented the proverbial storm in a coffee-cup. But this memory is for attendees only.

The author would like to thank everybody who were involved, and everybody who attended. Thank you very much to Embarcadero for your continued commitment and support. 

It is my sincere prayer that in the light of current developments, sound educational pedagogical logic principles will prevail and that we may have more such wonderful presentations in future. The faculty of ICT at TUT stays committed to secondary IT education in SA, and the past event did more to perceptions than one could ever imagine.

Sunday, June 1, 2014

Some comment on a comment with a comment or two

A while back a very short and to the point comment was made on a popular moderated mailing list. The post presented the following site:

Hiscott (2014) the author of the article stated that: 
"The tech sector is booming. If you've used a smartphone or logged on to a computer at least once in the last few years, you've probably noticed this. As a result, coding skills are in high demand, with programming jobs paying significantly more than the average position. Even beyond the tech world, an understanding of at least one programming language makes an impressive addition to any resumé."

From her statement it is obvious that she emphasised the notion that one should learn at least one programming language if one is to pursue a career in programming. The article pertain around a career and to the remuneration expected, and has no reference to education or to which language to start of with when introduced to programming.

The article presents 10 programming languages , which are very relevant and applicable to industry today.  This posting does not refute the notion at all, but what is interesting however is the comments made at the end of the article, by various people.

The comments at the end of the article however stresses one important fact, i.e. There will never be complete consensus around which programming language or development tool is best for industry. Surely each has their own merits and applicable dominant application domain.

What instigated this posting however is the fact that the comment that was made (on the moderated mailing list) was done in retrospect with our current secondary school IT setup.

The poster on the mailing list merely wrote: "Where is Delphi?  ?? ??? ???? "

To provide an answer or some reply to this, I present the following:

Car and Driver 2014 - 10 Best Cars

Autotrader 2014 - 10 Best New Cars for First-Time Buyers: 2014

Top Gear - 20 Best Cars

From the three postings (from different perspectives) the comments at the end of each provide some significant insight as well. It seems that even with cars, consensus is difficult to find.

And for that I ask:  "Where is the Rolls Royce?
?? ??? ???"

And lastly.... two thoughts for the sideline: 

1 - "No car seems to be for free"  and

2 - "If I learned to drive in a Toyota, would driving a Ford require much extra skill?" 


Hiscott R, (2014) 10 Programming Languages You Should Learn in 2014. [Online] Available at: [Accessed 2014/06/02]