Delphi-LightSaber is a collection of useful functions and visual controls. More than 15 years of development have been put in this library, which was private until recently, but now I decided to give something back to the Delphi community, so the library is now published as freeware on GitHub.
The library wants to be a lightweight replacement for the mammoth Delphi Jedi library. Simple, crystal clear, non-obfuscated, fully commented code. No external dependencies.
Sub-libraries
LightSaber consists in 7 sub-libraries. Not all sub-libraries listed below are yet on GitHub. Some time is still needed for properly curating and commenting the code. Until now the publishing speed was one sub-library every six months.
Here is only a short summary of each sub-library. Detailed description follows.
- Core
The Core sub-library provides basic functionalities for all other sub-libraries.
- Visual Log
A simple but effective log. The programmer can send messages to a log window from anywhere in his code/app.
- Common
Lots and lots of useful functions
- Internet
Internet and HTML related functions - Automatic language translator engine
An RTTI-based automatic translation engine for Delphi. It will translate all GUI strings (for example TLabel.Caption, TLabel.Hint, TMenuItem.Caption) for all live forms in your application. You need only two lines of code for this!
- Graphics Functions for opening graphic files (BMP, animated GIFs, PNG, Jpeg2000, etc.), converting between file formats, resizing images while preserving sharpness, video support, alpha transparency, etc.
- Proteus Proteus is a licensing system. It helps us to convert a Delphi app into a commercial product that we can deliver as a trial or sell it to customers. To use Proteus, we only need to call one line of code in our program.
- Visual controls More than 70 visual controls that we can drag and drop on your form at design time.
Filename convention used in Delphi LightSaber
The following filename convention is used in the LightSaber libraries:
- ‘c’ -> The first c stands for ‘cubic’.
- ‘c’ -> The second ‘c’ stands for ‘core’. All files I posted in library/repository are ‘core’ because other libraries will be based on them.
- ‘v’-> visual component
- ‘Graph’-> graphic library
- ‘l’ -> Log library
- ‘i’ -> Internet library
- ‘m’ -> Common library
Example:
- ccBinary.pas (Cubic core library)
- cvMemo.pas (Cubic visual component)
- cGraphFX.pas (Cubic graphic library)
- clVisLog.pas (Cubic log library)
- ciEmailSender.pas (Cubic internet library)
- cmPowerUtils.pas (Cubic common library)
Library architecture
Your code could use directly the bottom library (Core) or higher libraries in the hierarchy, depending on your requirements.
Find it on GitHub
Download the Delphi source code at GitHub.com/GabrielOnDelphi.
Can also be downloaded and installed directly from Delphi IDE via the GetIt Package Manager. I have more (much more) libraries to publish. I just need some time. If you find the already published libraries useful, don’t forget to follow me on GitHub, click the ‘Watch’ button if you want to get notified about updates, and star the library – my motivation is directly proportional with the number of stars 🙂