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)