Introduction

The subroutine library modules listed below are the foundation of much of the rest of the coding that I do. These are available for free, for any use, without attribution, and without restriction.

Most of the code is Pascal, some specific to Delphi. However, there are a few dozen source files in PHP, Javascript, C, C++, C#, and Python.

Basics

Unless otherwise stated, the Pascal code will target several different software environments including:
MSDOS: Borland Pascal (normal and protected mode supported), Delphi in Console mode
16-bit Windows: Borland Pascal
32-bit Windows, 64-bit Windows: Delphi and Free Pascal
32-bit MAC OS, 64-bit MAC: Delphi
Android: Delphi - note that not all of the code has been updated to support 0-based strings

The C++ code should compile under all standard C++ compilers, but has only been tested under Dev C++. Likewise C code should compile under all standard C and C++ compilers, but has only been tested under Borland C++ Builder 5. Note that there are a couple of exceptions that only compile under Borland C++ Version 5. Sirius code compiles under Sirius V1.3. *.asm files assemble under MASM32. PHP code should work with PHP 5.6 or later, although I've only tested them on PHP 7.

A standard comment header is included in the files. Empty template comment headers can be found in the *.app files.

Conditional Compilation Symbols

The EDefines.inc file is used to simplify the task of providing Pascal source that compiles under different versions of Borland Pascal and Delphi. This file is available here, with corrections that allow it to compile under Borland Pascal and numerous other modifications. You can check the following site for the latest official version: http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=15391.

Downloads

Download Subroutine Library V2008

Download Subroutine Library V2019

Download Subroutine Library V2020

Download Subroutine Library V2021 (1-Feb-2021)

Download Subroutine Library V2021-2 (1-Mar-2021)

Download Subroutine Library V2021-3 (1-May-2021)

Download Subroutine Library V2022 (31-Dec-2022)

Download Subroutine Library V2023 (27-Dec-2023)

Documentation

Reference Documentation for V2008

Latest documentation (in progress)