Tuesday, May 20, 2014

Using (Consuming) Web Services as part of a Delphi Application

Delphi allows for the easy consumption of web services as part of an application.

The following tutorial by Aubrey Khoza, highlights such an example.

The example also incorporates a stringgrid and text files. 

The use of web services is not part of the CAPS but learners are welcome to include the concept and technique as part of their PAT's. It highlights some of the 'netcentric' capabilities of Delphi.

Below are the links for the applicable downloads




Thank you Aubrey for all your kind efforts and commitment to IT education in secondary schools!

Working with DB's ADO - Sea Side Funrun (Video Reload)

After some requests and a personal review of the videos posted relating to the following post:


I have decided to reload the videos for normal download. The quality of the videos is better. The content presented, is very helpful for all learners who endevour their PAT's.

Happy watching:






Happy Coding!

Thursday, May 15, 2014

SAGE at EOH 2014 SADelphiITSchools Event

A wonderful presentation delivered André Joubert of SAGE - ERP during the event of the 10th of May.

Here is André's slides and handouts:



Thanks again for SAGE's involvement!

The Delphi schools are surely on the right track :-)

Wednesday, May 14, 2014

2nd DelphiITSchools Event at EOH

This past Saturday 10th of May 2014, saw the 2nd annual presentation of the SADelphiITSchools workshop being held at EOH in Bedfordview, Gauteng. 
More than 58 teachers, subject advisors and other delegates which also included academia from 2 universities, senior education students and industry partners took part in the successful presentation of the day.   

Five provinces were represented namely: Gauteng, NorthWest, Limpopo, Mpumalanga, and the Free State. The event was kindly sponsored and orchestrated by EOH, and throughout the day Nthabeleng Monyane, Account manager, part of the Embarcadero Sales division played host to all eager and impressed delegates. 

Dillon Gray of EOH shared valuable information relating to a mobile project with new Bluetooth technology which is soon to be released in shopping malls in SA, parts of which were developed in Delphi.

Andre Joubert of SAGE Technologies gave a very interesting and thought provoking presentation on the power and stability of Delphi as a programming language over the years. Andre shared some mind blowing statistics on the code magnitude of the code base of the SAGE ERP system which is used across the globe, which include countries as far as Australia and New ZealandAndre reiterated Delphi’s industry relevance, power and stability and supported the notion of Delphi as a training language. The importance of mobile service provisions and the ease in which Embarcadero RAD Studio presents developers with the option to rapidly develop apps for multiple platforms on one codebase was also highlighted.    

Andre shared some thoughts on some important basic concepts which students should master, as part of a basic curriculum. It was wonderful to see that the current CAPS document content, with specific reference to the DB related and OOP concepts presented are indeed in line with some entry expectations. 

SAGE treated each delegate with a big chocolate which further sweetened the day. 


Another company system was presented i.e. BackOffice of Intensive Software Solutions (software-solutions.co.za). The BackOffice CRM software tool is completely written in Delphi. 

The workshop was also the starting point to discuss a later IT Schools PAT project competition which will be hosted by EOH in October this year and supported by the ITA. 
Subject advisors of Gauteng will be responsible for the marketing and the competition will be open to all learners of all provinces.

It was wonderful to have the Information Technology Association of South Africa also present. Mannini of the ITA, shared the vision and purpose of the ITA to all interested and it was encouraging to see that EOH is also a member. Some companies which form part of the ITA also uses Embarcadero products.  

After the industry presentations Bertie Buitendag and Heimo Jeske of TUT presented some concepts relating to the IT CAPS curriculum.
Bertie Buitendag presented some of the new capabilities of the XE6 product as well as some important new perspectives on enhancements to Delphi and C++ Builder. Some of these thoughts included the rapid growth of mobile technologies, and the important benefits of native code as well as enhancements to the Delphi language, such as Automatic Reference Counting (an alternate approach to ‘garbage collection’).

The theme of the rest of the presentations was inspired by a previous CompStudies posting relating to some thoughts presented in 2009 (pre CAPS) of what was envisaged of learners enrolled for IT as a subject at high school. Interestingly enough the post was also consulted during the writing of the CAPS. The suggested theme is not only interesting but also spreads across multiple IT disciplines including web based i.e. ‘netcentric’ components, DB design, OOP concepts and communication with other tools and software such as Excel. The theme also provisions itself to some nice possible ideas for including mobile applications, and connectivity to hardware. It was a wonderful opportunity to showcase how native Delphi code could be implemented with ease to fulfil the various requirements of the theme.

Firstly the ease of DB connectivity was highlighted and the use of ClientDatasets and newer technologies such as FireDAC was also mentioned.
One of the ideas presented in the CAPS is the use of textfiles as a source of data. As part of the CompStudies Cycle Challenge sample application, data from a textfile downloaded from a list was used as a source to harvest some information. The design and use of a back-end class to provide some functionality relating to ‘Participants’ was also presented. Methods and techniques in the application of SQL to manage DB-related transactions (also part of the CAPS syllabus) as also highlighted and the sample application showed how a disconnected DB (source of data) could be managed in memory before being posted/applied to the DB.  

Delegates were also stunned by the wonderful effects VCL styling could have on an application.

Another prerequisite of the theme was the requirement of the system to be able to communicate with other software packages. Heimo Jeske presented some wonderful techniques and approaches in Delphi which could be used to accomplish this. A wonderful piece of code was presented where an instance of Excel was opened, data written to a worksheet obtained from a SQL query and subsequently rendered onto a graph on Excel. This piece of code amazed delegates, and the simple ease of the Delphi language to interact with other software was reiterated. 

One of the strong points of the Delphi programming language, is the fact that Delphi hides a lot of the intrinsic complexities to enable programmers to create wonderful usable applications, on various levels and platforms. Another wonderful aspect of the language is the provision of tools to enable serious programmers to delve and explore deeper.

Heimo Jeske also presented some interesting program snippets and ideas which could be used by learners to enhance the functionality of their PAT’s (Practical Assessment Tasks)

Aubrey Khoza of TUT prepared a wonderful tutorial on the use of web services as part of a Delphi Application. Attendees were amazed on how easy Delphi allows a user to create code which consumes a web service for use as part of the application. His application retrieved weather forecast data.

In the subsequent DB themed application (Compstudies Cycle Challenge) Bertie Buitendag presented some code which could be used to generate some realistic data to populate a DB. The concepts of a connected and disconnected dataset was also discussed. The use of a back-end class to provide some validation functionality was also presented.
One of the last prerequisites of the topic/theme was the requirement that the learners should be able to develop an application which allow some or other web interface. Here the power and creativity of Delphi’s IntraWeb components were demonstrated. And a web application which allow a user to look-up his/her race time was presented. The delegates were amazed how easy simple Delphi code could be used (All code used was indeed within the scope of the CAPS) to render a web based application. The wonderful functionality of the ClientDataset component was again illuminated.

The last two sessions of the presentation presented some of the mobile and cross-platform development capabilities of FireMonkey. The delegates were stunned to see how easy it is to deploy an application on different platforms, without changing a single line of code.  Bertie Buitendag started his involvement with teacher and learner based Delphi Training in 2003. One of the first programs he has written in that time was a simple click and kill game named WillemWurm. It was wonderful to showcase the transformation of this simple game into a FireMonkey application, which was then deployed to an Android device which ran on both the Windows 32 platform as well as Android. Another highlight was that the APK of the game was shared via DropBox to one of the delegates who installed it to his device and subsequently ran it, without any problems.

The ease in which Delphi allows mobile development, will not only be a great catalyst and encouragement for future learners to do IT, but it also as the potential to inject lots of fun and learning into the subject.  This will again be showcased at an event on the 7th of June, where international speakers of Embarcadero will showcase RAD studio to learners and teachers.  [More information in a subsequent post]

The day was a tremendous success. The preparation process, presentation, and metacognition process allowed the main presenter to reflect on some of the negative comments posted by many on Blogs, News and mailing groups over the last few years, with specific reference to last year. The only conclusion is that many of the negative posts and statements revolve around misinformation and skewed perceptions.

For Bertie Buitendag, Delphi which uses Object Pascal is and will always be a great tool to encourage learners to explore the wonderful world of programming. If you are really against proprietary software, well then there is Lazarus, which also use Object Pascal.   
Bertie could not but wonder, how easy it would have been for some of these concepts be presented or explained in other programming languages. Maybe the harse critics would one day attend a session like this, and realise the value. It reiterated the thought that, just because you need a lot of overhead and knowledge to get something working in your programming environment, does not mean we that love and use Delphi need to as well.

Thank you EOH, ITA, SAGE, TUT and Embarcadero, and last of all my colleagues and wonderful friends: Heimo, Christo, Aubrey and to all other delegates and teachers who came from far to attended the day and made it SUPER!!

 GO RAD Studio. Go Embarcadero. VIVA all IT teachers in SA VIVA!!!