Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++CodeDatabaseDelphiRAD Studio

Easily Use Nonstandard Data Using X-DBData for Delphi

X-DBData Components

X-DBData is a VCL and FMX nonvisual component package that helps users bridge between Delphi’s data-aware and non-data-aware components.

There are two paradigms within the Delphi IDE.

FeatureNon-Data-Aware Edit ComponentsData-Aware Edit Components
Data ManipulationManual – using .Text, .Caption, .Value propertiesAutomatic field-linking via Field and DataSource properties
Data RefreshManual – data has to be updated via codeAutomatic update via Dataset Paradigm
Data TypeManual – certain data-types conversion
(e.g., using TEdit to load and save Date type)
Automatic – Data-type is preserved if the correct Data-Aware TEdit is used.
(e.g., using Data-Aware version of TDatePicker)
AdvantagesAllows complete control of the UI via coding.Development time significantly reduced.
Viable low-code solution.
Exponentially reduce the amount of code required for database-transaction processing
DisadvantagesInability to use TDBGrid.
Tedious and time-consuming to code UI to link UI
to database
Require data source (e.g., database) to have TDataSet components available.
Non-Data-Aware vs Data-Aware Edit Componnets

Non-Database Business Solutions

X-DBData solves niche problems where your Delphi application is required to process large amounts of data.

Examples are:

  • Processing instrumentation data (vehicle license plate detection logging)
  • Input from nonconventional data sources (bank statements, OFX) and using non-Delphi databases (QuickBooks, Xero)
  • Tamper-proof data-storage for which ease of data recovery is required (point-of-sale systems, portable health devices)

Using data-aware database components can dramatically reduce the amount of code for database-transaction processing.

X-DBData allows Delphi objects, such as TList, TObjectList, and generics to be used as a TDataSet replacement, without requiring a primary key. 

Delphi generics can encapsulate certain kinds of data for which it is difficult to force a primary key, such as hierarchical data (files and folder), time-series data (stocks), and web-based state machine data (Vue, react states).


Getting Started

In the below-mentioned video, you can see it takes less than a minute to install X-DBData.

https://www.youtube.com/watch?v=_BcyQf2fnPE

Step 1. Select Tools > GetIt Package Manager, as seen below

Get-IT Menu

Step 2. When the GetIt Package Manager Window appears (shown below).
1. type in “x-dbdata”.
2. Click on the Install Button.

getit2-1692105

Step 3. After installation, go to the Component Palette. Scroll to the bottom, where you should see OnGuard, with all the registered components.

1. Palette with X-DBData components.

getit3-4287607


QIF Editor Recipe

In this below example, I use X-DBData to quickly read Quicken Interchange Format (QIF), exported from a bank website, or from QuickBooks On-Line.

A sample custom data-aware integration would take ~5 minutes to integrate.

The QIF data structure takes a list of QIF transaction data and, using X-DBData, changes it from a list of QIF data.

The QIF editor allows a user to edit transactions, create or delete transactions, load from CSV (Excel), and export to CSV (Excel).

2021-02-16_9-43-07-8488779
QIF Editor

The QIF data is loaded into TTransactionList and into TXDBData:

The resulting QIF file saved from QIF Editor is then uploaded to QuickBooks Online or Xero.

Note: I used the full version of X-DBData while developing QIF editor. I have shipped several products (with full-source code) using X-DBData.

The source-code of QIF editor is found at https://github.com/PolywickStudio/X-DBDataRecipe


What's Next
Enter the Enterprise Software Development Article Challenge
Enterprise Software Development Article Challenge

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

About author

Technical Director at Polywick Studio. I have over 10+ years of experience using Delphi. I am a member of the Add-in-Express ADX Team, I developed ZPAY Payroll System, made using Delphi.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Worth reading...
Impressive SVG Windows Shell Extension Tools Are Made With Delphi

IN THE ARTICLES