TParadoxDataSet is a
TDataSet that can read (but not write!) Paradox files up to Version 7.
Its main characteristics are :
- Data-aware implementation, i.e. the component is a descendant of TDataset, and you can use the standard data-aware Lazarus components to display the table contents.
- All table levels up to version 7
- No external DLL needed (unlike the TParadox component that comes with Lazarus). Works in 32- and 64-bit operating systems.
- Now supports BLOB fields, character encoding, filtering and bookmarks.
The motivation for having the component read-only is to provide a way to read old Paradox files for converting to newer database formats.
The latest stable release (v0.2) can be found at
Bug reporting / Feature Request
Please report bugs to the Lazarus Bugtracker in Category Packages
You can get the latest source via SVN:
svn checkout https://svn.code.sf.net/p/lazarus-ccr/svn/components/tparadoxdataset
- 31 January 2007 - Initial release
- May 2019 - Update to current FPC/Lazarus versions, 64-bit, BLOB support, filtering, bookmarks, character encoding
- If needed, unzip the files from the zip file to any directory.
- In Lazarus, open the package .lpk file with "Package" > "Open package file (.lpk)". In v0.2 there are two packages; both have the same content, but lazparadox.lpk has a naming conflict with the Paradox package contained in the Lazarus distribution; therefore it is recommended to install lazparadoxpkg.lpk instead.
- If you don't want to install the component into the IDE, click on "Compile".
- If you want to install the component into the IDE, click on "Use" > "Install". Confirm the prompt to rebuild the IDE. When Lazarus restarts you'll find the component
TParadoxDataseton palette "Data Access".
- Drop the
TParadoxDatasetcomponent on the form.
- Specify the name of the table file (extension ".db") in property
truein order to open the table. When, for example, a DBGrid is linked to the dataset the table is immediately displayed.
- The encoding of text fields used in the file is displayed in the read-only property
InputEncoding. It is automatically converted to the encoding given in property
TargetEncodingwhich defaults to "UTF8". In the case that text fields must be encoded differently specify the codepage name here, e.g. "CP1252" for Western Europe code page (use the (case-insensitive) names given in the LazUtils unit lconvencoding).
- Filtering: Set
false. Then define the filter conditon in property
Filteror use the
OnFilterRecordevent. Finally start the filtering action by setting
- Bookmarks: Store the currently active record as a bookmark by setting the variable
bookmark(which is of type
ParadoxDataset1.GetBookmark. For returning to this record, call
ParadoxDataset1.GotoBookmark(boomark). Since the component uses the
RecNoas bookmarks it is not required to call