Most of the time when starting a new big project you end up creating lots of modules for your application. Most of them could be dozens of different functions which helps to write less code while building the main project. For instance, while I was developing a school management system, I have created more than 30 modules for my project and currently, I utilize them all the time. They are my core libraries for most of the projects. And you should know that being a superstar developer does not mean writing the same function again and again when you need it. You should be smart and save your time for harder problems.
And now I want to introduce an awesome library for Delphi developers!
QuickLib – QuickLib is a library that includes interesting and quick to implement functions. These functions created to simplify application development and cross-platform support and improve your productivity.
//connect to a Azure blobstorage
QuickAzure := TQuickAzure.Create(AzureAccountName,AzureAccountKey);
//download a blob file to a stream
done := QuickAzure.GetBlob('MyContainer','MyFile.jpg',ResponseInfo,MyStream);
//check if exists a folder
found := ExistFolder('MyContainer','/Public/Documents/Personal');
//list blobs starting with a pattern (recursively or not)
for azBlob in ListBlobs('MyContainer','/Public/Documents',Recursive,ResponseInfo) do
if azBlob.Size > 1000 then Showmessage(azBlob.Name);
- Quick.Commons: Functions frequently needed in the day to day of a developer.
- Quick.AppService: Allow a console app to run as console mode or service mode with same code simplifying debug tasks.
- Quick.Azure/Amazon: Simplifies blob iteraction with Azure and Amazon Cloud Storage.
- Quick.Network: CIDR and IP Range functions.
- Quick.Chrono: Chronometer and Benchmark a piece of code is simple.
- Quick.Console: Write log messages to console with colors and more…
- Quick.Log: Log to disk or memory with verbose levels and daily or max space rotation.
- Quick.Config: Load/Save a config as Json or Yaml file or Windows Registry keys and manage it as an object.
- Quick.FileMonitor: Monitorizes a file for changes and throws events.
- Quick.JsonUtils: Utils for working with json objects.
- Quick.SMTP: Send email with two code lines.
- Quick.Threads: Thread safe classes, scheduling and backgrounds tasks with retry policies.
- Quick.Process: Manages windows processes.
- Quick.Services: Manages windows services.
- Quick.Format: String format.
- Quick.RTTI.Utils: Simplifies working with RTTI.
- Quick.JsonSerializer: Serializes an object from/to json text. You can define if public or published will be processed (only Delphi, fpc rtti only supports published properties)
- Quick.AutoMapper: Map fields from one class to another class. Allows custom mappings to match different fields and custom mapping procedure to cast/convert fields manually.
- Quick.JsonRecord: Used as a DTO class, with json serialize and mapping functions included.
- Quick.Lists: Improved lists with indexing or search features.
- Quick.Value FlexValue stores any data type and allow pass to other class with integrated operators and autofrees.
- Quick.Arrays: Improved arrays.
- Quick.YAML: Yaml object structure.
- Quick.YAML.Serializer: Serialize/Deserialize object from/to Yaml.
- Quick.Expression: Evaluate object properties using expressions.
- Quick.Linq: Makes Linq queries to any TObjectList, TList, TArray and TXArray, performing Select by complex Where like SQL syntax, update and order over your list.
- Quick.MemoryCache: Caches objects/info with an expiration time, to avoid generate this info everytime is needed (database queries, hard to calculate info, etc).
- Quick.Collections: Collections improvements like IList and IObjectList with Linq inherited.
- Quick.Pooling: Creation of object pool to avoid external resource consum exhausts and overheads.
- Quick.Template: String template replacing with dictionary or delegate.
- Quick.Debug.Utils: Simple debugging and code benchmark utils.
- Quick.Parameters: Work with commandline parameters like a class.
QuickLib has lots of things to utilize and apply to your projects
- Caching strings or objects to retrieve faster later
- Mapping functions
- JSON/YAML Serialization functions
- Azure and Amazon modules for file management, send emails, and more
- Task Scheduling
- and many many functions!