Delphi LightSaber 5.0 from January 20, 2023
Delphi LightSaber 5.0 from January 20, 2023
Utilities - Lightweight alternative to Jedi library. The library is split into 7 sub-libraries: Core, VisualLog, Common, Internet, Graphics, Proteus, Visual controls.
This repository contains the CoreLib and LogLib. More libraries to be added soon. Your code could use directly the bottom library (Core) or higher libraries in the hierarchy, depending on your requirements.
Files in CoreLib:
ccCore.pas
Over 200 functions for:
String manipulation (string conversions, sub-string detection, word manipulation, cut, copy, split, wrap, etc)
Programmer's helper
Form manipulation
Advanced/easy message boxes
DateTime utilities
etc etc etc etc etc etc etc
ccIO.pas
Super useful functions for file/folder/disk manipulation:
Copy files
File/Folder Exists
Get special Windows folders (My Documents, etc)
Prompt user to select a file/folder
List specified files (.jpg for ex) in a folder and all its sub-folders
Increment the numbers in a filename (good for incremental backups)
Append strings to file name
Read text from files to a string variable
Compare files
Merge files
Sort lines in a file
Drive manipulation (IsDiskInDrive, etc)
etc
ccAppData.pas
Application-wide functions:
Get application's appdata folder (the folder where you save temporary, app-related and ini files)
Get application's command line parameters
Detect if the application is running for the firs this in a computer
Application self-restart
Application self-delete
etc
ccStreamBuff.pas
Extends TBufferedFileStream.
This class adds new functionality that does not exist in Delphi's original stream classes:
Read/WriteBoolean
Read/WriteString (Ansi/Unicode)
Read/WriteInteger
Read/WriteCardinal
Read/WriteDate
Read/Write mac files (inverted byte endianness)
etc
It may be used as a drop-in replacement for TFileStream.
ccStreamFile.pas
Expansion class for Delphi classical TFileStream.
Allows you to directly read/write bytes, cardinals, words, integers, strings to a (binary) files.
Now replaced by ccStreamBuff.
ccBinary.pas
String to hex, hex to string conversions (and many others)
Binary numbers (endianness) swapping
Data serialization
Bit manipulation (set bit, etc)
Reverse bits
Endianess
etc
ccWinVersion.pas
This library expands the TOSVersion.
Use it to get Windows version.
Example of functions:
IsWindowsXP
IsWindowsXPUp
IsWindowsVista
IsWindowsVistaUp
IsWindows7
IsWindows7Up
IsWindows8
IsWindows8Up
IsWindows10
etc
ccINIFile
Features:
Extends the capabilities of TIniFile
Functions for easily accessing application's default INI file.
Setup:
Before using it you must set the ccAppData.AppName global var.
The class will use that name to automatically determine the INI file name/path which is %AppData%\AppName.Ini.
Example: If the AppName is set to "DelphiLightSaber" the ini file will be "c:\Users\UserName\AppData\Roaming\DelphiLightSaber\DelphiLightSaber.ini"
And... the cherry on the top of the cake was left at the end!
Resume application's GUI state via ccINIFileVCL.pas
Do you have applications with forms with lots of controls (like checkboxes/radiobuttons) and you want to save its status to disk on shutdown and resume exaclty from where you left on application startup with just one function call?
Use SaveForm/LoadForm.
Example:
Call SaveForm(MySettingsForm) in TMySettingsForm.OnDestroy
Call LoadForm(MySettingsForm) after the creation of TMySettingsForm
Only for V.I.P
Warning! You are not allowed to view this text.