Adam’s October 2018 Meeting Summary
“Display Board Code Huddle”
The “client” wants to position display screens at multiple points around a site in order to display information. These screens will be HD-TV-style video monitors, with plug in “micro-PC” computer devices attached.
The day will be split into two session.
- Members have volunteered to engineer a solution to display on the day using the following technologies:
- Paul Woodhams – Intraweb
- Adam Brett – DevEx + EDB-database
- Neil Parrish – App Tethering
- Martin Hamilton – Fast Reports
- Members will have the opportunity to split into groups and engineer their own solutions to present to the group.
Members were reminded to book for the free TMS Web-core training day on 23rd October. For more information please see – TMS Day.
Pete lead the day and talked about the following in the news & Questions section . Idera, the owner of Delphi has purchased Ranorex a GUI application testing tool (with a 2,000+ Euro price-tag), and Froala.
The Froala product seems to point towards future closer integration between Delphi and other Idera web-tools … but we are really just hoping this is true, we have no facts to go on!
Mark discussed Crackstation.net, a site that includes databases containing billions of hacked passwords. The risks of poorly encrypted passwords were discussed, including the need for appropriate forms of “salting” and how this can be best managed.
The day took a new-untried format: Rather than having 4 presenters talking about different aspects of programming, we had four presenters talking about how they had built a small-scale project in response to a simple specification / requirement, with the added idea that once presentations had been made we could gather into “code-huddles” to look in more detail at each one.
The specification was a “Display board Challenge”. Build a program to retrieve data from CSV Files hosted on a web-server and display it using as simple as possible a technology which could easily be run on small, modular PCs.
Martin used Delphi code to download and organise the data, then parsed it into a format that could be used by the Delphi reporting tool “FastReport” to produce a well-formatted output. FastReport includes procedures to convert its reports into graphic formats such as JPG, BMP, PDF etc. The application could create these, and the “receiving PC” only had to display them.
Neil had chosen to try to use Delphi’s “AppTethering” components to provide the solution. A central PC did the hard work of polling the web-server for CSV Files, downloading them and included an interface to allow the user to summarize and format the received data. Once complete, “data segments” could be copied into a list, and these would be passed out by “AppTetheringProfiles” and “AppTetheringManagers”.
The Delphi architecture seemed reasonably straightforward and flexible. Once the central PC had generated a list of “data segments”, after connection any number of devices would receive it via AppTethering, and display it. Neil commented that there were issues with Network connections on some of the machines he had used, meaning that the polling mechanism was not fool-proof, and required good networking knowledge to be sure it would work on any machine. AppTethering uses UPD Multicasting to pass data around, and some networks interfere with this protocol.
Adam had chosen the simplest route possible to show the data. He had written about 15 lines of SQL to copy and import the CSV file into a small database, and a Windows executable to query the database, and display the data using a Developers Express TdxTileControl, a visually rich component for displaying text and images with animation and attractive formatting.
Paul had used Intraweb, and done a lot of supporting work. His application included screens to allow the users to enter and edit data, link locations of events to graphic images / maps, and mark the precise location of the event on the map of their choice. Paul’s Intraweb application made only minimal use of Intraweb’s component pallet, instead using bootstrapped HTML / CSS to format data.
He had found http://getbootstrap.com/ an extremely valuable open-source site for helping with complex formatting of web-pages, allowing production of scalable, modern-looking pages.
The group then split into “huddles” for the last 30 minutes members presented new findings, including Andrew showing his own C# version of the “Display board Challenge”
Further information and links for all the talks are available in the Members Group