Prepare
- Upload Clarion .dat files
Clarion is a 4GL programming language and database system known for rapid application development. It has been used extensively for business applications, particularly in vertical market software.
What You Can Upload
.TPS- TopSpeed database files.DAT- ISAM data files.DCT- Data dictionary files.K*- Key/index files- ZIP archive containing complete file sets
What You Get Out
DataMeans extracts your data into multiple modern formats:
| Output | Description |
|---|---|
csv/{TableName}.csv | One CSV file per table with all row data |
xlsx/{TableName}.xlsx | Excel workbook per table |
xls/{TableName}.xls | Legacy Excel format per table |
json/{TableName}.json | JSON array of records per table |
json/{TableName}.jsonl | Newline-delimited JSON (streaming-friendly) |
postgres.sql | PostgreSQL CREATE TABLE + INSERT statements |
schema/schema-graph.json | Relationship graph for visualization |
schema/er-model.json | ER model for diagram tools |
report.json | Structured extraction report |
report.md | Human-readable extraction summary |
How to Export / Obtain Files
- Locate your Clarion application's data directory
- Copy all
.TPSdata files - Include associated
.DCTdictionary files if available - Include
.K*key/index files for relationship mapping - Create a ZIP archive with all files
- Upload the ZIP to DataMeans
Supported Features
- TopSpeed
.TPSfile extraction - Dictionary file (
.DCT) parsing for field metadata - Automatic field type conversion
- Key and index preservation
- Memo fields and BLOBs
- Clarion data types to SQL equivalents
Known Limitations
- Some legacy character encodings may need adjustment
- Very large tables (1M+ rows) may take extended processing time
- Encrypted TopSpeed files require decryption first
Last updated: January 2026
Overview
Clarion is a fourth-generation programming language and database development environment designed for rapid application development. It includes proprietary ISAM file formats and a file-driver layer that also connects applications to external file formats and SQL databases. Clarion emphasizes visual development with template-driven code generation and centralized data dictionary management.
History and Background
- 1986: Clarion 1.0 released for DOS by Bruce Barrington's Barrington Systems, using the proprietary
.DATISAM format. - 1988: Clarion Professional Developer (CPD) 2.0 introduces the Designer, a data dictionary, and model-file code generation.
- 1992: Clarion Software merges with compiler maker Jensen & Partners International (JPI); the combined company becomes TopSpeed Corporation.
- 1993: Clarion Database Developer (CDD) 3.0 replaces model files with extensible templates and compiles to native machine code.
- 1995: Clarion for Windows 1.0 ships in January; the single-file TopSpeed (
.TPS) format debuts the same year with Clarion for DOS 3.1. - 1997: Clarion 4 introduces the Application Builder Classes (ABC) template set and class library.
- 1998: Clarion 5 released, splitting the product into Professional and Enterprise editions.
- 2000: The Clarion product line moves from TopSpeed Corporation to SoftVelocity; Clarion 5.5 adds interfaces to the language's OOP support.
- 2003: Clarion 6.0 adds preemptive multithreading.
- 2009: Clarion 7 ships with a new SharpDevelop-based IDE and an MSBuild-based build system.
- 2011: Clarion 8 released in September, continuing the Clarion 7 series.
- 2014: Clarion 9.1 reaches gold release in August.
- 2015: Clarion 10 released, with the IDE reworked to run on .NET Framework 4.
- 2018: Clarion 11 released with faster builds and touch-input support.
- 2025: Clarion 12 released.
File Format Specifications
Database Files:
.TPS: TopSpeed database files (primary format; data, keys, and memos in one file).DAT: Clarion DOS data files (original ISAM format).Knn: Index files accompanying.DATdatabases (.K01,.K02, etc.).MEM: Memo field storage accompanying.DATdatabases
File Structure:
- Single-file design: data records, memo data, key indexes, and table definitions stored together
- File header occupying the first 0x200 bytes, with the
tOpSsignature at offset 0x0E - Page-based storage, with pages aligned on 256-byte boundaries and grouped into blocks
- Optional run-length encoding (RLE) compression of pages, applied when a page's stored length differs from its uncompressed length
- Records tagged by type code: 0xF3 for data records, 0xFA for table definitions, 0xFC for memos
- Table-definition records describing each field's offset, length, and data type
- Multi-byte values stored little-endian, except record numbers, which are big-endian
- Optional encryption of file contents
Key Components:
- Data dictionary: Centralized schema management
- Templates: Code generation for common patterns
- Applications: Generated programs compiled to native executables
- Reports: Formatted output definitions
- Forms: User interface designs
Data Types and Structures
| Type | Size | Description |
|---|---|---|
| STRING | Declared length | Fixed-length text strings, space-padded |
| CSTRING | Declared length | Null-terminated text strings |
| PSTRING | Declared length | Length-prefixed text strings |
| BYTE | 1 byte | Unsigned 8-bit integer |
| SHORT | 2 bytes | Signed 16-bit integer |
| LONG | 4 bytes | Signed 32-bit integer |
| USHORT | 2 bytes | Unsigned 16-bit integer |
| ULONG | 4 bytes | Unsigned 32-bit integer |
| SREAL | 4 bytes | Single precision floating point |
| REAL | 8 bytes | Double precision floating point |
| BFLOAT4 | 4 bytes | Signed floating point, Microsoft BASIC single-precision format |
| BFLOAT8 | 8 bytes | Signed floating point, Microsoft BASIC double-precision format |
| DECIMAL | Variable | Signed packed decimal numbers |
| PDECIMAL | Variable | Btrieve-compatible signed packed decimal, maximum 31 digits |
| DATE | 4 bytes | Date values |
| TIME | 4 bytes | Time values |
| BLOB | Variable | Binary large objects |
| MEMO | Variable | Large text fields |
Database Objects:
- Tables: Primary data containers with fields and records
- Keys: Indexed fields for fast record access
- Relationships: Parent-child links with referential integrity rules defined in the dictionary
- Queues: In-memory data structures
- Views: Virtual composites of related files supporting join operations
Version Differences
| Version | Year | Key Features | File Format |
|---|---|---|---|
| Clarion 1.0 | 1986 | Screen designer, interpreter, debugger | .DAT proprietary ISAM |
| CPD 2.0 | 1988 | Designer, data dictionary, model files | .DAT with .Knn index and .MEM memo files |
| CDD 3.0 | 1993 | Templates, machine-code compiler, file drivers | New field types: CSTRING, PSTRING, DATE, TIME |
| Clarion for DOS 3.1 | 1995 | TopSpeed file driver | .TPS single-file format introduced |
| Clarion for Windows 1.0 | 1995 | Windows GUI, multithreaded MDI, ODBC | No native format change |
| Clarion 4 | 1997 | ABC templates and class library | No format change |
| Clarion 5 | 1998 | Professional and Enterprise editions | No format change |
| Clarion 5.5 | 2000 | Interfaces added to OOP support | No format change |
| Clarion 6.0 | 2003 | Preemptive multithreading | No format change |
| Clarion 7 | 2009 | SharpDevelop-based IDE, MSBuild | No format change |
| Clarion 8 | 2011 | Continuation of the Clarion 7 series | No format change |
| Clarion 10 | 2015 | IDE reworked to run on .NET Framework 4 | No format change |
| Clarion 11 | 2018 | Faster builds, touch-input support | No format change |
Compatibility Notes:
- Clarion 7 and later are backward compatible with releases back to Clarion for Windows 1.5
- The TopSpeed driver stores data, memos, and all key indexes in a single disk file
- Applications predating the TopSpeed driver use the
.DAT/.Knn/.MEMfile set - File drivers also access Btrieve, dBase, FoxPro, and Paradox files, plus SQL databases via ODBC and native drivers
- 16-bit executable targets were dropped with Clarion 6.0; Clarion 6.3 was the final 16-bit IDE
- The four-byte
DATEandTIMEfield types match the corresponding Btrieve Record Manager field formats - Clarion standard dates count days elapsed since December 28, 1800 (valid range January 1, 1801 to December 31, 9999); standard times count hundredths of a second since midnight, plus one
Technical References
- SoftVelocity Clarion
- Wikipedia: Clarion (programming language)
- Liberating TPS Files: TopSpeed Format Analysis
- A History of the Clarion Language (Sterling Data)
- ClarionHub Community
To learn how to use this format with DataMeans, see the User Guide.