Files
awesome-awesomeness/html/delphi.html
2024-04-20 19:22:54 +02:00

1833 lines
100 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1
id="this-is-an-archived-snapshot-of-awesome-pascal-just-before-it-turned-from-delphi-to-pascal.">This
is an archived snapshot of <a
href="https://github.com/Fr0sT-Brutal/awesome-pascal">awesome-pascal</a>
just before it turned from “Delphi” to “Pascal”.</h1>
<h1
id="it-was-left-only-to-keep-links-alive.-all-development-will-happen-in-awesome-pascal-list.">It
was left only to keep links alive. All development will happen in <a
href="https://github.com/Fr0sT-Brutal/awesome-pascal">awesome-pascal</a>
list.</h1>
<h1 id="awesome-delphi-awesome">Awesome Delphi <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a></h1>
<p>A curated list of awesome Delphi frameworks, libraries, resources,
and shiny things. Inspired by awesome-… stuff.</p>
<p><strong>Note that only open-source projects are considered. Dead
projects (not updated for 3 years or more) are mainly ignored except for
those which do not have alive analogs.</strong> Feel free to suggest
other missing nice projects either by comments or pull requests.</p>
<p>This awesome collection is also available on <a
href="https://delphi.zeef.com/anton.frost">Delphi.ZEEF.com</a></p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#awesome-delphi">Awesome Delphi</a>
<ul>
<li><a href="#general-libraries">General Libraries</a></li>
<li><a href="#multimedia">Multimedia</a>
<ul>
<li><a href="#audio">Audio</a></li>
<li><a href="#video">Video</a></li>
<li><a href="#graphic">Graphic</a></li>
</ul></li>
<li><a href="#game-dev">Game dev</a></li>
<li><a href="#communications">Communications</a>
<ul>
<li><a href="#network">Network</a></li>
<li><a href="#serial-port">Serial port</a></li>
</ul></li>
<li><a href="#gui">GUI</a>
<ul>
<li><a href="#control-packs">Control packs</a></li>
<li><a href="#single-controls">Single controls</a></li>
<li><a href="#editors">Editors</a></li>
<li><a href="#viewers">Viewers</a></li>
<li><a href="#other-gui">Other GUI</a></li>
</ul></li>
<li><a href="#database">Database</a></li>
<li><a href="#scripting">Scripting</a></li>
<li><a href="#non-visual-classesutils">Non-visual Classes/Utils</a>
<ul>
<li><a href="#compression">Compression</a></li>
<li><a href="#encryption">Encryption</a></li>
<li><a href="#xmljsonyaml">XML/JSON/YAML</a></li>
<li><a href="#language">Language</a></li>
<li><a href="#memory-managers">Memory managers</a></li>
<li><a href="#system">System</a></li>
<li><a href="#template">Template</a></li>
<li><a href="#logging">Logging</a></li>
<li><a href="#math">Math</a></li>
<li><a href="#other-non-visual">Other non-visual</a></li>
</ul></li>
<li><a href="#os">OS</a></li>
<li><a href="#report-generating">Report generating</a></li>
<li><a href="#unit-testing">Unit Testing</a></li>
<li><a href="#debugging--error-handling">Debugging / error
handling</a></li>
<li><a href="#utilities">Utilities</a>
<ul>
<li><a href="#ide-pluginswizards">IDE plugins/wizards</a></li>
<li><a href="#documentation">Documentation</a></li>
<li><a href="#code-checkreview-debug">Code check/review, debug</a></li>
<li><a href="#setup">Setup</a></li>
<li><a href="#other">Other</a></li>
</ul></li>
</ul></li>
</ul>
<hr />
<h2 id="general-libraries">General Libraries</h2>
<p><em>Big general-purpose libraries</em></p>
<ul>
<li><p><a href="https://github.com/project-jedi/jcl">JCL</a>. Set of
thoroughly tested and fully documented utility functions and non-visual
classes which can be instantly reused in your Delphi and C++ Builder
projects. The library is grouped into several categories such as
Strings, Files and I/O, Security, Math and many, many more.</p></li>
<li><p><a href="https://github.com/project-jedi/jvcl">JVCL</a>. Library
of over 600 Delphi components developed by “Project JEDI” members. //
<em>GUI, algorithms, classes, API headers etc.</em></p></li>
<li><p><a href="http://sourceforge.net/projects/alcinoe">Alcinoe</a>.
Components suite for Delphi. // <em>Network: FTP/Http/NNTP/POP3/SMTP,
ISAPI, WinInet Http/FTP clients; DB:
Firebird/MySQL/SQLite3/Memcached/MongoDb/SphinxQL; XML/JSON Parser;
ZLIB; Cryptography: AES, Blowfish, MD5, SHA, secure keyed MD5/SHA;
Other: Self-Balancing Binary Trees, expression evaluator</em></p></li>
<li><p><a
href="http://sourceforge.net/projects/fundementals">Fundamentals Code
Library</a> (abandoned, more recent fork is <a
href="https://github.com/fundamentalslib/fundamentals4">here</a> -
though it slightly differs in units set, f.ex. no XML. Recent major
version 5 <a
href="https://github.com/fundamentalslib/fundamentals5">here</a>).
Collection of Delphi / FreePascal code units. Includes libraries for
Unicode, Strings, Data Structures, Sockets and Mathematics. //
<em>Utils: ZLIB compression; JSON; XML; ProtocolBuffers; Unicode
routines; data structures; Hashes: XOR, CRC, Adler, MD5, SHA, secure
keyed MD5/SHA, etc; Network: blocking TCP client/server, HTTP(S) via
SSL3/TLS1.0/TLS1.1/TLS1.2 (fully native); SQL parser; BitCoin MtGox
client; Blaise script engine; Cipher: AES, DES, FUNE, RC2, RC4, RSA,
Diffie-Hellman; Maths: matrix, complex, statistics, huge
numbers</em></p></li>
<li><p><a href="https://bitbucket.org/sglienke/spring4d">Spring4D</a>.
Open-source code library for Embarcadero Delphi 2010 and higher. It
consists of a number of different modules that contain a base class
library (common types, interface based collection types, reflection
extensions) and a dependency injection framework. Includes Encryption
Library. // <em>Collections and other containers using Generics and
based on IEnumerable, probably more accurate and featured than RTL
analogs; crypto: CRC, DES, MD5, SHA; file utils etc</em></p></li>
<li><p><a
href="https://github.com/chaosben/theunknownones">TheUnknownOnes</a>.
Huge heap of classes, components, utilities for almost every purpose.
Nearly undocumented and seems not very up-to-date though.</p></li>
<li><p><a href="https://github.com/cnpack/cnvcl">CNVCL</a>. CnPack
Component Package. Large collection of visual components, classes and
utilities. // <em>Lots of useful stuff; documentation and comments
mainly in Chinese</em></p></li>
<li><p><a href="https://github.com/synopse/mORMot">mORMot</a>.
Client-Server ORM/ODM SOA MVC framework for Delphi 6 and higher, or FPC
2.7. Direct SQL/NoSQL database access, ORM/ODM over objects, RESTful ORM
and SOA services via interfaces over high performance HTTP server,
MVC/MVVM web sites, testing including mocks and stubs, logging,
cryptography, compression, huge documentation.</p></li>
<li><p><a href="https://github.com/andrea-magni/MARS">MARS -
Curiosity</a>. Delphi REST Library. Pure REST approach, standard
concepts in a familiar Delphi flavor (including a component based client
library). Known compatibility: Delphi versions from XE to 10 Seattle.
Some functionalities requires FireDAC.</p></li>
<li><p><a href="https://github.com/LaKraven/ADAPT">ADAPT</a>. Advanced
Developer Async Programming Toolkit, foundation library intended to be
used at the heart of your projects for the purpose of providing
extremely powerful, multi-threaded (and thread-safe) capabilities. Event
Engine - a very powerful system for producing Multi-Threaded,
Asynchronous and Event-Driven programs. Generics Collections - highly
efficient Collection Types (Lists, Trees, Maps etc.). Math Library - a
library for Unit Conversion, special calculation and other useful
mathematics routines. Package Engine - extension of the Streamables
Engine supporting the packaging of files together (a VFS of sorts).
Shared Streams Library - 100% Thread-Safe Stream Classes (Interfaced
too) allowing read/write from multiple Threads. Stream Handling Library
- makes working with Streams much easier! Handles Deleting, Inserting,
Reading and Writing data.</p></li>
<li><p><a href="https://github.com/pierrejean-coudert/ReduxDelphi">Redux
Delphi</a>. Predictable state container for Delphi apps utilizing a
unidirectional data flow. Inspired by ReduxJS. Comes with Immutable
Generic List.</p></li>
<li><p><a
href="https://github.com/grijjy/GrijjyFoundation">GrijjyFoundation</a>.
Foundation classes and utilities that are used throughout the other
Grijjy Repositories. // <em>BSON/JSON, IOCP/EPOLL sockets, socket pools,
HTTP, HTTP/2, OpenSSL, ProtocolBuffers.</em></p></li>
<li><p><a href="http://www.micrel.cz/RxLib/dfiles.htm">unRxLib</a>.
Effort to keep RxLibrary (library of 60+ components) actual.</p></li>
<li><p>[QuickLib] (https://github.com/exilon/QuickLib).
Delphi/freepascal (Windows/Linux) library for Quick development and
crossplatform support (Json Serialize, AutoMapper, Chronometer, Threads,
Lists, Config, Console services and more).</p></li>
</ul>
<h2 id="multimedia">Multimedia</h2>
<h2 id="audio">Audio</h2>
<ul>
<li><p><a href="http://mac.sourceforge.net/atl">Audio Tools Library</a>.
For manipulating many audio formats file information.
//<strong>Abandoned since 2005.</strong></p></li>
<li><p><a href="http://sourceforge.net/projects/delphiasiovst">Delphi
ASIO &amp; VST Project</a>. Framework for writing applications using the
ASIO interface and VST plugins. It comes with countless DSP algorithms
all demonstrated in dozens of examples. //<em>Not very active lately,
but the trunk is in a usable state .</em></p></li>
<li><p><a href="http://code.google.com/p/newac">NewAC - New Audio
Components</a> (abandoned, list of forks on GH <a
href="https://github.com/search?l=Pascal&amp;o=desc&amp;q=newac&amp;s=updated&amp;type=Repositories">here</a>).
Designed to help your Delphi programs perform different sound processing
tasks. With NewAC you can play audio stored in many formats (wav, Ogg
Vorbis, FLAC, Monkey Audio, WavPack, MP3, Windows WMA, DTS, AC-3 (Dobly
Surround), VOB (DVD files)). // <em>Playback, recording, tag read/write,
some audio editing tasks and conversions</em></p></li>
<li><p><a href="https://sourceforge.net/projects/audorra">Audorra</a>.
Digital audio library for Delphi and Freepascal. Using a flexible plugin
architecture, it allows you to exchange the audio backend (e.g. WaveOut,
OpenAL), add protocol classes (e.g. file, http) and decoders.</p></li>
</ul>
<h2 id="video">Video</h2>
<ul>
<li><p><a href="https://code.google.com/p/dspack">DSPack</a> (abandoned,
active fork is <a
href="https://github.com/micha137/dspack-continued-mirror-for-delphinus">here</a>).
Set of components and classes to write Multimedia Applications using MS
Direct Show and DirectX technologies.</p></li>
<li><p><a
href="https://github.com/Laex/Delphi-OpenCV">Delphi-OpenCV</a>.
Translation of OpenCV library header files in Delphi // <em>Includes
FFMPEG headers</em></p></li>
<li><p><a href="http://www.delphiffmpeg.com/headers">FFmpeg
Delphi/Pascal Headers</a>. Open source translation of FFMPEG
headers.</p></li>
<li><p><a href="http://prog.olsztyn.pl/paslibvlc">PasLibVlc</a>.
Interface to VideoLAN libvlc.dll and VCL player component for Delphi /
FreePascal based on VideoLAN</p></li>
</ul>
<h2 id="graphic">Graphic</h2>
<ul>
<li><p><a
href="https://github.com/graphics32/graphics32">Graphics32</a>. Designed
for fast 32-bit graphics handling on Delphi, Kylix and Lazarus.
Optimized for 32-bit pixel formats, it provides fast operations with
pixels and graphic primitives, and in most cases Graphics32 outperforms
the standard TCanvas classes. It is almost a hundred times faster in
per-pixel access and about 2-5 times faster in drawing lines.</p></li>
<li><p><a
href="http://www.delphi-gems.com/index.php/libs/graphicex-library">GraphicEx</a>.
Addendum to Delphis Graphics.pas to enable your application to load
many common image formats. This library is primarily designed to load
images as background (buttons, forms, toolbars) and textures (DirectX,
OpenGL) or for image browsing and editing purposes as long as you dont
need to save images.</p></li>
<li><p><a href="http://imaginglib.sourceforge.net">Vampyre Imaging
Library</a>. Cross-platform native Object Pascal (Delphi and Free
Pascal) image loading, saving, and manipulation library.</p></li>
<li><p><a href="https://code.google.com/p/ccr-exif">CCR-EXIF</a> (seems
abandoned, list of forks on GH <a
href="https://github.com/search?l=Pascal&amp;o=desc&amp;q=ccr-exif&amp;s=updated&amp;type=Repositories">here</a>).
Library to read and write Exif, IPTC and XMP metadata from JPEG, TIFF
and PSD images.</p></li>
<li><p><a href="http://www.tkweb.eu/en/delphicomp/kicon.html">KIcon</a>.
This component makes sense if a more complex manipulation with icons (or
better icon files *.ico) than just viewing is needed. Full PNG icon
image support, correct rendering, icons with alpha channel.</p></li>
<li><p><a href="http://www.kluug.net/delphitwain.php">Delphi Twain</a>.
The library allows you to easily access scanning functions from Delphi
and Lazarus.</p></li>
<li><p><a href="https://github.com/synopse/SynPDF">Synopse PDF</a>.
Fully featured Open Source PDF document creation library for Delphi,
embedded in one unit. Pure Delphi code, Delphi 5 up to XE7, for Win32
and Win64 platforms.</p></li>
<li><p><a href="https://github.com/TurboPack/PowerPDF">PowerPDF</a>. VCL
component to create PDF docment visually. Like Forms, you can design PDF
document easily on Delphi or C++Builder IDE.</p></li>
<li><p><a href="https://sourceforge.net/projects/igdiplus">IGDI+</a>.
The free open source library allows quick and easy implementations of
complex GDI+ applications, in a natural Delphi-friendly code.</p></li>
<li><p><a href="https://sourceforge.net/projects/glscene">GLScene</a>.
OpenGL based 3D library for Delphi. It provides visual components and
objects allowing description and rendering of 3D scenes in an easy,
no-hassle, yet powerful manner. GLScene is not just an OpenGL wrapper or
utility library, it has grown to become a set of founding classes for a
generic 3D engine with Rapid Application Development in mind. GLScene
allows you to quickly design and render 3D scenes without having to
learn the intricacies of OpenGL, if you know how to design a TForm,
youll easily master the basic operations of GLScene. The library comes
with a large collections of demos showcasing the ease of use, and
demonstrating RAD wasnt done at the expense of CPU/GPU
horsepower.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynGdiPlus.pas">SynGdiPlus</a>.
Enables an application to load and save GIF, TIF, PNG and JPG pictures.
It also allows anti-aliased drawing from any TMetaFile. That is, you can
play a .emf content using GDI+ instead of GDI, for much better rendering
result.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SQLite3/mORMotReport.pas">mORMotReport</a>
(<a
href="http://synopse.info/files/html/api-1.18/mORMotReport.html">docs</a>).
Fast and efficient code-based reporting component, with preview form and
PDF export.</p></li>
<li><p><a href="http://sourceforge.net/projects/andorra">Andorra 2D</a>.
New generation 2D Engine for Delphi and Lazarus. Andorra 2D is capable
to use DirectX or OpenGL through graphic plugins. Andorra 2D is built in
a very modular way and is yet easy to use.</p></li>
<li><p><a
href="https://github.com/vintagedave/transparent-canvas">Transparent-canvas</a>.
Delphi VCL / Windows project for drawing semi-transparent alphablended
graphics. It provides a class similar to TCanvas.</p></li>
<li><p><a
href="https://github.com/vintagedave/fully-justified-text">Fully-justified-text</a>.
Delphi VCL / Windows project for text output, allowing printing of fully
justified text with a variety of options.</p></li>
<li><p><a href="https://github.com/Memnarch/AsciiImage">AsciiImage</a>.
AsciiImage-Implementation for Delphi by Alexander Benikowski based on
AsciiImage by Charles Parnot. Read more on <a
href="http://cocoamine.net/blog/2015/03/20/replacing-photoshop-with-nsstring">his
article</a>. // <em>Creates scalable monochrome image from ASCII pixel
map</em></p></li>
<li><p><a
href="https://bitbucket.org/uweraabe/pngcomponents">PngComponents</a>.
PngComponents is a set of components that allows you to include in your
application real PNG files. PNG files on their own do not generate an
enourmous advantage, but their support for an alpha-channel does indeed
have quite a charm to it.</p></li>
<li><p><a href="https://github.com/CWBudde/AggPasMod">AggPasMod</a>.
Modernized Pascal Anti-Grain Geometry. Based on AggPas, which is itself
based on the Anti-Grain Geometry, this project offers support for the
latest Delphi Versions (XE and above) and contains some helper classes
(VCL components and FireMonkey interface). 2D vector graphics library.
Basically, you can think of AggPas as of a rendering engine that
produces pixel images in memory from some vectorial data. But of course,
AGG can do much more than that. // <em>Vector graphic library, renders
SVG and much more</em></p></li>
<li><p><a
href="https://github.com/WouterVanNifterick/delphi-shader">delphi-shader</a>.
Hundreds of graphical effects, and a library that provides GLSL
functionality in pure Delphi code. This project produces an executable
with more than a hundred real-time graphical effects. All that is a 100%
pascal implementation, without the use of exernal libraries or hardware
acceleration.</p></li>
<li><p><a
href="https://github.com/SaschaWillems/dglOpenGL">dglOpenGL</a>. Delphi
/ Pascal OpenGL header translation.</p></li>
<li><p><a
href="https://github.com/MichaelDemidov/DelphiZXingQRCodeEx">DelphiZXingQRCodeEx</a>.
Delphi port of the QR Code generating functionality from ZXing, an open
source barcode image processing library.</p></li>
<li><p><a href="https://github.com/Spelt/ZXing.Delphi">ZXing.Delphi</a>.
Native Object Pascal library for Delphi XE to 10.2 Tokyo that is based
on the well known open source Barcode Scanning Library ZXing (Zebra
Crossing). It is aimed at all of the FireMonkey mobile platforms and,
starting from v3.1, it fully supports also Windows VCL applications (no
dependencies on FMX.Graphics unit).</p></li>
<li><p><a
href="https://github.com/exilon/QuickImageFX">QuickImageFX</a>. Delphi
library for simplifying image load/save, conversion and transformation.
Load/save png, jpg, gif and bmp. get image from different resources:
file, stream, http, imagelist, associated windows icon, executable file
icon, etc… Rotate, flip, grayscale and many other
transformations.</p></li>
<li><p><a href="https://code.google.com/p/simdesign">NativeJpg</a>.
Fully object-oriented Pascal implementation that allows to read and
write Jpeg files. You can use this software to read and write Jpeg
images from files or streams. It supports baseline and progressive Jpeg,
support for metadata, as well as all conceivable lossless
operations.</p></li>
</ul>
<h2 id="game-dev">Game dev</h2>
<ul>
<li><p><a
href="https://github.com/Kromster80/RecastNavigationDelphi">RecastNavigation</a>.
Navigation mesh construction toolset for games. Recast is accompanied
with Detour, path-finding and spatial reasoning toolkit. You can use any
navigation mesh with Detour, but of course the data generated with
Recast fits perfectly. This is a port of the original RecastNavigation
written in C++.</p></li>
<li><p><a href="https://github.com/BeRo1985/kraft">Kraft Physics
Engine</a>. Open source Object Pascal physics engine library that can be
used in 3D games. Compatible with: Delphi 7-XE7 (but not with the
Android and iOS targets), FreePascal &gt;= 2.6.2 (with almost all
FPC-supported targets including Android and iOS)</p></li>
<li><p><a href="https://github.com/andru-kun/zengl">ZenGL</a>. OpenGL
Cross-platform game development library written in Pascal, designed to
provide necessary functionality for rendering 2D-graphics, handling
input, sound output, etc. // <em>Not updated lately, but is working
ok</em></p></li>
<li><p><a href="https://sourceforge.net/projects/asphyre">Platform
eXtended Library (PXL)</a>. Cross-platform framework for developing
2D/3D video games, interactive and scientific applications. It aids the
developer with mathematics, hardware control, resource management,
displaying real-time graphics and text, handle user input and network
communication capabilities.</p></li>
<li><p><a
href="https://github.com/d-mozulyov/CrystalPathFinding">CrystalPathFinding</a>.
Simple and effective library with an open source intended for the
searching of the shortest paths by algorithms A<em>/WA</em> for maps
based on tiles with 4 (simple), 8 (diagonal/diagonalex) or 6 (hexagonal)
neighbors.</p></li>
<li><p><a
href="https://sourceforge.net/projects/allegro-pas">Allegro-Pas</a> (<a
href="https://github.com/niuniomartinez/allegro-pas">GitHub</a>).
Wrapper to use the Allegro game library with Pascal/Delphi.</p></li>
<li><p><a href="https://github.com/castle-engine/castle-engine">Castle
Engine</a>. Complete Pascal Game Engine. Cross-platform 3D and 2D game
engine with a lot of graphic effects and a scene graph based on
X3D.</p></li>
<li><p><a href="http://www.tilengine.org">TileEngine</a>. (<a
href="https://github.com/turric4n/PascalTileEngine">GitHub</a>) OOP
Pascal Wrapper and bindings for Tilengine 2D retro graphics engine.
Tilengine is a cross-platform 2D graphics engine for creating
classic/retro games with tilemaps, sprites and palettes. Its
scanline-based rendering algorithm makes raster effects a core feature,
a technique used by many games running on real 2D graphics
chips.</p></li>
<li><p><a href="http://www.freepascal-meets-sdl.net/">SDL2</a> (<a
href="https://github.com/ev1313/Pascal-SDL-2-Headers">GitHub</a>).
Pascal SDL 2 Headers. Simple DirectMedia Layer is a cross-platform
development library designed to provide low level access to audio,
keyboard, mouse, joystick, and graphics hardware via OpenGL and
Direct3D.</p></li>
<li><p><a href="https://github.com/CWBudde/PasSFML">SFML</a>. Pascal
SFML Headers. SFML provides a simple interface to the various components
of your PC, to ease the development of games and multimedia
applications. It is composed of five modules: system, window, graphics,
audio and network. Currently Delphi and FPC/Lazarus are supported.
However, due to a compiler incompatibility with the Delphi compiler
(solved with workarounds), FPC is recommended at the moment.</p></li>
<li><p><a href="https://github.com/BeRo1985/pasvulkan">pasvulkan</a>.
Vulkan header generator, OOP-style API wrapper, framework and
prospective Vulkan-based game engine for Object Pascal.</p></li>
<li><p><a
href="https://github.com/chapmanworld/DarkGlass">DarkGlass</a>.
DarkGlass is a general purpose game engine written using
Delphi.</p></li>
<li><p><a href="https://sourceforge.net/projects/jedi-sdl">JEDI-SDL</a>.
Pascal headers for SDL from JEDI. Works with Delphi, Kylix, Free Pascal,
Gnu Pascal and TMT Pascal.</p></li>
</ul>
<h2 id="communications">Communications</h2>
<h2 id="network">Network</h2>
<p><em>Socket communication, network protocols, encodings, etc</em></p>
<ul>
<li><p><a href="http://www.overbyte.be/frame_index.html">Internet
Component Suite</a>. Asynchronous-based library composed of various
Internet components and applications. Clients/servers for TCP, UDP, raw
sockets, FTP, SMTP, POP3, NNTP, HTTP, Telnet and more. Supports SSL and
TLS with the help of OpenSSL. Also includes Mime Decoder, SHA1/MD4/MD5
hashes, DES encryption.</p></li>
<li><p><a href="https://github.com/IndySockets/Indy">Indy</a>. Network
components for Delphi, C++Builder, Delphi.NET, and FreePascal //
<em>All-in-one network library based on blocking sockets and threads.
Included in default RAD studio installation since 2006.</em></p></li>
<li><p><a href="https://sourceforge.net/p/synalist">Ararat Synapse</a>.
Pascal TCP/IP Library for Dephi, C++Builder, Kylix and FreePascal. Deals
with network communication by means of blocking (synchronous) sockets or
with limited non-blocking mode. This project not using asynchronous
sockets! The Project contains simple low level non-visual objects for
easiest programming without problems (no required multithread
synchronisation, no need for windows message processing,…) Great for
command line utilities, visual projects, NT services,… // <em>TCP, UDP,
ICMP, RAW; ICMP, DNS, SMTP, HTTP, SNMP, NTP, FTP, LDAP, NNTP, Telnet;
IPv6; SOCKS proxy; SSL/TLS (via OpenSSL or Windows CryptoApi); PING;
character code transcoding; MIME coding and decoding; CRC16, CRC32, MD5
and HMAC-MD5.</em></p></li>
<li><p><a href="http://sourceforge.net/projects/tpipro2010">Internet
Professional</a>. Set of VCL components providing Internet connectivity
for Borland Delphi &amp; C++Builder. iPRO includes POP3, SMTP, NNTP,
FTP, HTTP, Instant Messaging, &amp; HTML viewer components, as well as
components for low-level socket access. // <em>Seems abandoned but
contains pretty large set of features incl ICMP, POP, SMTP, HTTP, NNTP,
NTP, FTP, SMTP; HTML parser and viewer; MIME utils; cookies,
certificates, caching, encryption etc</em></p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynCrtSock.pas">SynCrtSock</a>.
Features several sockets and HTTP client-server classes, including a
high-performance http.sys based server under Windows, and a new
thread-pool powered socket server. // <em>Also implements http.sys
binding under Windows and cURL binding under nix</em></p></li>
<li><p><a href="http://www.libtml.org/docs/libtml-pascal">TML Messaging
Suite</a>. Network messaging library for rapid development of extensible
and scalable interfaces. Based on the peer to peer standard protocol <a
href="http://www.beepcore.org">BEEP (Blocks Extensible Exchange
Protocol)</a>, defined in <a
href="https://tools.ietf.org/html/rfc3080">RFC3080</a> and <a
href="https://tools.ietf.org/html/rfc3081">RFC3081</a>. libTML is
suitable for many use cases and communication patterns. Equipped with a
type safe data API, TML can transport hierarchical data structures fast
and reliable. // <em>The libTML Object Pascal Components are not only a
language binding to the core library but a complete set of non visual
components to simplify the usage of libTML with Embarcadero RAD Studio
and Lazarus.</em></p></li>
<li><p><a
href="https://github.com/danieleteti/delphimvcframework">DMVCFramework</a>.
Popular and powerful framework for web solution in Delphi.</p></li>
<li><p><a href="https://github.com/ymofen/diocp-v5">Delphi IOCP</a>.
Implements several network classes based on Windows IOCP technology.
Socket, HTTP, Ntrip servers and clients. // <em>Quite well documented
and good styled code but Chinese only.</em></p></li>
<li><p><a
href="https://github.com/monde-sistemas/delphi-aws-ses">delphi-aws-ses</a>.
Amazon Simple Email Service (AWS SES) library for Delphi
applications.</p></li>
<li><p><a
href="https://github.com/monde-sistemas/delphi-slackbot">delphi-slackbot</a>.
Delphi library to send messages on <a href="https://slack.com">Slack</a>
using slackbot.</p></li>
<li><p><a href="https://github.com/nandod/kitto">Kitto</a>. Allows to
create Rich Internet Applications based on a data model that can be
mapped onto any database. The client-side part uses ExtJS (through the
ExtPascal library) to create a fully AJAX application, allowing you to
build standard and advanced data-manipulating forms in a fraction of the
time. Kitto is aimed at Delphi developers that need to create web
application without delving into the intricacies of HTML, CSS,
Javascript or learning to use a particular library such as ExtJS, yet it
allows access to the bare metal if required.</p></li>
<li><p><a
href="https://github.com/michaelJustin/daraja-framework">Daraja
Framework</a>. Lightweight HTTP server framework for Object Pascal
(Delphi 2009+ / Free Pascal 3.0). Implementing RESTful services is
supported via the <a
href="https://github.com/michaelJustin/daraja-restful">daraja-restful</a>
extension.</p></li>
<li><p><a href="#general-libraries">Alcinoe</a>.
FTP/Http/NNTP/POP3/SMTP, ISAPI, WinInet Http/FTP clients.</p></li>
<li><p><a href="#general-libraries">Fundamentals Code Library</a>.
Blocking TCP client/server, HTTP(S) via SSL3/TLS1.0/TLS1.1/TLS1.2 (fully
native).</p></li>
<li><p><a href="#general-libraries">mORMot</a>. RESTful ORM and SOA
services via interfaces over high performance HTTP server, MVC/MVVM web
sites</p></li>
<li><p><a href="https://github.com/andrea-magni/SDriver">SDriver</a>.
Delphi wrapper for <a href="https://slack.com">Slack</a> API.</p></li>
<li><p><a href="https://github.com/hprose/hprose-delphi">Hprose for
Delphi/Lazarus</a>. High Performance Remote Object Service Engine. It is
a modern, lightweight, cross-language, cross-platform, object-oriented,
high performance, remote dynamic communication middleware. It is not
only easy to use, but powerful. This project is the implementation of
Hprose for Delphi/Lazarus.</p></li>
<li><p><a href="https://github.com/ms301/TelegAPI">TelegAPI</a>. Library
for working with Telegram messenger Bot API in Delphi.</p></li>
<li><p><a
href="https://github.com/grijjy/DelphiZeroMQ">DelphiZeroMQ</a>. Delphi
implementation of ZeroMQ Majordomo protocol and CZMQ high level
binding.</p></li>
<li><p><a href="#general-libraries">GrijjyFoundation</a>. IOCP/EPOLL
sockets, socket pools, HTTP, HTTP/2, OpenSSL, ProtocolBuffers.</p></li>
<li><p><a
href="https://github.com/Rest-Dataware/RDW-Componente">Rest-Dataware-Componentes</a>.
Was created to facilitate the creation of CRUDs in the same model that
we created applications for Client / Server Database. With REST DW, you
no longer have to worry about creating SQL Insertion, Deletion, Read and
Execution methods via Webservice; Simply add a RESTDataBase connection
component and add a RESTClientSQL component that will already have your
SQL solution fully functional as it did back in the day and with all the
power of modern REST / JSON technology with data compression and
everything the language can offer.</p></li>
<li><p><a href="https://github.com/danieleteti/delphistompclient">STOMP
Client</a>. STOMP client for Embarcadero Delphi and FreePascal. The
project can use INDY (Delphi) or Synapse (Delphi or
FreePascal).</p></li>
<li><p><a
href="https://github.com/littleearth/delphiXERO">delphiXero</a>. XERO
cloud accounting API for Delphi.</p></li>
<li><p><a href="https://github.com/besasoftware/besasoap">BesaSoap</a>.
The BesaSoap library is designed to help programmers develop faster and
more native web service client applications. Represents C# or Java like
native class support, nullable data types and custom
attributes.</p></li>
<li><p><a href="https://sourceforge.net/projects/indysoap">IndySoap</a>.
Open Source Library for implementing Web services using Delphi/CBuilder
Compilers. IndySoap isnt tied to Indy for transport services, though
Indy based transport services are included.</p></li>
</ul>
<h2 id="serial-port">Serial port</h2>
<ul>
<li><p><a
href="http://sourceforge.net/p/synalist/code/HEAD/tree/trunk/synaser.pas">Synaser</a>.
Library for blocking communication on serial ports. It is non-visual
class as in Synapse, and programmer interface is very similar to
Synapse.</p></li>
<li><p><a href="http://sourceforge.net/projects/tpapro">Async
Professional</a> (<a
href="https://github.com/TurboPack/AsyncPro">Newest</a> and maintained
version for recent compiler version only). Comprehensive communications
toolkit for Embarcadero Delphi, C++Builder, &amp; ActiveX environments.
It provides direct access to serial ports, TAPI and the Microsoft Speech
API (TTS/Speech recognition). It supports faxing, terminal emulation,
VOIP, RAS dial &amp; more. // <em>Seems outdated (last update in 2011)
but adapted to XE and should be easy to use in newer versions. The
project is also very thoroughly documented. Second link points to an
adapted version for newest compiler versions.</em></p></li>
<li><p><a href="https://sourceforge.net/projects/comport">TComPort</a>.
Delphi/C++ Builder serial communications components. It is generally
easy to use for basic Serial Communications purposes. // <em>Seems
abandoned since 2011</em></p></li>
</ul>
<h2 id="gui">GUI</h2>
<p><em>Visual components</em></p>
<h2 id="control-packs">Control packs</h2>
<p><em>Large sets of GUI controls</em></p>
<ul>
<li><p><a href="http://sourceforge.net/projects/tcycomponents">Cindy
components</a>. Packages with 71 components: VCL controls (labels,
buttons, panels, Edits, TabControls, StaticText) with features like
background gradient, colored bevels, wallpaper, shadowText, caption
orientation etc…</p></li>
<li><p><a href="http://sourceforge.net/projects/tporpheus">Orpheus</a>
(<a href="https://github.com/TurboPack/Orpheus">Newest</a> and
maintained version for recent compiler version only). Award-winning UI
toolkit for Borland Delphi &amp; C++Builder. It contains over 120
components covering everything from data entry to calendars and clocks.
Other noteworthy components include an Object Inspector, LookOut bar
&amp; report views. // <em>Advanced edits, comboboxes, grids + component
(de)serializers. GUI components look rather old-style, theme support
might be limited. Package contains many demos but no docs seem
available. Second link points to an adapted version for newest compiler
versions.</em></p></li>
<li><p><a
href="http://www.tkweb.eu/en/delphicomp/kcontrols.html">KControls</a>.
Control components. All controls have been written with the aim to
become both cross-IDE compatible (Delphi/C++Builder VCL and Lazarus LCL)
and cross-platform compatible in Lazarus. // <em>Most useful are TKGrid
with its DB-aware heritage TKDBGrid — a very full-featured grid
implementation incl. inplace editors. Theres also hex editor, print
preview, editors, labels, buttons etc.</em></p></li>
<li><p><a href="http://sourceforge.net/projects/dpfdelphiandroid">D.P.F
Delphi Android</a> / <a
href="http://sourceforge.net/projects/dpfdelphiios">D.P.F Delphi iOS</a>
native components. D.P.F Delphi Native Components, 100% iOS Performance
and styles. Develop iPhone &amp; iPad &amp; iPod Touch applications with
fast native performance and native styles. Use native Android controls
and services. Fast native performance. Mixed with FM VCL controls. Can
be quick updated with latest Android controls &amp; features.</p></li>
<li><p><a href="https://github.com/TurboPack/Essentials">Essentials</a>.
Contains 13 native VCL controls for Embarcadero Delphi and C++Builder.
The controls include drop-down calendars and calculators, roll-up
dialogs, 3-D labels, tiled backgrounds, scrolling messages, menu
buttons, and more.</p></li>
<li><p><a
href="https://github.com/errorcalc/FreeEsVCLComponents">FreeEsVCLComponents</a>.
Free library of VCL components for Delphi and C++Builder. This new
controls and components to improve the appearance applications and to
better user experience. Components support visual styles and has modern
style. All components has best support transparency, not flicker, and
has support Interesting possibility for double buffering for
TGraphicControl heirs.</p></li>
<li><p><a
href="https://github.com/SilverpointDev/sptbxlib">SpTBXLib</a>. Add on
package for Toolbar2000 components, it adds the following features:
Skins, Unicode support, Custom painting events and many more.</p></li>
</ul>
<h2 id="single-controls">Single controls</h2>
<ul>
<li><p><a
href="http://code.google.com/p/mustangpeakeasylistview">EasyListView</a>
(seems abandoned, active fork on GH <a
href="https://github.com/TurboPack/MustangpeakEasyListview">here</a>).
Part of VirtualShellTools for the Listview but can be used for a
TListview Replacement that is faster and more customizable. //
<em>Feature-rich Listview implementing virtual (callback-based) MVC
paradigm.</em></p></li>
<li><p><a
href="https://github.com/Virtual-TreeView/Virtual-TreeView">VirtualTreeView</a>.
Treeview control built from ground up. Many years of development made it
one of the most flexible and advanced tree controls available today. //
<em>Extremely flexible visual component implementing virtual
(callback-based) MVC paradigm. Could be also used as a listview or grid.
Used in RAD Studio GUI.</em></p></li>
<li><p><a
href="https://github.com/hgourvest/dcef3/commits/master">Delphi Chromium
Embedded</a>. Embedding Chromium in Delphi, tested on Delphi 2010, XE,
XE2, Delphi 7. // <em>Several Chromium DLLs required</em></p></li>
<li><p><a
href="https://github.com/norgepaul/tchrometabs">TChromeTabs</a>.
Comprehensive implementation of Google Chromes tabs for Delphi 6 -
Delphi 10.1 Berlin</p></li>
<li><p><a
href="https://github.com/andrea-magni/TFrameStand">TFrameStand</a>.
Easily use TFrame(s) in your FireMonkey (FMX) applications to gain
visual consistency though the whole user experience and easily add
modern looking elements like effects and transitions.</p></li>
<li><p><a
href="https://github.com/landrix/TPrintPreview-for-Delphi">TPrintPreview</a>.
Print Preview Component for Delphi Vcl Win32/Win64</p></li>
<li><p><a href="https://sourceforge.net/projects/volgadb">VolgaDB</a>.
Pretty customizable DBgrid for Delphi. TCustomGrid descendant. CheckBox,
ComboBox column styles. Also includes TVolgaDBEdit that replaces
TDBEdit, TDBComboBox, TDBLookupCombo, TDBLookupTree andTDBDatePicker in
one component. TVolgaDBEdit may be DB-aware and non DB-aware. //
<em>Seems abandoned since 2013</em></p></li>
<li><p><a
href="http://github.com/benibela/treelistview">TTreeListView</a>. This
component is a mix between TTreeView and TListView and can paint a tree
whose nodes have additional information sorted in columns.</p></li>
<li><p><a href="https://github.com/jkour/neTabControl">neTabControl</a>.
FireMonkey control for Delphi. It builds on the native TabControl and
adds a number of features.</p></li>
<li><p><a href="https://github.com/Alexey-T/ATTabs">ATTabs</a>.
Delphi/Lazarus component for lite tabs. OS independent, fully custom
drawn.</p></li>
</ul>
<h2 id="editors">Editors</h2>
<ul>
<li><p><a href="https://sourceforge.net/projects/synedit">SynEdit</a>
(<a href="https://github.com/TurboPack/SynEdit">mirror at GitHub</a>).
Syntax highlighting edit control, not based on the Windows common
controls. SynEdit is compatible with both Delphi and Kylix</p></li>
<li><p><a href="https://github.com/bonecode/BCEditor">BCEditor</a>.
Syntax highlighting edit control with code folding, minimap, external
JSON highlighter and color scheme files, etc. // <em>Very powerful and
feature-rich component. Supports Delphi XE4..XE8, C++ Builder XE7,
backport to XE available</em></p></li>
</ul>
<h2 id="viewers">Viewers</h2>
<ul>
<li><p><a href="https://sourceforge.net/projects/atviewer">ATViewer</a>
(<a href="https://github.com/Alexey-T/ATViewer">mirror at GitHub</a>).
Delphi components to view various file types: text, binary, images,
multimedia, webpages, etc. // <em>Used in Universal Viewer software.
Could be used to display hex dumps, features fast display of unlimited
size files/streams. Supports Total Commander Lister
plugins.</em></p></li>
<li><p><a
href="https://sourceforge.net/projects/atviewer/files/ATImageMap">ATImageMap</a>
(<a href="https://github.com/Alexey-T/ATViewer">mirror at GitHub</a>).
Component designed to show many images (parts of the whole image) as a
single map. For example, you may have array of images, 200 by X, and 100
by Y and control will show them as a single map. Component also allows
to draw paths: each path consists of many lines, points, and
icons.</p></li>
<li><p><a
href="https://github.com/BerndGabriel/HtmlViewer">HtmlViewer</a>.
Delphi/Lazarus HtmlViewer/FrameViewer. // <em>Html visualiser supporting
majority of tags, inline styles and CSS.</em></p></li>
<li><p><a href="https://github.com/da-baranov/SciDe">SciDe</a>. <a
href="https://sciter.com">Sciter</a> (Embeddable HTML/CSS/script engine)
wrapper for Delphi.</p></li>
<li><p><a href="https://github.com/Alexey-T/ATViewer">ATBinHex</a>.
Viewer for files of unlimited size like in Total Commander.</p></li>
</ul>
<h2 id="other-gui">Other GUI</h2>
<ul>
<li><p><a href="https://code.google.com/p/gmlibrary">GMLib</a> (Google
Maps Library) (seems abandoned, active fork on GH <a
href="https://github.com/bero/GMLibrary">here</a> and <a
href="https://github.com/cadetill/gmlib_v1">here</a>). Components for
Delphi/C++ Builder that encapsulate the GoogleMaps API to administrate a
map, markers, polygons, rectangles, polylines,… All objects that you can
put into a map.</p></li>
<li><p><a href="https://github.com/rruz/vcl-styles-utils">VCL Styles
Utils</a>. Collection of classes and style hooks, which extend, fix QC
reports and add new features to the VCL Styles. // <em>Collection of
patches/enhancements that promote stock VCL style engine to a new level.
Styling for Inno setup and NSIS also available.</em></p></li>
<li><p><a
href="https://github.com/chaosben/theunknownones">TaskbarListComponents</a>.
Set of components designed as Delphi wrappers for the Windows 7
Taskbarlist Interfaces (e.g. ITaskbarlist3) // <em>Requires
JVCL</em></p></li>
<li><p><a
href="https://github.com/vintagedave/firemonkey-container">TFireMonkeyContainer</a>.
Delphi VCL component to host a FMX HD or 3D form. It means you can embed
a FireMonkey (FMX) form as a control in a VCL form, so you can design a
FMX form and use it in your VCL app.</p></li>
<li><p><a
href="http://sourceforge.net/projects/pascalscada">PascalSCADA</a>. Set
of components (framework) for Delphi/Lazarus to make easy the
development of industrial applications (HMI=Human Machine
Interface/SCADA=System Control And Data Acquisition). It runs on
Windows, Linux and FreeBSD.</p></li>
<li><p><a href="https://github.com/turbopack/ribbonframework">Windows
Ribbon Framework for Delphi</a>. This Delphi library allows Delphi
developers to use of the Windows Ribbon Framework in their Delphi
applications. This library uses the native Windows library to implement
the Ribbon functionality. It does not emulate the Ribbon user interface
like other Delphi component sets do (or Delphis built-in Ribbon
emulation components).</p></li>
<li><p><a href="https://github.com/yktoo/dklang">DKLang</a>. DKLang
Localization Package is a set of classes intended to simplify the
localization of applications written in Delphi.</p></li>
<li><p><a href="https://sourceforge.net/projects/dxgettext/">GNU Gettext
for Delphi, C++ and Kylix</a>. GNU GetText translation tools for Borland
Delphi and Borland C++ Builder.</p></li>
<li><p><a
href="https://sourceforge.net/projects/openwireproject">OpenWire</a>.
The library allows writing advanced VCL and FireMonkey components for
rapid codeless application development. The components developed with
the library allow creation of complex applications with zero lines of
program code.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynTaskDialog.pas">SynTaskDialog</a>.
Implement TaskDialog window (native on Vista/Seven, emulated on
XP)</p></li>
<li><p><a href="https://github.com/WladiD/AnyiQuack">AnyiQuack</a>.
jQuery-like control animation framework.</p></li>
<li><p><a
href="https://github.com/albertodev01/TLanguages">TLanguages</a>.
Localization tool for VCL and FMX.</p></li>
</ul>
<h2 id="database">Database</h2>
<ul>
<li><p><a href="http://sourceforge.net/projects/zeoslib">ZeosLib</a>.
Set of database components for MySQL, PostgreSQL, Interbase, Firebird,
MS SQL, Sybase, Oracle and SQLite.</p></li>
<li><p><a href="http://sourceforge.net/projects/uib">Unified
Interbase</a>. Set of components to use Interbase, FireBird and YAFFIL.
These components were born from the need to use Interbase, FireBird or
Yaffil indifferently as fast as possible in a Multithreading
environment, a Server for example.</p></li>
<li><p><a href="https://github.com/remobjects/ASQLite3">ASQLite</a>.
Delphi SQLite set of DAC components from aducom software, based on their
latest release for Delphi 2009, and updated to support newer editions of
Delphi as included in RemObjects Data Abstract for Delphi.</p></li>
<li><p><a href="https://github.com/ccy/txquery">TxQuery</a>. TDataSet
descendant component that can be used to query one or more TDataSet
descendant components using SQL statements. It is implemented in Delphi
100% source code, no DLL required, because it implements its own SQL
syntax parser and SQL engine.</p></li>
<li><p><a
href="https://github.com/danieleteti/delphi-orm">Delphi-ORM</a>.
Object-Relational Mapping for Delphi XE7, XE6, XE5, XE4, XE3 and XE2
(Win32). Supports for FirebirdSQL, SQLServer and SQLite3.</p></li>
<li><p><a
href="https://code.google.com/p/delphimemcache">delphimemcache</a>.
Implements a thread safe client for memcached. // <em>Requires Indy
10</em></p></li>
<li><p><a href="https://github.com/synopse/mORMot">SynDB</a> (<a
href="http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html#TITL_126">docs</a>).
High performance direct access to SQLite3, Oracle, MSSQL, PostgreSQL,
Firebird, MySQL, ODBC, OleDB, including remote HTTP connection and
direct JSON support.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynMongoDB.pas">SynMongoDB</a>
(<a
href="http://blog.synopse.info/post/2014/05/07/MongoDB-database-access">docs</a>).
Offers direct low-level access to any MongoDB server, its custom data
types, JSON or via <code>TDocVariant</code> custom variant document
storage.</p></li>
<li><p><a href="https://bitbucket.org/sglienke/dsharp">DSharp</a>. Small
library for providing data binding in Delphi. It does not require
special components to data bind to properties. It also provides
dependency injection, MVVM and more interesting utilities.</p></li>
<li><p><a href="https://github.com/leledumbo/ghORM">ghORM</a>. Object
Relational Mapping unit to ease database access from Free Pascal, by
abstracting the backend and simple data retrieval (with filtering),
insertion and update.</p></li>
<li><p><a href="http://sourceforge.net/p/tdbf/code/HEAD/tree">tDBF</a>.
Native dBASE III+, dBase IV and dBase 2k data access component for
Delphi, BCB, Kylix, FreePascal. It allows you to create very compact
database programs which dont need any special installer programs. The
DB engine code is compiled right into your executable.</p></li>
<li><p><a href="https://github.com/danieleteti/delphiredisclient">Redis
client</a> for Delphi 10.1 Berlin, Delphi 10 Seattle, XE8, XE7, XE6 and
XE5 (should works also with older versions). This client is able to send
all Redis commands and read the response using an internal
parser.</p></li>
<li><p><a href="http://blog.qdac.cc/?page_id=139">QDAC3</a> (SVN:
svn://www.qdac.cc/QDAC3). Stands for quick data access components.
Useful units such as QJson (easy to use json unit), QWorker(job
delivery) etc. // <em>Description and comments in Chinese, author is not
good at English. Havent tested this library by myself.</em></p></li>
<li><p><a
href="https://sourceforge.net/projects/instantobjects">InstantObjects</a>.
Integrated framework for developing object-oriented business solutions
in Delphi. The framework provides the foundation for the development
process as well as the engine that powers the final application.
InstantObjects offers: Model realization in the Delphi IDE via
integrated two-way tools; Object persistence in the most common
relational databases or flat XML-based files; Object presentation via
standard data-aware controls.</p></li>
<li><p><a href="#general-libraries">Alcinoe</a>.
Firebird/MySQL/SQLite3/Memcached/MongoDb/SphinxQL.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynBigTable.pas">SynBigTable</a>.
Class used to store huge amount of data with fast retrieval.</p></li>
<li><p><a href="https://github.com/graemeg/tiopf">tiOPF</a>. Object
Persistent Framework written in Object Pascal, for use with Delphi and
Free Pascal (FPC) compilers. tiOPF simplifies the mapping of an object
oriented business model into a relational database. Persistence layers
are available for Firebird, Oracle, MS SQL Server, MySQL, PostgreSQL,
SQLite, NexusDB, XML, CSV, TAB, Remote (via HTTP) and many more. It also
allows you to use your choice of database connection components, like
IBX, dbExpress, DOA, SqlDB, FBLib etc.</p></li>
<li><p><a
href="https://sourceforge.net/projects/larryhengensopf">hcOPF</a>.
Object Persistent Framework written in Embarcaderos Delphi (Object
Pascal). This Value Type Framework provides a base class (ThcObject)
composed of attribute objects that can be automatically persisted to an
object store (normally an RDBMS).</p></li>
<li><p><a
href="https://bitbucket.org/soundvibe/marshmallow/wiki/Home">Marshmallow</a>.
Object-Relational Mapping for Delphi XE7, XE6, XE5, XE4, XE3 and XE2
(Win32) inspired by .NET micro ORMs (mostly by PetaPoco) and Java
Hibernate. Developed by Linas Naginionis. Supports SQLite, Sybase ASA,
SQL Server, Firebird, Oracle, MySQL, PostgreSQL, MongoDB. Uses <a
href="http://code.google.com/p/delphi-spring-framework/">Spring</a>
Framework. In active development.</p></li>
<li><p><a
href="https://github.com/grijjy/DelphiCassandra">DelphiCassandra</a>.
Delphi driver classes to communicate with Cassandra database.</p></li>
<li><p><a
href="https://github.com/grijjy/DelphiCouchbase">DelphiCouchbase</a>.
Delphi driver classes to communicate with Couchbase database.</p></li>
<li><p><a
href="https://github.com/grijjy/DelphiMongoDB">DelphiMongoDB</a>. Delphi
driver classes to communicate with MongoDB database.</p></li>
<li><p><a href="https://github.com/exilon/QuickORM">QuickORM</a>.
QuickORM is a simple RestServer and Restclient based on mORMot
framework. Provides a fast implementation of client-server applications
in few minutes.</p></li>
</ul>
<h2 id="scripting">Scripting</h2>
<p><em>Using script engine in your applications</em></p>
<ul>
<li><p><a href="https://github.com/remobjects/pascalscript">Pascal
Script</a>. Free scripting engine that allows you to use most of the
Object Pascal language within your Delphi or Free Pascal projects at
runtime. Written completely in Delphi, it is composed of a set of units
that can be compiled into your executable, eliminating the need to
distribute any external files. Pascal Script started out as a need for a
good working script, when there were none available at the
time.</p></li>
<li><p><a href="https://bitbucket.org/egrange/dwscript">DWScript</a>.
Object-oriented scripting engine for Delphi based on the Delphi
language, with extensions borrowed from other Pascal languages
(FreePascal, Prism, etc.). It introduces a few Pascal language
extensions of its own as well.</p></li>
<li><p><a
href="https://code.google.com/p/delphi-javascript">Delphi-Javascript</a>.
Javascript engine for delphi based on Mozillas Spidermonkey. //
<em>Spidermonkey DLL required</em></p></li>
<li><p><a href="http://sourceforge.net/projects/blaise">Blaise</a>.
Open-source object-oriented scripting language. Language features:
Object-oriented; Unicode support; Optional typing, ie dynamic or static
typing; Richly typed; Higher-level mathematics support, for example
Complex numbers, Rational numbers and Matrices; Virtual Machine
architecture; Co-routines; Familiar language syntax, influenced by
Object Pascal, Python and Ada.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynSM.pas">SpiderMonkey</a>.
Binding for Mozilla JavaScript engine, including JIT and
multi-threading, with easy objects access via Delphi variants. //
<em>Spidermonkey DLL required</em></p></li>
<li><p><a href="https://github.com/BeRo1985/besen">BESEN</a>. Complete
ECMAScript Fifth Edition Implemention in Object Pascal, which is
compilable with Delphi &gt;=7 and Free Pascal &gt;= 2.5.1 (maybe also
2.4.1).</p></li>
<li><p><a href="https://github.com/pyscripter/python4delphi">Python for
Delphi (P4D)</a>. Set of free components that wrap up the Python dll
into Delphi and Lazarus (FPC). They let you easily execute Python
scripts, create new Python modules and new Python types. You can create
Python extensions as dlls and much more</p></li>
<li><p><a
href="https://github.com/d-mozulyov/CrystalLUA">CrystalLUA</a>. Lua
binding (Delphi6-2007). // <em>LUA DLL required</em></p></li>
<li><p><a
href="https://github.com/danieleteti/lua4delphi">lua4delphi</a>. Delphi
binding for Lua 5.1 language. // <em>LUA DLL required</em></p></li>
<li><p><a
href="https://github.com/tondrej/chakracore-delphi">chakracore-delphi</a>.
Delphi and Free Pascal bindings and classes for Microsofts ChakraCore
JavaScript engine library.</p></li>
<li><p><a
href="https://github.com/Dennis1000/verysimplelua">VerySimple.Lua</a>.
Lua Wrapper for Delphi XE5-D10.1 which automatically creates OOP
callback functions for Delphi &lt;-&gt; Lua. // <em>LUA DLL
required</em></p></li>
</ul>
<h2 id="non-visual-classesutils">Non-visual Classes/Utils</h2>
<h2 id="compression">Compression</h2>
<ul>
<li><p><a href="https://github.com/AlexanderBagel/FWZip">FWZip</a>.
Classes to work with Zip archives using Store and Deflate methods,
supports ZIP64, DataDescryptors, PKWARE encryption, NTFS attributes,
Utf8 in filenames. // <em>Uses stock ZLIB.obj that gets compiled into
binary</em></p></li>
<li><p><a href="http://sourceforge.net/p/tpabbrevia">Abbrevia</a> (<a
href="https://github.com/TurboPack/Abbrevia">Newest</a> and maintained
version for recent compiler version only). Advanced data compression
toolkit for Delphi and C++Builder. Supports PKZIP, Microsoft CAB, tar,
gzip, and bzip2 archives, and can create self-extracting executables. On
Windows it also provides Delphi wrappers for the LZMA, Bzip2, and
WavPack SDKs, and PPMd decompression. Abbrevia also has several visual
controls that simplify displaying and manipulating archives, including
treeview and listview components. Features: Unicode filenames in all
archive formats; Decompress most .zipx and legacy (PKZIP v1) zips; ZIP64
support for archives larger than 2GB; Spanned and split zip archives;
Cross-platform (Windows, OS X, and Linux); No DLLs required; Includes
COM component; Extensive documentation // <em>Second link points to an
adapted version for newest compiler versions.</em></p></li>
<li><p><a href="https://github.com/synopse/mORMot">SynLZ SynLZO SynZip
PasZip</a>. Several high speed compression units, featuring ZIP/LZ77
Deflate/Inflate, LZO and SynLZ algorithm, in pascal and optimized
assembler.</p></li>
<li><p><a href="http://www.base2ti.com/?id=delphi.zlib">Delphi zlib</a>.
Wrapper for zlib.obj originally used by Borland. Delphi up to XE3
supported.</p></li>
<li><p><a
href="http://www.yunqa.de/delphi/products/ucl/index">DIUcl</a>. DIUcl is
a lossless compression library with extremely fast and small (200 bytes
only!) ASM decompressor. Compression times and ratios are similar to
those of deflate/zip and bzip2. Delphi port of the popular UCL
Compression Library, which is also used by the popular and well known
UPX Ultimate Packer for eXecutables.</p></li>
</ul>
<h2 id="encryption">Encryption</h2>
<ul>
<li><p><a
href="https://github.com/winkelsdorf/DelphiEncryptionCompendium/releases">Delphi
Encryption Compendium (DEC)</a>. Cryptographic library for Delphi &amp;
C++ Builder. Symmetric cryptographic functions: Blowfish, Twofish, IDEA,
Cast128, Cast256, Mars, RC2, RC4, RC5, RC6, Rijndael / AES, Square,
SCOP, Sapphire, 1DES, 2DES, 3DES, 2DDES, 3DDES, 3TDES, 3Way, Gost,
Misty, NewDES, Q128, SAFER, Shark, Skipjack, TEA, TEAN; Block cipher
modes of operation: CTSx, CBCx, CFB8, CFBx, OFB8, OFBx, CFSx, ECBx;
Hashes: MD2, MD4, MD5, RipeMD128, RipeMD160, RipeMD256, RipeMD320, SHA,
SHA1, SHA256, SHA384, SHA512, Haval128, Haval160, Haval192, Haval224,
Haval256, Tiger, Panama, Whirlpool, Whirlpool1, Square, Snefru128,
Snefru256, Sapphire. // <em>No updates since 2010, some activity started
at 2018 in <strong>development</strong> branch. Anyway features list so
huge that it couldnt be ignored</em></p></li>
<li><p><a href="http://sourceforge.net/projects/tplockbox">LockBox</a>
(<a href="https://github.com/TurboPack/LockBox3">Newest</a> and
maintained version for recent compiler version only). Delphi library for
cryptography. Currently supported Delphi XE6. It provides support for
AES, DES, 3DES, Blowfish, Twofish, SHA2 (including the new SHA-512/224
&amp; SHA-512/256), MD5; ECB, CBC, CFB8, CFB, CTR, ECB, OFB, PCBC
chaining modes, RSA digital signature and verification. Has interface to
OpenSSL library. // <em>Check out <a
href="https://github.com/jarto/lockbox2">this</a> page as well for
alternative version.</em></p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynCrypto.pas">SynCrypto</a>.
Fast cryptographic routines (hashing and cypher), implementing AES, XOR,
RC4, ADLER32, MD5, SHA1, SHA256 algorithms, optimized for speed (tuned
assembler and VIA PADLOCK optional support).</p></li>
<li><p><a href="https://bitbucket.org/sergworks/tforge">TForge</a>.
Open-source crypto library written in Delphi, compatible with Free
Pascal Compiler. MD5, SHA1, SHA256, CRC32, Jenkins-One-At-Time, HMAC,
PBKDF1, PBKDF2, AES, DES, RC4, RC5, Salsa20.</p></li>
<li><p><a href="#general-libraries">Spring4D</a>. CRC, DES, MD5,
SHA</p></li>
<li><p><a href="#general-libraries">Fundamentals Code Library</a>.
Hashes: XOR, CRC, Adler, MD5, SHA, secure keyed MD5/SHA, etc; Cipher:
AES, DES, FUNE, RC2/4, RSA.</p></li>
<li><p><a href="#general-libraries">Alcinoe</a>. AES, Blowfish, MD5,
SHA, secure keyed MD5/SHA.</p></li>
<li><p><a href="https://sourceforge.net/projects/dcpcrypt">DCPcrypt
(fork #1)</a>, <a
href="https://bitbucket.org/wpostma/dcpcrypt2010">DCPcrypt (fork
#2)</a>. Suite of cryptographic components for Delphi.</p></li>
<li><p><a
href="https://github.com/Xor-el/HashLib4Pascal">HashLib4Pascal</a>.
Delphi/FreePascal compatible library that provides an easy to use
interface for computing hashes and checksums of strings (with a
specified encoding), files, streams, byte arrays and untyped data to
mention but a few. It also supports Incremental Hashing.</p></li>
<li><p><a
href="http://www.wolfgang-ehrhardt.de/crchash_en.html">CRC/Hash</a>.
Pascal / Delphi source and binary files related to CRC, hash, and HMAC
calculations. CRC, Adler, BJ lookup, MD5, SHA, Whirlpool, Blake</p></li>
<li><p><a
href="http://www.wolfgang-ehrhardt.de/crypt_en.html">Crypto</a>. Several
cipher algorithms: the 128-bit block ciphers AES and Twofish, the 64-bit
block cipher Blowfish, and the stream ciphers Salsa20/XSalsa20/ChaCha
and Sosemanuk.</p></li>
</ul>
<h2 id="xmljsonyaml">XML/JSON/YAML</h2>
<ul>
<li><p><a href="https://github.com/mremec/omnixml">OmniXML</a>. XML
parser written in Delphi. Full support for Document Object Model (DOM)
Level 1 specification; Supports Extensible Markup Language (XML) 1.0
(Second Edition) specification; Has built-in support for different code
pages (main 8-bit code pages, UTF-8, UTF-16); Is compatible with MS XML
parser; Fast parsing even large and highly structured documents;
Includes helper functions to ease processing XML documents; Simplified
XPath support.</p></li>
<li><p><a href="http://sourceforge.net/projects/saxforpascal">SAX for
Pascal</a>. Designed to implement the Simple API for XML Parsing in
Pascal/Delphi. // <em>Callback-based XML parser, useful for processing
huge XML streams. Abandoned since 2004 but is almost the only SAX
implementation available.</em></p></li>
<li><p><a href="http://sourceforge.net/projects/kdsxml">KDS XML</a>.
Class library for streamed parsing, validating and generating XML. It is
written in Object Pascal/Delphi and works on Win32 (Delphi) and Linux
(Kylix). Parts of it depend on the SAX for Pascal interface
specifications. // <em>Seems dead.</em></p></li>
<li><p><a href="http://sourceforge.net/projects/tpxmlpartner">XML
Partner</a>. Helps add the power of XML to Borland Delphi, C++ Builder,
and Kylix projects through native, easy to use VCL and CLX components.
These powerful components simplify the process of creating, modifying,
and parsing XML data documents. // <em>Seems dead, check out <a
href="http://www.songbeamer.com/delphi">this</a> page for probably newer
version.</em></p></li>
<li><p><a href="http://www.philo.de/xml/downloads.shtml">Open XML</a>.
Provides a wide range of methods, components and foundation classes. It
can be used for Win32/Kylix as well as for .NET development.</p></li>
<li><p><a
href="https://github.com/hgourvest/superobject">SuperObject</a>.
Parser/writer for JSON data format. This toolkit is designed to work
with Delphi and FreePascal (win32, win64, linux32, linux64, MacOSX
Intel). Supports reading/writing XML as well.</p></li>
<li><p><a href="https://sourceforge.net/projects/libxml2-pas">Libxml2
for pascal</a>. Pascal units accessing the popular XML API from Daniel
Veillard. This should be usable at least from Kylix and Delphi, but
hopefully also from other Pascal compilers (like freepascal).</p></li>
<li><p><a href="https://code.google.com/p/simdesign">NativeXml</a>. This
component contains a small-footprint Object Pascal (Delphi) XML
implementation that allows to read and write XML documents. You
basically only need one unit and you can simply add it to the “uses”
clause. You can use this software to read XML documents from files,
streams or strings. The load routine generates events that can be used
to display load progress on the fly. You can also use it to create and
save XML documents.</p></li>
<li><p><a
href="https://github.com/the-Arioch/Delphi-XmlLite">Delphi-XmlLite</a>.
Header translation for Microsoft XmlLite. XmlLite is a native C++
implementation of .NET XmlReader+Writer for stream-based, forward-only
XML parsing and creation. XmlLite.dll is required. It is included with
all new versions of Windows, and service packs for old versions.
XmlReaders pull-based interface is cleaner to use than SAXs
event-based interface. // <em>Seems abandoned and reported to be
somewhat buggy.</em></p></li>
<li><p><a href="https://bitbucket.org/sivv/chimera">Chimera</a>. Open
Source (MIT License) library for Delphi XE2 which provides a fast and
cross platform JSON generator/parser (serializer/deserializer) under a
license that doesnt suck.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynCommons.pas">SynCommons</a>.
High speed JSON library, using <code>TDocVariant</code> custom variant
type for storage and access.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/CrossPlatform/SynCrossPlatformJSON.pas">SynCrossPlatformJSON</a>.
High speed cross-platform JSON library, using <code>TJSONVariant</code>
custom variant type for storage and access.</p></li>
<li><p><a href="https://github.com/ahausladen/JsonDataObjects">Json Data
Objects</a>. This Delphi unit contains a JSON parser that supports
Delphi 2009-10Seattle and the platforms Win32, Win64 and ARM Android
(MacOS and iOS may work).</p></li>
<li><p><a href="http://sourceforge.net/projects/tinyjson">TinyJSON</a>.
This is a small (about 1600 lines of code) unit for Delphi, which
realizes parsing and generating JSON format. Can be used in combination
with FastMM and FastCode for even faster speed.</p></li>
<li><p><a href="http://sourceforge.net/projects/lkjson">JSON delphi
library</a>. This is a delphi library implementing JSON. Lightweight and
fast.</p></li>
<li><p><a
href="https://bitbucket.org/egrange/dwscript/src/b9f99d4b8187defac3f3713e2ae0f7b83b63d516/Source/dwsJSON.pas?at=master">dwsJSON</a>.
dwsJSON is a unit that supports JSON parsing/creating, its part of
DWScript but relatively “standalone”, in that if you add it in your
Delphi (or FPC) projects, it wont pull the whole of DWScript library,
and thus can be used anywhere you need.</p></li>
<li><p><a href="#general-libraries">Fundamentals Code Library</a>. JSON,
XML.</p></li>
<li><p><a href="#general-libraries">Alcinoe</a>. XML/JSON
Parser.</p></li>
<li><p><a
href="https://bitbucket.org/OCTAGRAM/delphi-yaml">delphi-yaml</a>.
Delphi 7 compatible bindings for libyaml, YAML parser and emitter
library implemented in C. Four layers of bindings are proposed.</p></li>
<li><p><a href="#general-libraries">GrijjyFoundation</a>.
JSON/BSON.</p></li>
<li><p><a
href="https://github.com/Dennis1000/verysimplexml">VerySimpleXML</a>.
Lightweight, one-unit, cross-platform XML reader/writer for Delphi 2010
- 10.2.2 Tokyo</p></li>
<li><p><a
href="https://github.com/onryldz/x-superobject">XSuperObject</a>. Delphi
Cross Platform Rapid JSON</p></li>
</ul>
<h2 id="language">Language</h2>
<p><em>Tools for Pascal and other languages</em></p>
<ul>
<li><p><a href="https://github.com/RomanYankovsky/ndyacclex">Next Delphi
Yacc &amp; Lex</a>. Parser generator toolset for Delphi.</p></li>
<li><p><a href="https://github.com/RomanYankovsky/DelphiAST">Abstract
Syntax Tree Builder</a>. With DelphiAST you can take real Delphi code
and get an abstract syntax tree. One unit at time and without a symbol
table though.</p></li>
<li><p><a
href="https://github.com/jacobthurman/Castalia-Delphi-Parser">Castalia-Delphi-Parser</a>.
These files make up a hand-written high speed parser for the Object
Pascal dialect known as “Delphi”. The original work was done by Martin
Waldenburg in the late 1990s, and the project was abandoned sometime
before 2003, when I found the code and began working on it. I have kept
it updated as necessary to work with my project, called
“Castalia”.</p></li>
<li><p><a
href="https://github.com/BeRo1985/crosspascal">CrossPascal</a>. Aims to
be a Delphi 7 compatible cross-platform source-to-source compiler
(together with the new unicode string types from XE3 but where
ansistring is still the default string type for to be still Delphi 7
compatible) which generates intermediate C code. // <em>Quite
interesting project though seems abandoned</em></p></li>
</ul>
<h2 id="memory-managers">Memory managers</h2>
<p><em>Libraries that implement dynamic memory allocation</em></p>
<ul>
<li><p><a href="https://github.com/pleriche/FastMM4">FastMM</a>.
Lightning fast replacement memory manager for Embarcadero Delphi Win32
and Win64 applications that is not prone to memory fragmentation, and
supports shared memory without the use of external .DLL files. //
<em>Used as stock memory manager since 2006 but in simplified version.
Provides powerful memory leak/corruption detection
instruments.</em></p></li>
<li><p><a href="https://github.com/andremussche/scalemm">ScaleMM</a>.
Fast scaling memory manager for Delphi</p></li>
<li><p><a href="https://github.com/d-mozulyov/BrainMM">BrainMM</a>.
Extremely fast memory manager for Delphi. // <em>Advanced memory
allocation functions for faster aligned operations.</em></p></li>
</ul>
<h2 id="system">System</h2>
<p><em>Low-level helper stuff: memory, threading etc</em></p>
<ul>
<li><p><a
href="https://github.com/gabr42/OmniThreadLibrary">OmniThreadLibrary</a>.
Simple to use threading library for Delphi. // <em>Easy integration of
async processes in your app</em></p></li>
<li><p><a
href="https://github.com/mahdisafsafi/delphi-detours-library">Delphi
Detours Library</a>. Library allowing you to hook Delphi functions and
object methods and Windows API functions. It provides an easy way to
insert and remove hook. // <em>Supports x64, calling original functions,
multi hooks, COM/Interfaces/win32api, object methods hooking, fully
thread-safe, Delphi 7/2005-2010/XE-XE7 &amp; Lazarus/FPC, 64 bit address
is supported.</em></p></li>
<li><p><a
href="https://github.com/Fr0sT-Brutal/Delphi_MemoryModule">MemoryModule</a>.
With the MemoryModule engine you can store all required DLLs inside your
binary to keep it standalone. Additional hook units allow transparent
using of MM engine thus allowing switching MM/WinAPI loading as well as
enabling 3rd party dynamic-load DLL interfaces that are unaware of MM
(tested with Interbase Express components and Firebird client library).
MemoryModule is a Pascal port of Joachim Bauchs C
MemoryModule.</p></li>
<li><p><a
href="https://github.com/Wosi/DirectoryWatcher">DirectoryWatcher</a>.
Watch changes in directories on different platforms (Windows/Linux/Mac
OS).</p></li>
</ul>
<h2 id="template">Template</h2>
<p><em>Engines to generate text output based on templates</em></p>
<ul>
<li><p><a href="https://github.com/synopse/dmustache">SynMustache</a>.
Delphi implementation of the Mustache template language, supporting
Delphi 6 up to Delphi 10 Seattle (and FPC/Lazarus compilation).</p></li>
<li><p><a href="http://sourceforge.net/projects/delphi-templeng">Delphi
Template Engine</a>. Template engine designed to be used as a library in
Delphi (mainly Delphi 7) applications, allowing developers to use
templating on their software with no worry about implementing
it.</p></li>
</ul>
<h2 id="logging">Logging</h2>
<ul>
<li><p><a href="https://github.com/landrix/Log4d-for-Delphi">Log4d</a>.
Implementation of logging system for Delphi, based on Log4j.</p></li>
<li><p><a href="http://tracetool.sourceforge.net/">TraceTool</a>. C#,
C++, Delphi, ActiveX and Java trace framework and a trace
viewer.</p></li>
<li><p><a href="https://github.com/danieleteti/loggerpro">LoggerPro</a>.
A modern and pluggable logging framework for Delphi.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynLog.pas">SynLog</a>.
Logging functions used by Synopse projects.</p></li>
<li><p><a href="https://github.com/michaelJustin/slf4p">slf4p</a>. A
simple logging facade with support for LazLogger, Log4D, and other
logging frameworks.</p></li>
<li><p><a
href="https://github.com/grijjy/GrijjyCloudLogger">GrijjyCloudLogger</a>.
Remote logging tool that allows you to send log messages over the
Intranet or Internet from Windows, Linux, iOS, Android and macOS devices
to a viewer running on Windows. Besides sending messages along with any
data, it has numerous features including custom live watches, remote
live views of objects, tracking live memory usage, object allocations,
growth leaks and more.</p></li>
<li><p><a href="https://github.com/exilon/QuickLogger">QuickLogger</a>.
Delphi/freepascal/.NET (Windows/Linux) library for logging on files,
console, memory, email, rest, telegram, slack, eventlog, redis, ide
debug messages and throw events..</p></li>
</ul>
<h2 id="math">Math</h2>
<ul>
<li><p><a href="https://github.com/benibela/bigdecimalmath">Big Decimal
Math</a>. This unit provides a arbitrary precision BCD float number
type. It can be used like any numeric type and supports: At least
numbers between 10-2147483647 to 102147483647 with 2147483647 decimal
digit precision; All standard arithmetic and comparison operators;
Rounding functions (floor, ceil, to-even, ..); Some more advanced
operations, e.g. power and sqrt.</p></li>
<li><p><a href="https://github.com/Xor-el/IntXLib4Pascal">TIntX</a>.
Pascal port of IntX arbitrary precision Integer library with fast, about
O(N * log N) multiplication/division algorithms implementation. It
provides all the basic arithmetic operations on Integers, comparing,
bitwise shifting etc. It also allows parsing numbers in different bases
and converting them to string, also in any base. The advantage of this
library is its fast multiplication, division and from base/to base
conversion algorithms. all the fast versions of the algorithms are based
on fast multiplication of big Integers using Fast Hartley Transform
which runs for O(N * log N * log log N) time instead of classic
O(N^2).</p></li>
<li><p><a
href="https://github.com/Xor-el/DelphiBigNumberXLib">DelphiBigNumberXLib</a>.
Arbitrary Precision Library for Delphi with Support for Integer and
Floating Point Computations.</p></li>
<li><p><a href="https://github.com/neslib/FastMath">FastMath</a>. Delphi
math library that is optimized for fast performance (sometimes at the
cost of not performing error checking or losing a little accuracy). It
uses hand-optimized assembly code to achieve much better performance
then the equivalent functions provided by the Delphi RTL. //
<em>Floating-point, vector, matrix operations.</em></p></li>
<li><p><a
href="http://www.wolfgang-ehrhardt.de/misc_en.html#mparith">MPArith</a>.
Multi precision integer, rational, real, and complex
arithmetic.</p></li>
<li><p><a
href="http://www.wolfgang-ehrhardt.de/misc_en.html#amath">AMath</a> and
<a
href="http://www.wolfgang-ehrhardt.de/misc_en.html#damath">DAMath</a>.
Accurate mathematical methods without using multi precision arithmetic
and double precision accurate mathematical methods without using multi
precision arithmetic or assembler respectively.</p></li>
</ul>
<h2 id="other-non-visual">Other non-visual</h2>
<ul>
<li><p><a href="https://github.com/ashumkin/RegExpr">TRegExpr</a>. Easy
to use and powerful tool for sophisticated search and substitutioning
and for template-based text input check. // <em>Abandoned since 2004 but
unlike stock RAD Studio implementation doesnt use PCRE obj files that
add dependency on msvcrt.dll</em></p></li>
<li><p><a href="https://github.com/BeRo1985/flre">FLRE</a>. FLRE ( F ast
L ight R egular E xpressions) is a fast, safe and efficient regular
expression library, which is implemented in Object Pascal (Delphi and
Free Pascal) but which is even usable from other languages like C/C++
and so on.</p></li>
<li><p><a href="http://sourceforge.net/projects/tponguard">OnGuard</a>
(<a href="https://github.com/TurboPack/OnGuard-VCL">Alternate</a> and
maintained version for recent compiler version only). Library to create
demo versions of your Borland Delphi &amp; C++Builder applications.
Create demo versions that are time-limited, feature-limited, limited to
a certain number of uses, or limited to a certain # of concurrent
network users. // <em>Second link points to an adapted version for
newest compiler versions.</em></p></li>
<li><p><a
href="https://github.com/chaosben/theunknownones">StringSimilarity</a>.
Package designed for some fuzzy and phonetic string comparison
algorithms. So far implemented are the following algorithms:
DamerauLevenshtein, Koelner Phonetik, SoundEx, Metaphone,
DoubleMetaphone, NGram, Dice, JaroWinkler, NeedlemanWunch,
SmithWatermanGotoh, MongeElkan.</p></li>
<li><p><a href="https://code.google.com/p/pubsubchimera">PubSub
Chimera</a>. Open Source (MIT License) library for Delphi which provides
a fast and cross platform PubSub and Message Queue implementation under
a license that doesnt suck.</p></li>
<li><p><a
href="https://code.google.com/p/duckduckdelphi">DuckDuckDelphi</a>. Adds
simple duck typing to Delphi Objects and provides an RTTI helper class
to simplify many common RTTI tasks.</p></li>
<li><p><a href="https://github.com/quartexNOR/byterage">byterage</a>.
Object pascal class library designed to remove some of the limitations
of streams. The framework is very simple to use, with only one common
ancestor class (TBRBuffer) which defines a set of storage agnostic
mechanisms for allocating, scaling, inserting, deleting and otherwise
manipulating a segment of raw binary data.</p></li>
<li><p><a href="https://github.com/SirRufo/stateless">stateless</a>.
Simple library for creating state machines in Delphi code.</p></li>
<li><p><a
href="https://github.com/davidberneda/GenericTree">GenericTree</a>.
Delphi implementation of a generic Tree structure.</p></li>
<li><p><a href="https://github.com/spinettaro/delphi-event-bus">Delphi
Event Bus</a> (for short DEB). Event Bus framework for Delphi.</p></li>
<li><p><a
href="https://github.com/BitecSPB/DelphiEventBus">DelphiEventBus</a>.
Yet another Event Bus framework for Delphi, with annotations and rich
event filtering.</p></li>
<li><p><a
href="https://github.com/thecocce/delphi-hibernate">DHibernate</a>.
Object Persistent Framework based on Hibernate and NHibernate for
Delphi. // <em>Abandoned since 2012</em></p></li>
<li><p><a href="https://github.com/d-mozulyov/UniConv">UniConv</a>.
Universal text conversion library is a universal quick and compact
library intended for conversion, comparison and change of the register
of text in concordance with the latest standards of the Unicode
Consortium. The librarys function greatly resembles ICU, libiconv and
Windows.kernel which are de facto standard for popular operating
systems.</p></li>
<li><p><a
href="https://github.com/d-mozulyov/CachedBuffers">CachedBuffers</a>.
The library is irreplaceable for the tasks of sequential data reading or
writing, especially if the requirements for the performance are
increased and there are much data.</p></li>
<li><p><a
href="https://github.com/d-mozulyov/CachedTexts">CachedTexts</a>.
Powerful and compact cross-platform library aimed at parsing and
generating of text data with the maximum possible performance. Depends
on the two other libraries: CachedBuffers and UniConv.</p></li>
<li><p><a href="https://github.com/Avemey/zexmlss">ZEXMLSS</a>.
Lazarus/Delphi component for read/write ods, excel xml, xlsx.</p></li>
<li><p><a href="https://github.com/BeRo1985/pasmp">PasMP</a>.
Parallel-processing/multi-processing library for Object Pascal.</p></li>
<li><p><a
href="https://github.com/benibela/rcmdline">TCommandLineReader</a>. This
unit provides an advanced, platform-independent command line parser for
Lazarus and Delphi. It checks for allowed options, automatically prints
a help with a list of all of them, and - contrary to the parser in the
rtl - behaves the same on Windows and Linux.</p></li>
<li><p><a href="http://www.crossgl.com/icu4pas/index.html">ICU4PAS</a>.
Object Pascal, cross platform, Direct Class Wrapper over the mature and
widely used set of C/C++ ICU libraries providing Unicode support,
software internationalization (i18n) and globalization (g11n), giving
applications the same results on all platforms. You can use it on
Windows with Delphi and FreePascal and on Linux with Kylix and
FreePascal. // <em>Hadnt been updated since 2007 but ICU interface
probably remains the same…</em></p></li>
<li><p><a
href="https://github.com/VSoftTechnologies/VSoft.CommandLineParser">CommandLineParser</a>.
Simple Command Line Options Parser - spawned from the DUnitX
Project.</p></li>
<li><p><a
href="https://github.com/gabr42/GpDelphiUnits/blob/master/src/GpCommandLineParser.pas">GpCommandLineParser</a>.
Attribute based command line parser.</p></li>
<li><p><a
href="https://github.com/gabr42/GpDelphiUnits">GpDelphiUnits</a>.
Collection of useful Delphi units. Various TList descendants,
TList-compatible, and TList-similar classes. Dynamically allocated, O(1)
enqueue and dequeue, threadsafe, microlocking queue. Interface to 64-bit
file functions with some added functionality. String hash, table and
dictionary. Collection of Win32/Win64 wrappers and helper functions.
Time Zone Routines. Embedded file system.</p></li>
<li><p><a
href="https://github.com/Xor-el/BaseNcodingPascal">BaseNcodingPascal</a>.
Library for encoding of binary data into strings using base32, base85,
base128 and other algorithms for FPC and Delphi.</p></li>
<li><p><a
href="https://github.com/Xor-el/ByteSizeLibPascal">ByteSizeLibPascal</a>.
TByteSize is a utility “record” that makes byte size representation in
code easier by removing ambiguity of the value being
represented.</p></li>
<li><p><a
href="https://github.com/Xor-el/EmailValidationPascal">EmailValidationPascal</a>.
Simple Class for Validating Email Address Syntax in
Pascal/Delphi.</p></li>
<li><p><a
href="http://www.wolfgang-ehrhardt.de/misc_en.html#prng">PRNG</a>. Seven
fast pseudo random number generators with period lengths much greater
than Pascals random function. All are implemented with context records,
therefore several independent generators can be used simultaneously,
they are not cryptographically secure. In addition there are three
cryptographic generators.</p></li>
<li><p><a
href="https://www.codeproject.com/Tips/783493/Delphi-CSV-File-and-String-Reader-Classes">CSV
File and String Reader</a>. TnvvCSVFileReader and TnvvCSVStringReader
are light weighted and fast classes that resemble unidirectional data
set.</p></li>
<li><p><a
href="https://github.com/guitorres/htmlbuilder">HTMLBuilder</a>. Build
simplified html with pascal code.</p></li>
<li><p><a href="https://github.com/marvinbraga/Marvin.IA">Marvin.IA</a>.
Machine learning collection of object-oriented Pascal primitives (only
interfaces and classes).</p></li>
</ul>
<h2 id="os">OS</h2>
<p><em>Tools that help dealing with OS-specific internals</em></p>
<ul>
<li><p><a href="http://sourceforge.net/projects/glibwmi">GLibWMI</a>.
Component Library for Delphi that encapsulate the classes for access to
WMI of Windows in a set of VCL. BiosInfo, PrinterInfo, DiskInfo,… Allow
access WMI Classes: WIN32_Bios, WIN32_Printers,
WIN32_DiskDrive.</p></li>
<li><p><a
href="https://github.com/AlexanderBagel/ProcessMemoryMap/tree/master/MemoryMap">MemoryMap</a>.
Set of classes to get all the info about a memory of a running
process.</p></li>
<li><p><a
href="https://github.com/DelphiPraxis/The-Drag-and-Drop-Component-Suite-for-Delphi">The
new Drag and Drop Component Suite</a>. VCL component library that
enables your Delphi and C++Builder applications to support COM based
drag and drop and integrate with the Windows clipboard.</p></li>
<li><p><a href="https://github.com/RRUZ/tsmbios">TSMBIOS</a>. Allows
access the System Management BIOS (SMBIOS) using the Object Pascal
language (Delphi or Free Pascal). The SMBIOS (System Management BIOS) is
a standard developed by the DMTF. The information stored in the SMBIOS
includes devices manufacturer, model name, serial number, BIOS version,
asset tag, processors, ports and device memory installed.</p></li>
<li><p><a href="http://melander.dk/articles/versioninfo">VersionInfo for
Delphi</a>. The library makes it very easy to read values from the
Version Info resource of Windows executables and DLLs. Optionally
extends the TApplication class with a version info property via class
helper.</p></li>
<li><p><a href="http://www.magsys.co.uk/delphi/magwmi.asp">Magenta
Systems WMI and SMART Component</a>. Contains WMI, SMART and SCSI
PassThrough functions, of particular use for getting hard disk
information and configuring network adaptors, but also for many other
general uses. MagWMI provides general view access to any WMI information
using SQL like commands, and also a number of dedicated function
relating to TCP/IP configuration, such as setting the adaptor IP
addresses, the computer name, domain/workgroup, BIOS and disk drive
information.</p></li>
<li><p><a href="http://help.madshi.net/madKernel.htm">madKernel</a>. The
package is about Kernel Objects for the biggest part. The most important
object types are wrapped up in interfaces, utilizing all the specific
kernel32 APIs. Has interface wrappers for: Events, Mutexes, Threads,
Processes, Windows, Modules, Tray Icons, shared memory buffers. //
<em>Free with source for non-commercial usage (only) with some <a
href="http://help.madshi.net/License.htm">conditions</a>. Available to
download as part of <code>madCollection</code> installer. Pretty well
documented. Requires <code>madBasic</code> package.</em></p></li>
<li><p><a href="http://help.madshi.net/madSecurity.htm">madSecurity</a>.
The package makes it easily possible to handle Shares and other Security
Objects like file security or registry security. To be able to do so,
this package also features functionality around Accounts and ACEs and
ACLs. // <em>Free with source for non-commercial usage (only) with some
<a href="http://help.madshi.net/License.htm">conditions</a>. Available
to download as part of <code>madCollection</code> installer. Pretty well
documented. Requires <code>madBasic</code> package.</em></p></li>
<li><p><a href="http://help.madshi.net/madShell.htm">madShell</a>. The
package implements often needed shell functionality, beginning with
Special Folders like the “Windows” folder or the “Program Files” folder,
continuing with Shell ID Lists, Shell Objects and Shell Events. Then
youll find functionality around ShortCuts/ShellLinks and finally
everything about Display Modes. // <em>Free with source for
non-commercial usage (only) with some <a
href="http://help.madshi.net/License.htm">conditions</a>. Available to
download as part of <code>madCollection</code> installer. Pretty well
documented. Requires <code>madBasic</code> package.</em></p></li>
</ul>
<h2 id="report-generating">Report generating</h2>
<ul>
<li><p><a href="http://reportman.sourceforge.net/">Report Manager</a>.
Report manager is a reporting application (Report Manager Designer) and
a set of libraries and utilities to preview, export or print reports.
Include native .Net and Delphi/C++Builder libraries, ActiveX component
and also standard dynamic link library for use in any language like GNU
C.</p></li>
<li><p><a
href="https://github.com/fortesinformatica/fortesreport-ce">FortesReport</a>.
The FortesReport is a powerful report generator available as a package
of components for Delphi.</p></li>
</ul>
<h2 id="unit-testing">Unit Testing</h2>
<ul>
<li><p><a href="https://github.com/VSoftTechnologies/DUnitX">DUnitX</a>.
New test framework, taking ideas from DUnit, NUnit and other test
frameworks. It is designed to work with Delphi 2010 or later, it makes
use of language/RTL features that are not available in older versions of
Delphi.</p></li>
<li><p><a href="http://dunit.sourceforge.net">DUnit</a>. Unit Testing
Framework, that has been the standard testing framework for years, the
Delphi IDE now ships with this library. // <em>Included since XE,
deprecated since XE8 in favor of DUnitX; seems abandoned.</em></p></li>
<li><p><a href="http://dunit2.sourceforge.net">DUnit2</a>. Fork of the
DUnit Project that adds several new features. // <em>Seems abandoned,
lacks some features from last DUnit version.</em></p></li>
<li><p><a
href="https://github.com/RomanYankovsky/DelphiSpec">DelphiSpec</a>.
Library for running automated tests written in plain language. Because
theyre written in plain language, they can be read by anyone on your
team. Because they can be read by anyone, you can use them to help
improve communication, collaboration and trust on your team.</p></li>
<li><p><a
href="https://github.com/VSoftTechnologies/Delphi-Mocks">Delphi-Mocks</a>.
Simple mocking framework for Delphi XE2 or later. Allow you to mock both
classes and interfaces for testing.</p></li>
<li><p><a
href="https://github.com/VSoftTechnologies/DUnit-XML">DUnit-XML</a>.
Test runner that allows DUnit Tests to output NUnit compatible
XML.</p></li>
<li><p><a
href="https://github.com/deltics/delphi.libs/tree/master/smoketest">Smoketest</a>.
Framework for writing tests and performance benchmarks using the Delphi
language for Microsoft Windows. It has been tested on all versions of
Delphi from 7 thru to 2010.</p></li>
<li><p><a
href="https://github.com/synopse/mORMot/blob/master/SynTests.pas">SynTests</a>.
Unit test functions including mocks and stubs.</p></li>
<li><p><a href="http://openctf.sourceforge.net">OpenCTF</a>. Test
framework add-on for Embarcadero Delphi which performs automatic checks
of all components in Forms (or DataModules). It provides an easy way to
build automatic quality checks for large projects where many components
have to pass repeated tests. OpenCTF is based on the DUnit open source
test framework and extends it by specialized test classes and helper
functions.</p></li>
<li><p><a
href="https://github.com/jhc-systems/DelphiUIAutomation">DelphiUIAutomation</a>.
Delphi classes that wrap the MS UIAutomation library. DelphiUIAutomation
is a framework for automating rich client applications based on Win32
(and specifically tested with Delphi XE5). It is written in Delphi XE5
and it requires no use of scripting languages. It provides a consistent
object-oriented API, hiding the complexity of Microsofts UIAutomation
library and windows messages.</p></li>
</ul>
<h2 id="debugging-error-handling">Debugging / error handling</h2>
<ul>
<li><p><a
href="https://bitbucket.org/shadow_cs/delphi-leakcheck/">Delphi
LeakCheck</a> is a free code library to check the memory leaks in the
DUnit and DUnit2 tests. Supports Delphi XE-XE7.</p></li>
<li><p><a href="#memory-managers">FastMM</a>. Provides powerful memory
leak/corruption detection instruments.</p></li>
<li><p><a
href="https://github.com/project-jedi/jcl/blob/master/jcl/source/windows/JclDebug.pas">JclDebug
(part of Project JEDI)</a>. Tracing, MAP file parser, exception report
generation, exception stack traces.</p></li>
</ul>
<h2 id="utilities">Utilities</h2>
<p><em>Free non-opensource products allowed here.</em></p>
<h2 id="ide-pluginswizards">IDE plugins/wizards</h2>
<ul>
<li><p><a href="https://github.com/rruz/delphi-ide-theme-editor">Delphi
IDE theme editor / Delphi IDE Colorizer</a>. Tool to change the IDE
color highlighting of several Object Pascal IDEs like Delphi (RAD
Studio), Appmethod, Lazarus and Smart Mobile Studio. DITE supports
Delphi 5-7, 2005-2010, XE-XE8, Appmethod 1.13-1.14, Lazarus v1.0.1.3 and
Smart Mobile Studio IDE v1.1.2.17. The Delphi IDE Colorizer (DIC) is a
plugin which allows to customize the look and feel of the workspace of
the RAD Studio IDE and Appmethod.</p></li>
<li><p><a
href="http://andy.jgknet.de/blog/ide-tools/ddevextensions">DDevExtensions</a>.
Extends the Delphi/C++Builder IDE by adding some new productivity
features // <em>Many useful IDE tweaks, must have.</em></p></li>
<li><p><a
href="http://andy.jgknet.de/blog/bugfix-units/vclfixpack-10">VCL Fix
Pack</a>. Delphi unit that fixes VCL and RTL bugs at runtime by patching
the original functions. If you want all IDE Fix Pack fixes in your
application this unit is what you are looking for. Adding the unit to
your project (Delphi and C++Builder) automatically installs the patches
that are available for your Delphi/C++Builder version. // <em>Actual for
Delphi/C++ 6..2009</em></p></li>
<li><p><a href="http://andy.jgknet.de/blog/ide-tools/ide-fix-pack">IDE
Fix Pack</a>. Collection of unofficial bug fixes and performance
optimizations for the RAD Studio IDE, Win32/Win64 compiler and Win32
debugger. IDE Fix Pack is an IDE plugin for RAD Studio 2009-XE6 that
fixes IDE bugs at runtime. All changes are done in memory. No files on
disk are modified. None of your projects are modified or benefit from
the IDE Fix Pack other than being compiled faster. Only the IDE gets the
fixes and optimizations. // <em>Supports all RAD Studio versions since
2007. Removes lots of annoying bugs that EMBT havent fixed for years.
Yay!</em></p></li>
<li><p><a href="https://sourceforge.net/projects/gexperts">GExperts</a>.
Free set of tools built to increase the productivity of Delphi and
C++Builder programmers by adding several features to the IDE. GExperts
is developed as Open Source software and we encourage user contributions
to the project. Grep search and replace supporting unicode files, DFMs,
etc; Automatically rename components, insert text macros, open recent
files; Easily backup your projects, with custom additional file lists;
Keep nested lists of favorite files for quick access; Track dependencies
between units in your project; Quickly jump to any procedure in the
current unit; And much, much more…</p></li>
<li><p><a href="https://github.com/cnpack">CnWizards</a>. Free Plug-in
Tool Set for Delphi/C++ Builder/CodeGear RAD Studio to Improve
Development Efficiency.</p></li>
<li><p><a href="https://bitbucket.org/idursun/delphipi">Delphi Package
Installer (DelphiPI)</a>. Tool which aids you installing components to
your Delphi IDE. DelphiPI automatically resolves dependencies between
packages, compiles, installs and adds source paths to your IDE.</p></li>
<li><p><a href="https://github.com/chaosben/theunknownones">ResEd</a>.
Expert for Delphi 2005, 2006, 2007, 2009, 2010 and XE. This expert is
designed for editing the resource files (.res; .resx) that are linked to
the active project. It will automatically search for all occurrences of
{$R xyz.res} lines and will open/create resourcefiles for them. The
expert registers itself in the menubar of Delphi under View.</p></li>
<li><p><a href="https://parnassus.co/delphi-tools/bookmarks">Parnassus
Bookmarks</a>. IDE plugin that extends bookmark functionality.</p></li>
<li><p><a
href="https://github.com/Arvur/DelphiSettingManager">DelphiSettingManager</a>.
Multiple IDE profiles for Delphi (up to XE6). Allows to install multiple
versions of the same component or different component sets for different
projects.</p></li>
<li><p><a href="https://github.com/Memnarch/Delphinus">Delphinus</a>.
New Packagemanager which runs on Delphi XE and newer and uses Github as
a Backend to Provide the packages.</p></li>
<li><p><a href="https://parnassus.co/delphi-tools/bookmarks">Parnassus
Bookmarks</a>. IDE plugin that extends bookmark functionality.</p></li>
<li><p><a
href="https://bitbucket.org/sglienke/testinsight/wiki/Home">TestInsight</a>.
Unit testing IDE Plugin for Delphi. It supports all versions from XE to
10 Seattle. Supports DUnit, DUnit2, DUnitX frameworks.</p></li>
<li><p><a href="https://github.com/DGH2112/Delphi-IDE-Explorer">Delphi
IDE Explorer</a>. Wizard / expert / plugin that allows you to browser
the internal fields, methods, properties and events of the IDE. //
<em>Mainly useful for developers of IDE experts</em></p></li>
<li><p><a
href="http://www.davidghoyle.co.uk/WordPress/?page_id=1361">Multi-RAD
Studio IDE Expert Manager</a>. Application is for editing the installed
experts in all versions of RAD Studio (and older Delphi and C++ Builder)
on a machine.</p></li>
<li><p><a href="https://github.com/DGH2112/OTA-Interface-Search">OTA
Interface Search</a>. Application helps to find Open Tools API (OTA)
interfaces, methods and properties and understand how to get to those
interfaces or methods / properties of the interfaces.</p></li>
<li><p><a href="https://github.com/DGH2112/Auto-Save">AutoSave</a>.
Expert that periodically auto saves all the open modified IDE
files.</p></li>
<li><p><a
href="http://www.davidghoyle.co.uk/WordPress/?page_id=872">Browse and
Doc It</a>. Plug-in allows you to document and browse your code from
within the IDE.</p></li>
<li><p><a
href="http://www.davidghoyle.co.uk/WordPress/?page_id=874">Integrated
Testing Helper</a>. Plugin for Delphi and RAD Studio that allows you to
run command-line application before and after the compilation of you
projects. It also provides the ability to zip you projects files into an
archive on each compile/build and manage the applications version
information.</p></li>
<li><p><a
href="https://www.uweraabe.de/Blog/2018/05/17/keep-your-project-files-clean-with-project-magician">Project
Magician</a>. Wizard for advanced project options manipulation.</p></li>
<li><p><a
href="http://www.uweraabe.de/Blog/2015/05/08/selective-debugging/">Selective
Debugging</a>. Wizard that allows to tune for which units their debug
version will be used.</p></li>
<li><p><a href="https://www.mmx-delphi.de">MMX Code Explorer</a>.
Feature-rich productivity enhancing plugin. Includes refactoring, class
browser, advanced editing, metrict and many more.</p></li>
<li><p><a
href="http://chapmanworld.com/2017/03/22/formresource-a-free-delphi-component-for-organizing-product-dependencies">FormResource</a>.
Wizard that helps storing various data as form resources.</p></li>
<li><p><a
href="https://github.com/littleearth/delphi-library-helper">Delphi
Library Helper</a> Tool to assist Delphi developers configuring library
folders.</p></li>
<li><p><a
href="https://github.com/littleearth/mobile-image-creator">Mobile Image
Creator</a> Creating Icons and Launcher Images for Delphi Mobile
Applications (Firemonkey). This is a fork of Mobile Gfx created by <a
href="http://riversoftavg.com/blogs/index.php/2014/02/03/creating-icons-and-launchers-for-delphi-mobile-applications/">Thomas
Grubb of RiverSoftAVG</a>.</p></li>
</ul>
<h2 id="documentation">Documentation</h2>
<ul>
<li><p><a href="https://github.com/synopse/SynProject">SynProject</a>
(<a href="http://synopse.info/fossil/wiki?name=SynProject">docs</a>).
Tool for code source versioning and automated documentation of Delphi
projects.</p></li>
<li><p><a href="https://sourceforge.net/projects/pasdoc">PasDoc</a>.
Documentation tool for ObjectPascal (FreePascal and Delphi) source code.
Documentation is generated from comments found in source code. Available
output formats are HTML, HtmlHelp, LaTeX, latex2rtf, simplexml. More
output formats may be added in the future.</p></li>
<li><p><a
href="http://www.yunqa.de/delphi/products/pasdoc/index">DIPasDoc</a>.
Generates HTML documentation from comments in Pascal source code files.
It outputs browsable help as standard HTML files or customizable MS HTML
Help projects.</p></li>
</ul>
<h2 id="code-checkreview-debug">Code check/review, debug</h2>
<ul>
<li><p><a
href="https://github.com/ase379/gpprofile2017">GpProfiler2017</a>.
Source code instrumenting profiler for Delphi XE and higher. Other forks
support older versions.</p></li>
<li><p><a
href="https://www.delphitools.info/samplingprofiler">SamplingProfiler</a>.
Performance profiling tool for Delphi 5 to 32bits Delphi XE4. Its
purpose is to help locate bottlenecks, even in final, optimized code
running at full-speed.</p></li>
<li><p><a
href="https://sourceforge.net/projects/delphicodecoverage">Delphi Code
Coverage</a>. Simple Code Coverage tool for Delphi that creates code
coverage reports based on detailed MAP files.</p></li>
<li><p><a href="http://www.peganza.com/products_pal.html">Pascal
Analyzer</a> (free Lite version available). Pascal Analyzer, or PAL for
short, parses Delphi or Borland Pascal source code. It builds large
internal tables of identifiers, and collects other information such as
calls between subprograms. When the parsing is completed, extensive
reports are produced. These reports contain a great deal of important
information about the source code. This information will help you
understand your source code better, and assist you in producing code of
higher quality and reliability.</p></li>
<li><p><a href="http://madshi.net/madExceptShop.htm">madExcept</a>.
madExcept was built to help you locate bugs in your software. Whenever
theres a crash/exception in your program, madExcept will automatically
catch it, analyze it, collect lots of useful information, and give the
end user the possibility to send you a full bug report. madExcept is
also able to find memory leaks, resource leaks and buffer overruns for
you. // <strong>Free </strong>without source** for non-commercial usage
(only) with some <a
href="http://help.madshi.net/License.htm">conditions</a>. Available to
download as part of <code>madCollection</code> installer (youll need to
install <code>madExcept</code> item). Pretty well documented.*</p></li>
</ul>
<h2 id="setup">Setup</h2>
<ul>
<li><p><a
href="https://bitbucket.org/tdelphi/lazy-delphi-builder-downloads">Lazy
Delphi Builder</a>. Build tool for Delphi. Recompile projects/packages
from sources with all dependencies, without need to mess around with
configs. Quickly (re-)install components from sources into IDE, with no
need to change your Library Path. // <em>Powerful automating tool.
Freeware but not open source</em></p></li>
<li><p><a href="http://www.jrsoftware.org/isinfo.php">Inno Setup</a>.
Free installer for Windows programs. First introduced in 1997, Inno
Setup today rivals and even surpasses many commercial installers in
feature set and stability.</p></li>
<li><p><a href="https://winsparkle.org">WinSparkle</a> and its <a
href="https://github.com/jkour/neSparkleComponent">Delphi wrapper</a>.
WinSparkle is an easy-to-use software update library for Windows
developers. WinSparkle is a heavily (to the point of being its
almost-port) inspired by the Sparkle framework originally by Andy
Matuschak that became the de facto standard for software updates on
macOS.</p></li>
<li><p><a
href="http://www.silverpointdevelopment.com/multiinstaller/index.htm">Silverpoint
MultiInstaller</a>. Multi component package installer for Embarcadero
Delphi and C++Builder, it was created to ease the components
installation on the IDE.</p></li>
</ul>
<h2 id="other">Other</h2>
<ul>
<li><p><a href="https://github.com/RRUZ/wmi-delphi-code-creator">WMI
Delphi Code Creator</a>. Allows you to generate Object Pascal, Oxygene,
C++ and C# code to access the WMI (Windows Management Instrumentation)
classes, events and methods. Also includes a set of tools to explorer
and Query the content of the WMI.</p></li>
<li><p><a href="https://github.com/RRUZ/delphi-preview-handler">Delphi
Preview Handler</a>. Preview handler for Windows Vista, 7 and 8 which
allow you read your object pascal, C++ and Assembly code with Syntax
highlighting without open in a editor</p></li>
<li><p><a href="https://github.com/RRUZ/delphi-dev-shell-tools">Delphi
Dev. Shell Tools</a>. Windows shell extension with useful tasks for
Object Pascal Developers (Delphi, Free Pascal).</p></li>
<li><p><a
href="https://github.com/github/gitignore">Delphi.gitignore</a>.
.gitignore templates for Delphi. There is also one for Lazarus.</p></li>
<li><p><a href="http://omnipascal.com">OmniPascal</a>. Project that
enables Delphi and Free Pascal developers to write and maintain code
using the modern editor <a href="https://code.visualstudio.com">Visual
Studio Code</a>.</p></li>
<li><p><a
href="https://bitbucket.org/NickHodges/delphi-unit-tests">Delphi Unit
Tests</a>. Set of unit tests for Delphis libraries. Delphi community
members are encouraged to fork the repository, add tests, and create a
pull request. Embarcadero employees are particularly encouraged to add
tests from the internal tests that are run with official Delphi
builds.</p></li>
<li><p><a href="http://help.madshi.net/madDisAsm.htm">madDisAsm</a>. The
package features a full x86 disassembler including MMX, 3dNow enhanced,
SSE and SSE2 support. The disassembler can examine a single x86
instruction (see ParseCode) or a full function (see ParseFunction) and
either return a short analysis or a full text disassembly. Register
contents are watched/followed if possible, this improves the analyses
for jump/call targets. Case/switch jump tables are automatically
detected and handled correctly. // <em>Free <strong>without
source</strong> for non-commercial usage (only) with some <a
href="http://help.madshi.net/License.htm">conditions</a>. Available to
download as part of <code>madCollection</code> installer (youll need to
install <code>madExcept</code> item). Pretty well
documented.</em></p></li>
<li><p><a href="https://github.com/neslib/Chet">Chet - C Header
Translator for Delphi</a>. Chet is a .h-to-.pas translator powered by
libclang for Delphi. Uses the Clang compiler to parse header files,
resulting in more accurate translations that require fewer manual
adjustments.</p></li>
</ul>
<h2 id="license">License</h2>
<p><a href="http://creativecommons.org/publicdomain/zero/1.0"><img
src="http://i.creativecommons.org/p/zero/1.0/88x31.png"
alt="CC0" /></a></p>