Skip to main content
Table of Contents

Getting started with TMS FNC Dataset

Prerequisites

  • TMS FNC Core installed and the RTL runtime package added to the project.

Load JSON into a data-aware control

Load JSON into a data-aware controlPascalC++
var
  DS: TTMSFNCDataSet;
  Link: TTMSFNCDataLinkJSON;
  Stream: TStringStream;
begin
  DS := TTMSFNCDataSet.Create(Self);
  Link := TTMSFNCDataLinkJSON.Create(Self);
  Stream := TStringStream.Create(
    '[ {"Name":"Alice","Age":30}, {"Name":"Bob","Age":25} ]', TEncoding.UTF8);
  try
    DS.DataLink := Link;
    Link.LoadFromStream(Stream, TEncoding.UTF8);
    DS.Open;

    // DS is now a live TDataSet - connect via TDataSource as normal
    DataSource1.DataSet := DS;
  finally
    Stream.Free;
  end;
end;
TTMSFNCDataSet *DS = new TTMSFNCDataSet(this);
TTMSFNCDataLinkJSON *Link = new TTMSFNCDataLinkJSON(this);
TStringStream *Stream = new TStringStream(
  "[ {\"Name\":\"Alice\",\"Age\":30}, {\"Name\":\"Bob\",\"Age\":25} ]", TEncoding::UTF8, false);
try
{
  DS->DataLink = Link;
  Link->LoadFromStream(Stream, TEncoding::UTF8);
  DS->Open();

  // DS is now a live TDataSet - connect via TDataSource as normal
  DataSource1->DataSet = DS;
}
__finally
{
  delete Stream;
}

Load CSV

Load CSVPascalC++
DataSet1.DataLink := DataLinkCSV1;
DataLinkCSV1.LoadFromFile('data.csv', TEncoding.UTF8);
DataSet1.Open;
DataSet1->DataLink = DataLinkCSV1;
DataLinkCSV1->LoadFromFile("data.csv", TEncoding::UTF8);
DataSet1->Open();

Drop on a form

  1. Drop TTMSFNCDataSet and TTMSFNCDataLinkJSON from the TMS FNC DB palette page.
  2. Set TTMSFNCDataSet1.DataLink to the data link component (TTMSFNCDataLinkJSON1).
  3. Add a TDataSource pointing to TTMSFNCDataSet1 and connect data-aware controls.

Next steps

  • Guides — field mapping, sorting, filtering, and the filter builder.
  • API reference — full class reference.