FCL
Free Component Library: containers, streams, INI files, processes, JSON, databases, zip and more.
Index A to Z · Class hierarchy
The Free Component Library is a series of units that implement various classes and non-visual components for use with Free Pascal. They are building blocks for non-visual and visual programs, such as designed in Lazarus.
The TDataset descendents have been implemented in a way that
makes them compatible to the Delphi implementation of these units. There are
other units that have counterparts in Delphi, but most of them are unique to
Free Pascal.
Units
| Unit | What it holds | Entries | Described |
|---|---|---|---|
| AdvancedIPC | File-based inter-process communication for server-client architectures | 57 | 74% |
| AdvancedSingleInstance | Implement SingleInstance using files. | 19 | 79% |
| Ascii85 | ASCII 85 or Base 85 encoding. | 34 | 85% |
| AVL_Tree | AVL tree implementation. | 106 | 75% |
| Base64 | Unit implementing base64 encoding. | 41 | 44% |
| BlowFish | Unit implementing Blowfish encryption/decryption streams. | 25 | 92% |
| BufDataset | Implements a database-aware buffered dataset. | 378 | 65% |
| BufStream | Implements Buffered streams. | 34 | 71% |
| CacheCls | Unit implementing cache class. | 32 | 88% |
| Contnrs | Various general purpose classes: stack, queue, objectlists. | 307 | 75% |
| CsvDocument | Unit presenting a CSV file as a 2-dimensional array. | 32 | 97% |
| CsvReadWrite | Unit to read and write a CSV file. | 50 | 80% |
| CustApp | Custom application class. | 49 | 80% |
| CustWeb | Base functionality for HTTP hosting implementations | 76 | 70% |
| DaemonApp | Daemon (service) application class. | 249 | 75% |
| DB | Database access layer. | 1516 | 55% |
| DbugIntf | Unit to send commands to a debug server process. | 32 | 94% |
| DbugMsg | Auxiliary unit for the dbugintf unit. | 14 | 100% |
| EventLog | Unit implementing system log class. | 53 | 85% |
| EzCgi | Easy CGI unit. | 19 | 95% |
| FileInfo | File and program version information utilities | 44 | 100% |
| fpExprPars | Provides expression parsing with support for variables, functions, and mathematical operations | 432 | 84% |
| fpHTTP | HTTP request handling for web servers | 122 | 71% |
| fpHTTPClient | HTTP client implementation for making HTTP requests | 185 | 55% |
| fpJson | JSON support for Free Pascal. | 396 | 53% |
| fpJsonApply | Apply elements from one JSON object to another | 24 | 92% |
| fpJsonToPas | JSON to Pascal code generator | 79 | 56% |
| fpJsonValue | Routines to convert TValue records to JSON and vice versa | 3 | 100% |
| FpMimeTypes | Unit to handle mapping of filename extensions to MIME type. | 23 | 87% |
| fpMkUnit | Free Pascal package building and installation engine | 858 | 91% |
| fpObserver | Observer pattern implementation for Free Pascal | 132 | 63% |
| fpTemplate | Simple template parsing mechanism. | 67 | 96% |
| fpTimer | Timer class. | 33 | 82% |
| FpWeb | Advanced web application development with actions and templates | 79 | 77% |
| GetText | Unit implementing resource string translation using gettext files. | 36 | 75% |
| HTTPDefs | Basic HTTP protocol declarations and classes | 451 | 81% |
| HTTPProtocol | HTTP protocol utilities and constants. | 127 | 100% |
| HTTPRoute | HTTP request routing implementation | 116 | 87% |
| IBConnection | Firebird/Interbase database connection unit. | 75 | 52% |
| Idea | The IDEA unit provides IDEA encryption support. | 31 | 90% |
| IniCol | Collection which can write itself to inifile. | 39 | 77% |
| IniFiles | Ini files support. | 115 | 90% |
| IoStream | Implement streams for handling standard input, output and stderr. | 14 | 86% |
| Json2Yaml | JSON to YAML converter unit | 15 | 33% |
| JsonComparer | JSON data structure comparison utility | 8 | 62% |
| JsonIni | JSON-based ini file implementation | 36 | 83% |
| JsonParser | JSON data parser implementation | 17 | 24% |
| JsonReader | Event-based JSON reading with SAX-like parsing | 97 | 49% |
| JsonScanner | JSON lexical scanner | 47 | 96% |
| JsonWriter | JSON writer classes for creating JSON files without building in-memory data structures | 46 | 80% |
| LibTar | tar archive manipulation classes. | 100 | 81% |
| MaskUtils | Text mask utilities. | 41 | 95% |
| MemDs | Implements an in-memory dataset. | 83 | 99% |
| MSSQLConn | Microsoft SQL Server and Sybase ASE database connectors. | 61 | 49% |
| NullStream | Unit to implement a null stream. | 11 | 64% |
| PasCodeGen | Utility unit to generate pascal code | 55 | 100% |
| Pipes | Unit implementing pipe streams. | 21 | 86% |
| PooledMM | Pooled memory manager implementation. | 33 | 70% |
| Process | Unit implementing the TProcess component. | 196 | 60% |
| RttiUtils | RTTI utility functions. | 41 | 88% |
| SimpleIPC | Simple one-way IPC protocol. | 132 | 73% |
| SingleInstance | Unit to run only a single instance in your application. | 27 | 81% |
| SQLDB | A set of classes for connecting to SQL databases and running SQL commands on them. | 545 | 58% |
| SQLTypes | Types used in various SQL related units. | 45 | 93% |
| StreamColl | Collection which can stream itself. | 48 | 40% |
| StreamEx | Stream extensions. | 114 | 64% |
| StreamIO | Streams for standard text files. | 3 | 100% |
| SyncObjs | Synchronization objects. | 109 | 32% |
| URIParser | URI Parsing routines. | 23 | 83% |
| WFormat | Base class for formatted document writers | 49 | 98% |
| WHtml | HTML formatting writer implementation | 48 | 100% |
| WMarkDown | Markdown formatting writer implementation | 33 | 100% |
| WTex | LaTeX formatting writer implementation | 37 | 95% |
| WText | Plain text formatting writer implementation | 38 | 97% |
| Zipper | Unit implementing zip/unzip compression/decompression functionality. | 278 | 87% |
| ZStream | Support for compression streams. | 59 | 61% |
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
