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 New for RAD Studio 11

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.
Related posts
DelphiRAD Studio

The Inexorable Rise Of The Supercharged Developer

DelphiRAD Studio

Everything You Need To Modernize With RAD Server

DelphiShowcase

Do You Know The German Word For "Sauerkraut"?

DelphiDeveloper InterviewsInterviewNews

What Is It Like To Be A Developer Brian Barr?

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