Big parts of software are made up of transformations of existing information. For example, reports are just fancy ways of showing information that is stored in some other form in the database. Many of these transformations can be thought of as being composed of more primitive, and thus reusable, transformations.
The goal of the Delphi Information Processing (DIP) framework is to deliver these sorts of reusable transformations as Delphi components so that complex information processing networks can be built up from simple components, connected at design time. This brings RAD to the processing layer of your application, just as the VCL brings RAD to the user interface and database layers.
A longer introduction, as well as more technical documentation, can be found in the documentation section.
top
In this example, the TDipXmlDataSetExporter
component named Table2Xml
exports the data in its dataset (the component named Table
) to an XML file.
This file is then moved to the Templates
application directory, where it is
converted to HTML by the TDipXsltTransformer
component named
Xml2Html
, and deleted by the TDipFileDeleter
component named
DeleteXml
. The HTML file is then moved to the Reports
application
directory, and presented to the user by the TDipFileViewer
component.
Al this can be achieved by placing a few component on a data module, linking them using the Object Inspector, and setting some properties, as shown below:
Table2Xml
needs to be linked to the data set to be exported, Table
.
The TDipFileMover
components need to have their DestinationFolder
properties set, and the TDipXsltTransformer
its Template
property.
All the DIP components have their AutoRun
properties set to arOnAnyInput
,
so that they start processing any input whenever it becomes available. The exception is
Table2Xml
, that does not have any input, and thus cannot be run automagically.
Instead, it needs to have its Run
method called to start off the information
processing network. This is taken care of by a TDipAction
component that is linked
to Table2Xml
:
top