Units and classes for Free Pascal/Lazarus/LCL
The units and classes you find here are free in the meaning of the four freedoms of free software.
Free Pascal/Lazarus/LCL units and classes are in active development (whenever I add new functions or do some bugfixing, it'll be published here). I'll try to add new functions
platform independent, but I'll not test on Windows nor care for it. My focus lays on Lazarus@Linux.
TIniClass⚓
Description: Inherits TMemIniFile and adds a pathfunction (save location for the inifile) and also encapsulates the write&read-functions into an overload-concept.
Example for using in Apptemplate.
| Lazarus/LCL |
IDE/Compiler |
Lazarus 2.2.2, fpc 3.2.2 |
Language |
Free Pascal |
OS |
platform independent (tested on Linux) |
Version |
3.0.3.38 |
Download Lazarus Version (7z-Format, [an error occurred while processing this directive]iByte)
TLanguage⚓
Description: Class for multi-language-support in applications (requires VerInfo).
Code-example additional to the documentation in "TLanguage_Class.pas" also in Apptemplate
IDE/Compiler |
Lazarus 2.2.2, fpc 3.2.2 |
Language |
Free Pascal |
OS |
platform independent (tested on Linux) |
Version |
1.8.0.40 |
Download Lazarus Version (7z-Format, [an error occurred while processing this directive]iByte)
VerInfo⚓
Documentation: in header
Description: Class, to extract version-informations from the program-file:
- ProductVersion
- FileVersion
- ProductName
- Comments
- CompanyName
- FileDescription
- InternalName
- LegalCopyright
- LegalTrademarks
- OriginalFilename
The class VersionInfo_Class
was implemented with friendly approval and the additions I made with my VerInfo-Unit was published also there.
IDE/Compiler |
Lazarus 2.2.2, fpc 3.2.2 |
Language |
Free Pascal |
OS |
platform independent (tested on Linux) |
Version |
0.9.0.18 |
Download Lazarus Version (7z-Format, [an error occurred while processing this directive]iByte)
Apptemplate⚓
Description
Template I personally use for programs. Includes basic implementation of programmoptions (TOptions), the implementation of TIniClass, TLanguage,
SWF and VerInfo. This serves as an example for the listed classes and functions.
Features
- Multi-language-support
- Open source
- You save alot of time reading the featurelist
- Ready to ship as early-access-game for 9 year olds
Source
Language | Free Pascal |
Framework | LCL |
Widgetset | like Lazarus |
IDE/Compiler | Lazarus 2.2.2, fpc 3.2.2 |
Download
Branch | Version | Downloads |
Release/stable | 0.5.11.27 |
Source ([an error occurred while processing this directive]iByte) |
Linproman - Linux Process Manager⚓
Description
A process manager for Linux desktop environments (GTK2).
Features
- Languagefilesupport
- Open source
- Shows running processes and details (Memory usage, number of threads, state and more)
- Easy kill, pause, resume, select CPU-affinity and change nice (also I/O priority) of processes
- Shows usage of CPU, memory, HDD, and networking plus details of battery and GPU with graphs and numbers
- Usage of CPU, RAM and SWAP, plus IO-activity as trayicon
- Eventsystem to run scripts on different, combineable process- and systemevents (startup, running, dying, CPU/RAM/SWAP/network/input-output-utilization)
Documentation about Linproman's taskfile-format / eventsystem to run scripts
Supported Kernels
In theory (see tindexcache_class.pas for details) Linproman is compatible to a wide spectrum of Kernelversions, but due limit resources I will only test the ones installed on my computers (usally the latest LTS-versions).
Main sequence | Past main sequence | Definely not |
Program is developed on these. |
Program was working on these in the past, but who knows if it still does? |
Several battlestations were destroyed during testing, so save your time and don't try again. |
5.19 5.15 (LTS) |
5.4 (LTS), 5.6, 5.10 (LTS) 4.19 (LTS), 4.14 (LTS), 4.9 (LTS), 4.8, 4.4 (LTS), 4.2 3.19, 3.16 |
4.13 3.13 2.6 |
Source
Language | Free Pascal |
Framework | LCL |
Widgetset | GTK2 |
IDE/Compiler | Lazarus 2.2.2, fpc 3.2.2 |
Download
Branch | Version | Downloads |
Release/stable | 1.3.1.407 |
Source ([an error occurred while processing this directive]iByte)
Binary ([an error occurred while processing this directive]iByte)
|
Nightly/development | 1.3.2.410 |
Source ([an error occurred while processing this directive]iByte)
Binary ([an error occurred while processing this directive]iByte)
|
Changelog:
[an error occurred while processing this directive]
QEZZ (Lines of code counter)⚓
Description
Commandlinetool for counting lines of code, comments and mixed lines of all files in a directory.
Features
- Open source
- Just pass a directory and get the lines of code (and stuff) of all the files found (summary and for each file individually)
- Already supports C/C++/C#, Java, Delphi/Pascal and VB/VBA/VB .net
- Add more languages by simply editing a textfile
- Collect+count of kernel-5.19's *.c+*.h files took: 32 seconds on an old Ryzen 1 (55.334 files 30.393.126 lines total)
Source
Language | Free Pascal |
IDE/Compiler | Lazarus 2.2.2, fpc 3.2.2 |
Download
Branch | Version | Downloads |
Release/stable | 0.1.0.1 |
Source ([an error occurred while processing this directive]iByte)
Binary (Linux) ([an error occurred while processing this directive]iByte)
Binary (Windows) ([an error occurred while processing this directive]iByte)
|
Nightly/development | 0.1.0.1 |
Source ([an error occurred while processing this directive]iByte)
Binary (Linux) ([an error occurred while processing this directive]iByte)
|
Changelog:
[an error occurred while processing this directive]