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
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.
What can I convert Clarion files to?
DataMeans converts Clarion files to clean CSV, Excel, JSON & SQL. Each table is exported as its own file, alongside a structured report of exactly what was extracted.
Do I need Clarion installed to open my files?
No. DataMeans reads Clarion files directly, so you don't need Clarion, a license, or any other legacy software to recover your data.
Can I preview my Clarion data before paying?
Yes. DataMeans shows your extracted tables and rows in the browser first, so you only pay when you're ready to download the full CSV, Excel, JSON & SQL export.
Is my data secure?
Yes. Your files are encrypted in transit and at rest, and are automatically deleted once your conversion is complete. Your data is never sold, shared, or used for anything else.