Signing Off. So Long, and Thanks for All The Good Times!
After 15 great years I'm leaving About.com. I've started working as the Delphi Programming Guide in 1998 (days of Delphi 3) and have continued publishing tutorials and articles geared at beginner and advanced Delphi developers.
NO, I am not leaving Delphi.
In fact, I'm spending much more time in the Delphi (Rad Studio) IDE these days - and I am hoping you are in the same position - to have your working hours filled with joy of coding in the best development environment.
One huge "Thank YOU!" to all the known and unknown Delphi developers who have followed my work here and have send hundreds of emails supporting me for the past 15 years.
The About.com Delphi Programming web site will NOT be closed, all the content will be available in the future so nothing would be lost :) After all, I have found myself many times searching for a solution to a Delphi problem I have, to finally land on my own article written years ago :)
What's more, I think About.com might start looking for a new Delphi Programming Guide, so if you think you have the passion and the knowledge, feel free and invited to apply.
That's all folks. Over and Out.
p.s.
This is not my last (if it can be called like this) Delphi related blog post / article. I'll see to start a new blog in the near future and continue publishing Delphi programming related stuff. I am and will be using Delphi every day, there's always something to be implemented, some problem to be solved, some new feature to be included - any why not share the knowledge gained with others.
- Žarko Gajić, Embarcadero Delphi MVP.

Delphi Programming Almanacs: 1998. - 2012. Something for Every Delphi Developer: Beginner or a Guru!
in Delphi Almanacs :: According to Wikipedia, an almanac is an annual publication containing tabular information in a particular field or fields often arranged according to the calendar.

A Delphi Programming Almanac would then be an annual reference e-book (?) composed of articles, tutorials, tips and tricks relating to programming in Delphi.
A wannabe Delphi programmer, a Delphi beginner or a Delphi guru / expert? 15 years of Delphi programming content available for you (for free)!
1998. - 2012. Delphi Programming by Zarko Gajic
- Delphi Programming Almanac for the Year 2012
- Delphi Programming Almanac for the Year 2011
- Delphi Programming Almanac for the Year 2010
- Delphi Programming Almanac for the Year 2009
- Delphi Programming Almanac for the Year 2008
- Delphi Programming Almanac for the Year 2007
- Delphi Programming Almanac for the Year 2006
- Delphi Programming Almanac for the Year 2005
- Delphi Programming Almanac for the Year 2004
- Delphi Programming Almanac for the Year 2003
- Delphi Programming Almanac for the Year 2002
- Delphi Programming Almanac for the Year 2001
- Delphi Programming Almanac for the Year 2000
- Delphi Programming Almanac for the Year 1999
- Delphi Programming Almanac for the Year 1998
An almanac for a year lists only articles, tips and resources that were originally published during the selected year. All materials written by Zarko Gajic, some contributed by other Delphi developers.
Reverse Engineering (Decompiling) Delphi Applications
Simply speaking, decompilation is the inverse of compilation: translating an executable file into a higher level language.
Suppose you lose your Delphi project's source and you only have the executable file: reverse engineering (decompilation) is useful if the original sources are not available.
Hm, "sources not available", does this mean that we can decompile other people's Delphi projects? Well, yes and no..
Read the full article to learn how to Decompile a Delphi application.
Related:
Speed and Size: Top 10 Delphi Programming Tricks
Read the full article to learn a few useful tips to make your Delphi programs run faster.
Related:
Listening to the Clipboard: Delphi Clipboard Spy with Custom Clipboard Formats
Clipboard stores information in multiple formats so we can transfer data between applications that use different formats. When reading information from the clipboard with Delphi's TClipboard class, we are limited to standard clipboard formats: text, pictures and metafiles.
Suppose we have two different Delphi applications running, what do you say about defining custom clipboard format in order to send and receive data between those two (Delphi) programs?
Read the full article to learn how to dive into the Clipboard change notifications using Delphi and create your own Clipboard formats.
Related:
Custom Drawing a TComboBox: Color Pick List, Font Pick List
As with menus (menu items), an application can create an owner-drawn combo box to take responsibility for painting list items. An owner-drawn combo box can list/show information other than text strings - usually some graphical elements.
To demonstrate owner-drawing with combo boxes you'll create a combo box full of colors (two variations) and a combo with true-type fonts showing the actual image of the font.
Read the full article to learn about Drawing a TComboBox: Use Owner Drawing to create a Color Pick List and a Font Pick List.
Related: Owner Drawing Popup Menus | Implementing OnMouseOver for Items in a TComboBox | Professional Looking Grids with Custom Drawing
Have a Delphi Function Return Multiple Results / Values
Read the full article to learn how to Return Multiple Values From A Delphi Function
Related:
Intercepting Keyboard Input with Delphi - Implementing a Keyboard Hook
Consider for a moment creation of some fast arcade game. All the graphics is displayed, let's say, in a TPainBox. TPaintBox is unable to receive the input focus - no events are fired when the user presses a key; we cannot intercept cursor keys to move our battle ship. Delphi help!
Read the full article to learn about Intercepting Keyboard Input with Delphi - Implementing a Keyboard Hook.
Related How to Hook the Mouse to Catch Events Outside of your application | Disable Mouse and Keyboard from Delphi code | Sending messages to non-windowed applications
Understanding Owner Drawing in Delphi
I guess we all like the idea of graphics displayed in the "Start" menu of Windows XX. Have you ever wondered is it possible to do custom control drawing with Delphi?
Here comes Owner Drawing - an excellent way to improve the look and feel of your Delphi application by changing the control's standard appearance.
Read the full article and learn about owner drawing in Delphi.
Related : How to Mimic Office 2007 Rich Menus using Owner Drawn TMenuItems | Graphical Combos | Professional Looking Grids with Custom Drawing
Understanding and Processing Keyboard events in Delphi
Read the full article to get a better Understanding and Processing Keyboard events in Delphi
Related : Setting up application wide hot key (keyboard short cut) | Translate a Virtual Key Code to a Character in Delphi Keyboard Event Handler | Programmatically Get and Set the State of the CapsLock and NumLock Keys
