|
Please note the official KOL website by Vladimir Kladov (both English and Russian) is now hosted at: |
||||
|
KOL is an acronym for the Key
Objects Library and is a VCL replacement for Delphi that enables
the programmer to write Windows executables that are typically
between 10-20 times smaller than its VCL equivalent. |
||||
|
This is an updated explanation on how to use KOL and Freepascal 2 or higher. |
||||
|
Alex Gregory's beautiful Delphi Forum in the English language. I am now the moderator of the KOL sections and I use it to publish lots of tips and tricks and some articles. Go and have a look! If you have a good KOL tip, do not hesitate, publish it on the forum! |
||||
|
I decided to create - unofficial - email support for KOL related questions. If you mail to kol@thaddy.com, me and some other bravehearts that use KOL will try to answer you as soon as possible. Please note that you must allow for about two days to get a reply. You may put your question in English, French, Russian, Dutch or German. All answers will be in English. Apart from russian, which I am still learning (because of Kol) I can read fluently in these languages, so don't be modest, write what you want and how you want to express yourself. You can also try to reach me at icq 218989577 to discuss KOL related issues. Only after 19:00 gmt +1.( I use a Miranda clone written in KOL, still alpha.) |
||||
|
On request: my
KOL port of ShorterPath Software's CPUTime Unit. |
||||
|
This is a very early BETA! version of a statically linked SQLite library for KOL. It is based on the version available here. Albert Drent, who created a full set of VCL components and Gianpaolo Avallone, who provided the initial .obj files I made several changes, though, mainly to do with memorymenagement stubs and possible linker errors. I also included a very basic KOL object with more Delphi like style naming conventions. By no means finished. Expect that soon. |
||||
|
A small tool to check what ACM subsystems (drivers) you have installed and what capabilities are supported Based on some code in the Delphi Magazine 85 |
||||
|
This is a waveplayer component that also can play MP3 files through the ACM codec, if it is installed on your system. Demo included. at http://www.looprecorder.de/tut_l3codec.php is a good tutorial on how to obtain and install the proper codec, even without having to install the full mediaplayer 10. |
||||
|
There's also a much simpler example on Blue Aura and on the delphimaster forum, both under the KOL section. |
||||
|
Much improved updated version of the gauge control I made for Deniss. This version has proper min/max support and optional anti aliasing using three optional types of oversampling. Version 1.52: ECM has written the mirror for MCK!...and fixed some bugs. |
|
|||
|
|
If you want to read about programming, algo's or just want to be amused, visit http://www.boyet.com/. Simply because. |
|||
|
A simple KOL coolbar control. Not everything implemented, You must create controls you want to add with the form as parent. or use TCoolbar.Addband with a newXXX function. |
|
|||
|
Made on request: Demonstrates how HSV and RGB values interact. Partly based on library code from: |
|
|||
|
KOL controls do not have a scale property. Here's code that can scale a KOL application very comfortably. I updated the demo to show you how to automatically handle a screen change using the WM_DISPLAYCHANGE message. The demo does not include BitsPerPixel change support, because I only have TFT's so I couldn't test that. |
||||
|
I won a programming award back in 1989-1990 with the first dos version and have revisited it many times and in many programming languages. This version is fully rewritten to reflect the current version of KOL (2.08) and is much cleaner than the old code. This idea may be 16 years old, the code is brand new! Maximize your Wave Volume, Put the mouse on your documents, Activate RatAlert! |
||||
|
A KOL extended registry object that can search, import, export keys and values. I merged Colin Wilson's extended registry object with my KOL registry code. |
||||
|
A KOL chart control Supports 9 types of chart, pies, lines, bars, etc. Supports clipboard and printing 1.01 Resizebug fixed |
|
|||
|
Similar to Kol Indicator, but more sophisticated. |
|
|||
|
A KOL indicator control made on request. Good example of 'how to create a KOL control' Made it optionally stereo on request |
|
|||
|
This is based on Serhiy Perevoznyk's work and again an authorised translation (although a lot of it is new!) |
Active scripting without using msscript.ocx. Built on top of the scripting engine itself. Can use any ms scripting language. Includes a KOL com- wrapper to script KOL controls.Very powerfull. Serhiy included a link to my page, so: look at his brilliant coding: http://users.chello.be/ws36637/ |
|||
|
Made on request: a scope control |
|
|||
|
On request: A simple example of how to rotate images fast and absolutely smooth using the plgblt API function. This function is in the windows API since NT4. It is more relevant now, because almost anyone has XP. It doesn't work on W95-Me |
||||
|
On request: A unit for very fast sorting and searching dynamic arrays. Handy for in memory database like applications |
||||
|
Onrequest: A simple CAD like drawing example |
||||
|
Based on code by
Boguslaw Brandys, but almost everything changed. updated: small change on request to leave onchange handler free for the user. Added wndprocFontcombo. |
|
|||
|
Published with permission from Marcel van Brakel. 1.8 meg download |
This is the famous winapi32 by Marcel van Brakel that is at the core of the JCL. This version is modified to work with kol, with or without err.pas. It can still be used for the VCL too, I modified it faithfully and added two defines in WinDefines.inc: $DEFINE KOL removes dependencies on sysutils. $DEFINE USE_ERR enables err.pas for KOL structured exception handling The latter option is only available if KOL is selected. |
|||
|
Connect to a whois server. Includes demo. |
||||
|
Authorized translation |
This is a sniffer component and demo that utilizes the famous WinPcap driver to sniff network traffic independent from the operating system, i.e. winsock. It includes extensive filtering capabilities. The driver itself can de downloaded from: This version is authorised by the original author Umar Sear and it is favorably reviewed by the winpcap team. A link, both to the KOL site as mine, is included on their pages. I have had some remarks that there are other sniffers around for Delphi that do not need a devicedriver. Those are all based on the rather incomplete winsock2 API and are feature-wise totally inferior to winpcap based sniffing. Examples: you can't detect spoofing attacks with winsock2 based sniffers, you can't resend /redirect packages easily, you can't do remote capture. The neat thing about the winpcap driver is that it is a ring 0 kernel devicedriver and really completely independent from winsock2. If you really want a winsock2 based sniffer, may I cheekily refer to tdknetstat, that i wrote ages ago. It is still available from the official KOL site. |
|||
|
The Boehm garbage collector is a famous and widely used garbage collector that is reasonably efficient and contained in a small dll. Here are KOL interface units for it, based on the work of Barry Kelly and article 21646 on the Borland community site. I also adapted the demo to work with KOL objects. This is not only a GC. It can also be used for debugging purposes. This Garbage collector supports both simple objects and objects that need finalization. |
||||
|
A small object that allows you to write small but effective FTP clients using the wininet api. Smallest possible visual client about 18K. Based on code by Charley Calvert, but translated to KOL, expanded and improved. |
||||
|
I wrote this for Hilde, a great entertainer and friend. Now includes a manifest file for the ever more popular TeleTubby mode. |
This is a tiny but very powerful guitar chord finder that supports different tunings and piano keyboard feedback. The chords are calculated, not looked up from a database. The chords can be copied to the clipboard for inclusion in documents or for further reference. Also has Midi support. It includes full sourcecode and a helpfile. The piano keyboard is a new and original KOL control. It can be used separately and supports playing the piano keyboard from the computer keyboard. |
|
||
|
This is the new version of WaveIO 1.04 for KOL and the VCL. Define KOL to use with KOL. Otherwise, for the VCL the source is identical to the original 1.04 version by TobyBear. It includes a demo wave player exactly like the original by Tobybear too. ( But 38 K instead of 410K) And this version released on the same day TobyBear released it! (But it was still a lot of work) |
||||
|
Authorised translation.
|
This is a translation of a large part or the dc-dsp audio components. The translation is kindly authorised by Milenko Mitrovic. It contains a large number of components to build audiostudios and much more. Here's a small example I did as a demo for Milenko. updated version to the final official release 1.0.1, added helpfiles More info can be found at: http://www.dsp-worx.de |
|||
|
A complete Btree system and record manager to build very fast lightweight or even heavyweight databases! Original code by Julian Bucknall, Delphi magazine 73, 74 and 75 |
||||
|
Lorenz and Rossler Oscillators Comment from Rusell: Cool :) |
This module
defines the classes TLorenzOsc and TRosslerOsc - low
frequency The Rossler and
Lorenz functions are iterated chaotic systems - they trace smooth
curves that never repeat the same way twice. Lorenz is
"unpitched", having no distinct peaks in its spectrum
-- similar to pink noise. Rossler exhibits definite spectral
peaks against a noisy broadband background. Translated from a C++ source by: Russell Borogove / www.tinygod.com
|
|||
|
A set of objects to easily manipulate, resize, move and delete Polylines. Great for drawing applications |
||||
|
A Kol Shape control:
Possible Shapes are: stArrowRight, |
||||
|
Some more basics: BubbleSort |
||||
|
A demo of how to redirect console input/output. Has some advantages over the KOL support for IORedirect since it can work on a line by line basis |
||||
|
A Low Frequency Oscillator based on a lookup table. Since it is LUT based you can easily add more waveforms besides the included triangle, sinus, sawtooth, square and exponent. Portable code: VCL and KOL |
||||
|
This is a demo and an object that uses a simple thread manager to synchronize between the main application and an arbitrary number of new KOL ManagedThreads. This makes threadhandling really easy! Uses a technique that is independent from the syncro objects below. You almost can not go wrong with this one. This is unique for KOL, I haven't done this for the VCL yet. |
||||
|
function
NewSimpleEvent:PEvent; |
||||
|
A couple of new KOL streams: a Buffered
stream All are true KOL streams (return pStream) |
||||
|
Authorised translation |
Control your sound card's mixer. Supports up to 10 soundcards and all available channels. My KOL translation of TAudioMixer control by Vit Kovalcik. Now includes a small demo that controls your default mixer (taskbar). I am happy to anounce that this translation is authorised by the original author, Vit Kovalcik. |
|||
|
A simple sizer control and a grid control to do KOL control manipulation at runtime. Can serve as the basis for a forms designer in KOL. |
|
|||
|
This is a small demo control that acts a bit like a trackbar. It shows you how easy it is to write new KOL controls. Uses the recommended way to write new controls. heavily commented. Written in response to a question from one of the english -not russian, sorry my mistake- KOL forum visitors. |
||||
|
|
If you want a small (possibly the smallest) stand alone MP3 player that uses very little resources, here it is! Only ~80 K!, sources available on request and at the KOL site. I couldn't have written this without the original console application sources by fobmagog available from sourceforge. This is a gpl'd program and not my usual free for all ware. It does not rely on external dll's: it has its own codec. You can uninstall mediaplayer and it will still work. This can lead to strange questions, it seems: no this is not a shell, it is a self-contained full featured win32 application. |
|||
|
This archive
contains a very simple example wave player with Vu meters. |
||||
|
A replacement
for the earlier OleRichEdit control by Alexander Shakaylo. I
surfaced the Text Object Model interfaces, that are very
powerful. If you downloaded KolOleRe.zip from the KOL website recently, you already have it. It is now part of the "official release". |
||||
|
|
This is a
first beta demo for the TOM interfaces. |
|||
|
MS office
converters - like in Wordpad - support for KOL Richedit and
OleRichedit controls. The zipfile also contains a KOL Registry object that mimics the VCL Tregistry component. |
||||
|
Intercept
*any* standard Win32 or Delphi procedure or function at runtime
and replace it with your own. |
||||
|
Keyboard macro recorder with small demo. |
||||
|
A Delphi
memory manager replacement with some very nice side effects.
|
||||
|
Simple control to determine caps, num etc |
||||
|
Supported Dialogs: function
NewComputerNameDialog(AOwner :
PControl):PComputernameDialog; Also includes several utility routines for shell operations. Thanks to Serhiy Perevoznyk for the VCL sources |
||||
|
A very fast pascal tokenizer and a charstream object. Based on code from Julian Bucknall but adapted for KOL and expanded for later versions of Delphi. |
||||
|
A ruler with glyphs for left and right margin. Intended for use with editors. True KOL TControl, no mck. Measurements in inches, centimeters or pixels.
The screenshot is from Dutch Army Knife: a small tool that is still a secret! |
|
|||
|
Parses a
search phrase based on AND OR NOT operators into a valid SQL
query. example: thaddy AND (mess OR website) becomes: select * from TABLENAME where ((FIELDNAME like '%thaddy%') and ((FIELDNAME like '%mess%') or (FIELDNAME like '%website%'))) |
||||
|
This is a
pascal translation of the famous Freeverb freeware reverb in C++
by Jezar. |
||||
|
A dsp library
to do bitrate conversion, clipping, dithering, limiting, channel
reversing, 3d sound and much more. |
||||
|
A simple rotating knob control. |
||||
|
Acknowledgement: |
||||