1833 lines
100 KiB
HTML
1833 lines
100 KiB
HTML
<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 & 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&o=desc&q=newac&s=updated&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 Delphi’s 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 don’t
|
||
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&o=desc&q=ccr-exif&s=updated&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,
|
||
you’ll easily master the basic operations of GLScene. The library comes
|
||
with a large collections of demos showcasing the ease of use, and
|
||
demonstrating RAD wasn’t 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 >= 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 & C++Builder. iPRO includes POP3, SMTP, NNTP,
|
||
FTP, HTTP, Instant Messaging, & 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 isn’t 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, & 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 & 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 & 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
|
||
& 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. There’s 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 & iPad & 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 & 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 Chrome’s 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 Delphi’s 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 don’t 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. Haven’t 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 Embarcadero’s 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 ORM’s (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 Mozilla’s 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 >=7 and Free Pascal >= 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 Microsoft’s 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 <-> 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 &
|
||
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 couldn’t 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
|
||
& 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.
|
||
XmlReader’s pull-based interface is cleaner to use than SAX’s
|
||
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 doesn’t 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, it’s part of
|
||
DWScript but relatively “standalone”, in that if you add it in your
|
||
Delphi (or FPC) projects, it won’t 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 & 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 & 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 Bauch’s 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 doesn’t 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 & 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 doesn’t 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>Hadn’t 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 Pascal’s 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
|
||
you’ll 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
|
||
they’re 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 Microsoft’s 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 IDE’s 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 haven’t 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 application’s 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
|
||
there’s 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 (you’ll 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 Delphi’s 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 (you’ll 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>
|