TStrings and Tables: Loading Data from a table into any list

TStrings and Tables: Loading Data from a table into any list

How can I create a generic procedure that will load data from a table intoTListBox?

Actually, this tip pertains to any control that has a property such as an Items property of type TStrings or is a descendant of TStrings. For example, the following controls have properties of type TStrings:

TComboBox, TMemo, TQuery (SQL Property), TDBRadioGroup, TDirectoryListBox, TDriveComboBox, TFileListBox, TFilterComboBox, TListBox, TRadioGroup

I should say that TStrings is actually an abstract class, and though you will see the help file list properties such as Items as TStrings, they’re actually descendants of TStrings. More commonly, you will see something like the TStringList being used almost interchangeably (at least in concept) with TStrings. Essentially, a TStrings object is a list of strings, with array-like properties. The advantage of a TStrings object over an array is that you don’t have to worry about allocating and deallocating memory to add and subtract items (which is why they’re ideal when working with a loose collection of strings).

To load data from a column in a table into something like a TListBox is easy. All it takes is stepping through the table, picking out the values you want and adding them to the TStrings object – all in one line of code! See below:

{================================================================== Loads a list using values from specific field from an open table. ==================================================================}procedure DBLoadList(srcTbl    : TTable;    {Source Table}                     srcFld    : String;    {Source Fld}                     const lst : TStrings); {Target List}begin  with srcTbl do    if (RecordCount > 0) then begin{Don’t bother if there are no records}      lst.Clear;      while NOT EOF do begin        lst.Add(FieldByName(srcFld).AsString);        Next;      end;    end;end;

The code above assumes you have an open TTable whose values you can access. The real workhorse of the procedure is the while loop which steps through the table and grabs the value from the specified field and assigns it to a new entry into the TStrings object.

Operations such as the one above can be done any of those objects because the properties descend from a common ancestor. Hopefully, you can extrapolate what you need from the example given above.

Share the Post:
data observability

Data Observability Explained

Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the

Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved