Software

Bugtracker | Bugreports & Featurerequests per mail

Units und Klassen für Free Pascal/Lazarus/LCL

Die hier verfügbaren Units und Klassen sind frei im Sinne der 4 Freiheiten für freie Software.
Die Units und Klassen für Free Pascal/Lazarus/LCL werden aktiv weiter entwickelt (wenn auch nicht unbedingt regelmäßig), dabei wird angestrebt, dass sie plattformunabhängig sind. Angestrebt bedeutet jedoch nicht, dass sie auf jeder Plattform getestet werden (besonders nicht auf Windows) und auch nicht, dass die Implementierung um jeden Preis auf diese Weise geschieht. Der Fokus liegt auf Lazarus@Linux.

TIniClass

Beschreibung: Beerbt TMemIniFile und erweitert die Klasse um eine Pfadfunktion (Speicherort der Inidatei) und verkapselt die Write&Read-Funktionen in ein Overload-Konzept.
Beispiel zur Anwendung in Apptemplate.
IDE/Compiler Lazarus 3.6, fpc 3.2.2
Sprache Free Pascal
OS Plattformunabhängig (getestet mit Linux)
Version 3.3.0.42
Download Lazarus Version (7z-Format, 5.0KiByte)

TLanguage

Beschreibung: Klasse, zur Multisprachenunterstützung für Anwendungen (benötigt VerInfo).
Lazarus-Beispiel neben der Doku in "TLanguage_Class.pas" noch in Apptemplate
IDE/Compiler Lazarus 3.6, fpc 3.2.2
Sprache Free Pascal
OS Plattformunabhängig (getestet mit Linux)
Version 1.10.2.44
Download Lazarus Version (7z-Format, 8.9KiByte)

VerInfo

Doku: In Headerdatei
Beschreibung: Klasse, zum Auslesen von Versionsinformationen der Programmdatei. Folgende Informationen können dabei ausgelesen werden:
  • ProductVersion
  • FileVersion
  • ProductName
  • Comments
  • CompanyName
  • FileDescription
  • InternalName
  • LegalCopyright
  • LegalTrademarks
  • OriginalFilename
Der Bestandteil VersionInfo_Class wurde mit freundlicher Genehmigung eingebunden und die hier gemachte Erweiterung (in Form von OOP-zu-Prozedur-Kapselung) dort ebenfalls veröffentlicht.
Lazarus/LCL
IDE/Compiler Lazarus 3.6, fpc 3.2.2
Sprache Free Pascal
OS Plattformunabhängig (getestet mit Linux)
Version 0.10.0.20
Download Lazarus Version (7z-Format, 7.1KiByte)

Apptemplate

Bild der Apptemplate-GUI

Beschreibung

Ein von mir genutztes Programm-Template. Kommt mit der Implementation einer Klasse zum Verwalten von Programmoptionen (TOptions), der Implementation von TIniClass, TLanguage, SWF und VerInfo. Dient hier vor allem als Beispiel zur Anwendung der genannten Klassen und Funktionen.

Features

  • Sprachdateiunterstützung
  • Open source
  • Spart jede Menge Zeit beim Featuredurchlesen
  • Bereits fertig, um als Early-Access-Spiel an 9jährige verkauft zu werden

Source

SpracheFree Pascal
BibliothekLCL
Widgetsetwie Lazarus
IDE/CompilerLazarus 3.6, fpc 3.2.2

Download

BranchVersionDownloads
stable0.8.2.39 Source (176KiByte)

Buuugs!

Main-window with bugs, featurerequests and used units of Buuugs! Bug-window with bug's details of Buuugs! More screenshots

Beschreibung

Standalone, portabler Bugtracker für Linux und Windows mit Featurerequest- und Versionsverwaltung. Funktioniert, ohne dass man einen lokalen Webserver (oder ähnliches) einrichten muss.

Features

  • Sprachdateiunterstützung
  • Open source
  • Verwaltet Bugs, Units, Klassen, GUIs, Versionen und Featurerequests
  • Rudimentäre RTF-Unterstützung für Bugbeschreibungen (und -lösungen)

Source

SpracheFree Pascal
BibliothekLCL
WidgetsetGTK2, QT6
IDE/CompilerLazarus 3.6, fpc 3.2.2

Download

BranchVersionDownloadsStatus
stable2.5.0.394 Source (393KiByte)
Binary (Linux, GTK2) (2.5MiByte)
Binary (Linux, QT6) (2.5MiByte)
Binary (Windows) (1.8MiByte)
development2.5.1.395 Source (394KiByte)
Binary (Linux, GTK2) (2.5MiByte)
Binary (Linux, QT6) (2.4MiByte)
Binary (Windows) (1.7MiByte)
No new features implemented nor planned » bugfix-release, see Bugtracker for details!

Changelog:

  • [NEW] Support for Laz 3.6
  • [NEW] + 30~45 % performance on stacked bug-operations
  • [NEW] + 100 % performance for html-export
  • [NEW] Releaseform
  • [NEW] Allow DirectInput for DateFields (adjustable)
  • [NEW] Bugform: Link UCs+Programs (by pProgsInformationNode) to bugs via drag&drop
  • [NEW] Create new program using current one as template
  • [NEW] Bugform: Insert current version of selected UC/prog
  • [NEW] Bugform: Delete link for Versions_StringGrid
  • [NEW] Bugform: Version_StringGrid resizes with form
  • [UPDATED] iniClass 3.3.0.42
  • [UPDATED] TLanguageBase_class 0.17.0.41
  • [UPDATED] TLanguage_Class 1.10.2.44
  • [UPDATED] Versioninfo_class 0.1.2.3
  • [UPDATED] Versionfunctions_unit 0.10.0.20
  • [UPDATED] BGRABitmapPack 11.6.2.0
  • [UPDATED] StringGridFunctions_Unit 0.3.0.4
  • [UPDATED] TIntegerList_class 1.2.0.7
  • [UPDATED] AdvFree_Unit 0.3.0.4
  • [UPDATED] LCL 3.6.0.0
  • [UPDATED] sf_tachart_unit 0.2.0.3
  • [UPDATED] sf_systheme_unit 0.2.0.4
  • [UPDATED] sf_processfunctions 0.1.0.1
  • [FIXED] B_303 KMemo-PopupMenu: No icons
  • [FIXED] B_317 CreateChangelog() includes unfinished bugfixes if >1 unitclass-connections
  • [FIXED] B_319 KMemos' search doesn't take kindly to unicode around here
  • [FIXED] B_322 Saving changes position of unsorted elements
  • [FIXED] B_323 Saving changes position of hidden/orga featurerequest
  • [FIXED] B_325 L_321 doesn't show up on stable
  • [FIXED] BUILDSCRIPTS_329 debugform_gui.lfm not included
  • [FIXED] B_332 ListUnits() fails to list UCs if fKind=-1
  • [FIXED] B_333 [DEBUG ONLY] Testcases fail if progversion=0.0.0.0
  • [FIXED] B_339 Attachments are not deleted
  • [FIXED] B_344 AccessViolation on exit if two instances running
  • [FIXED] B_348 Closed bugs not counted
  • [FIXED] B_349 Attachments: Delete nothing results in meaningless question
  • [FIXED] B_353 Copying a feature creates an "evil twin" until Save()
  • [FIXED] B_354 Migrate not working for bugs connected to ucs
  • [FIXED] B_356 TLOCForm: Inf+
  • [FIXED] LCL_357 Form's bottom flickering on show with gtk2 and some windowmanagers (e.g. xfwm4)
  • [FIXED] B_358 Htmloutput puts some rubbish to fixed ucs
  • [FIXED] B_360 Programform's Programs_ComboBox leaks memory
  • [FIXED] B_361 *_class:Load() doesn't reload on parameter -1
  • [FIXED] B_362_GTK2 Autosize ruins everything
  • [FIXED] B_364 UC-form's missing min-width+height
  • [FIXED] B_365 TSearchform's InstantSearch_CheckBox has a (barely visible) caption but shouldn't
  • [FIXED] B_366 TUCForm's version: No langstring
  • [FIXED] B_377 Bugform: "Insert version..." error-message for invalid versionfile is kind of unhelpful
  • [FIXED] B_381 Bugform doesn't invalidate version_occured = version_fixed or version_occured > version_fixed
  • [FIXED] B_382 Optionsform: Copy+Pasted db-path-change is ignored
  • [FIXED] B_383 Bugform: Missing validy-check for col[3]
  • [FIXED] B_384 Bugform's versions are reverted if Links' + or - is used before saving
  • [FIXED] B_386 Bugform: "List index (-1) out of bounds." when version added to empty connections-list
  • [FIXED] B_387 Memleaks due B_309+B_317 fixes
  • [FIXED] B_388 Potential memleak in SpecialFunctionsBuuugs_Unit::SortBuglist4Export2HTMLFile()
  • [FIXED] B_389 Searchform memleaks
  • [FIXED] B_390_WIN No unitclass-icons in windows
  • [FIXED] B_392 Program+Bug+Featureform: ComboBox.ItemHeight (in some circumstances) WAY too big
  • Time spent: 59,14h

Linproman - Linux Process Manager

Linproman's main window showing processes in a treeview Linproman's shiny systeminfos showing a summary of cpu, ram and I/O-use More screenshots

Beschreibung

Process manager für Linux Desktopumgebungen (GTK2, QT6).

Features

  • Sprachdateiunterstützung
  • Open source
  • Zeigt alle laufenden Prozesse mit Details (Speicherverbrauch, Threadanzahl, Status und vielem mehr)
  • Einfaches Beenden, Pausieren, zuweisen an bestimmmte CPU-Threads und die Änderung von Priorität (auch I/O) von Prozessen
  • Stellt CPU-, Speicher, HDD-, und Netzwerkauslastung sowie Akku- und GPU-Werte graphisch dar
  • CPU-, Speicher und SWAP-Belegung, sowie IO-Aktivität im Trayicon
  • Ereignissystem zur Ausführung von Scripten bei verschiedenen, kombinierbaren Prozess- und Systemereignissen (starten, laufen, beendet sein, CPU/RAM/SWAP/Netzwerk/Datenträger-Auslastung)
Dokumentation zu Linpromans taskfile-format / Ereignissystem zur Ausführung von Scripten

Unterstützte Kernel

Theoretisch ist Linproman kompatibel zu einer vielzahl Kernel (tindexcache_class.pas offenbart Details), aber mangels Ressourcen können nur die paar getestet werden, die auf meinen Rechnern sind (normalerweise die letzten LTS-Versionen).
HauptreiheVergangenheitsreiheAuf keinen Fall
Auf diesen wird das Programm entwickelt. Das Program arbeitete hier in der Vergangenheit, aber wer weiß schon, ob das immer noch so ist? Mehrere Kampfstationen wurden beim Testen zerstört, niemand sollte Zeit mit einem Versuch verschwenden.
6.12
6.6 (LTS)
6.0, 6.1 (LTS), 6.2, 6.3, 6.4, 6.5, 6.7, 6.8, 6.9, 6.10, 6.11
5.4 (LTS), 5.6, 5.10 (LTS), 5.15 (LTS), 5.19
4.2, 4.4 (LTS), 4.8, 4.9 (LTS), 4.14 (LTS), 4.19 (LTS)
3.16, 3.19
4.13
3.13
2.6

Source

SpracheFree Pascal
BibliothekLCL
WidgetsetGTK2, QT6
IDE/CompilerLazarus 3.6, fpc 3.2.2

Download

BranchVersionDownloadsStatus
stable1.13.0.627 Source (308KiByte)
Binary GTK2 (2.0MiByte)
Binary QT6 (2.0MiByte)
development1.14.0.640 Source (311KiByte)
Binary GTK2 (1.9MiByte)
Binary QT6 (1.9MiByte)
Tasks done: 2 testing: 3 pending: 3
Stadium: alpha
overall done: 60 %

Changelog:

  • [NEW] Kill+suspend+resume children
  • [NEW] Shiny: Allow some graphs to be exceeded (CPU: fan, watts; GPU: engine, temp, fan)
  • [NEW] fan_sources.conf: Watt-src for CPU
  • [NEW] fan_sources.conf: Maxtemp for CPU
  • [NEW] Colorful states
  • [NEW] More capabilities for CPU-Graphs (Mhz/temp/fan/watt)
  • [UPDATED] TLanguageBase_class 0.17.0.41
  • [UPDATED] TLanguage_Class 1.10.2.44
  • [UPDATED] TIntegerList_class 1.2.0.7
  • [UPDATED] AdvFree_Unit 0.2.0.2
  • [UPDATED] sf_systheme_unit 0.2.0.4
  • [FIXED] L_350 pCollectIconsThread messes around on exit
  • [FIXED] L_359_QT Options: CPU-min-temp clipping
  • Time spent: 20,68h

EC-Helper

EC-Helpers's main window showing the content of /sys/kernel/debug/ec/ec0/io and stuff

Description

Zeigt den Inhalt von ACPI-EC dargestellt durch ec_sys (/sys/kernel/debug/ec/ec0/io) live und fortlaufend an, um Änderungen zu analysieren, speziell um Adressen für msi-ec zu finden.

Features

  • Open source
  • Änderungen werden zur besseren Sichtbarkeit hervorgehoben
  • Zeigt Hex-, sowie Integer- und (mutmaßliche) Lüfter-Werte

Source

SpracheFree Pascal
BibliothekLCL
WidgetsetGTK2, QT6
IDE/CompilerLazarus 3.6, fpc 3.2.2

Download

BranchVersionDownloadsStatus
stable0.1.0.2 Source ( 62KiByte)
Binary GTK2 (917KiByte)
Binary QT6 (866KiByte)
development0.2.0.13 Source (113KiByte)
Binary GTK2 (926KiByte)
Binary QT6 (876KiByte)
Tasks done: 4 testing: 6 pending: 0
Stadium: beta
overall done: 89.5 %

Changelog:

  • [NEW] Basic implementation
  • Time spent: 3,23h

QEZZ (Quelltextzeilenzähler)

Description

Kommandozeilenwerkzeug um Codezeilen, Kommentare und gemischte Zielen von allen in einem Verzeichnis gefundenen Dateien zu zählen.

Features

  • Open source
  • Einfach ein Verzeichnis übergeben und alle Codezeilen (und so) von allen gefundenen Dateien erhalten (Zusammengefasst oder zusätzlich individuell)
  • Unterstützt von Hause aus C/C++/C#, Java, Delphi/Pascal und VB/VBA/VB .net
  • Weitere Sprachen können per Textdatei hinzugefügt werden
  • Sammeln und Zählen von *.c+*.h Dateien aus den kernel-5.19-sourcen benötigt 32 Sekunden auf einem alten Ryzen 1 (55.334 Dateien mit 30.393.126 Zeilen)

Source

SpracheFree Pascal
IDE/CompilerLazarus 3.6, fpc 3.2.2

Download

BranchVersionDownloadsStatus
stable0.2.0.3 Source ([an error occurred while processing this directive]iByte)
Binary (Linux) (106KiByte)
Binary (Windows) (307KiByte)
development0.2.0.3 Source ( 23KiByte)
Binary (Linux) (106KiByte)
Binary (Windows) (307KiByte)
Tasks done: 5 testing: 0 pending: 0
Stadium: stable/RC
overall done: 100 %

Changelog:

  • [NEW] Improve help + general documentation
  • [NEW] Update build-modes (Release4Win » Release_Win)
  • [NEW] Accept extensions without *. infront
  • [NEW] Make parameter -e optional
  • [UPDATED] Versionfunctions_unit 0.9.1.19
  • [FIXED] q_295 Outputs wrong number of files on misuse
  • [FIXED] q_298 Theoretical memleak (144 bytes)
  • Time spent: 1,71h