| Most recent Delphi tutorials and articles | |
|
Here are links to all of your favorite tutorials, articles, VCL top picks, tool reviews, technical tips on Delphi Programming and a lot more, sorted by date. If you prefer, you can browse by topic. | |
More Features...
Various Delphi Programming tutorials, articles and technical papers sorted by date:
2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998
Delphi Programming Tips 'n' Tricks
Adding Advanced User Controls to a Web Page Dynamically - 05/30/2006
A Beginner's Guide to ASP.NET Programming for Delphi developers: Chapter 24.
User Controls allow a Delphi ASP.NET developer to wrap the common UI features of a web applications into reusable components. In real world applications you'll want to be able to dynamically load a user control and place it on the page. What Page event should you use to LoadControl? Once on the page, how do you handle User Control events? Find the answers in this chapter ...
Add you Delphi application to the Windows "Send To" menu - 05/29/2006
Another approach to allowing the user to send a file to your Delphi application for processing, without the need to register a file type, is to add your application to the special Windows 'Send To' menu. Here's how to programmatically add your application to the 'Send To' menu.
Developing and Using Custom User Controls in ASP.NET - 05/23/2006
A Beginner's Guide to ASP.NET Programming for Delphi developers: Chapter 23.
Much similar to Win32 Delphi's TFrame objects, an ASP.NET User Control is a container for components; it can be nested within Web Forms or other User Controls. User controls offer you an easy way to split and reuse common user interface functionality across the pages of your ASP.NET Web application.
Drawing a Focus Rectangle Around the Active Control - 05/22/2006
By using the OnActiveControlChange event of the Delphi's TScreen class you can change the background color of the active input control. To create event more eye-catching effect you could 'draw' a rectange around the focused control.
Generic Solution to Coloring the Focused Entry Control - 05/16/2006
Generic solution to changing the background color (and other properties) of the focused (selected for input) Delphi control. Learn how to exploit the powers of the RTTI, OnEnter and OnExit events of a Delphi control along with the TScreen's OnActiveControlChange event to provide a more user-friendly application interface.
How to Detach an Event Handler from a Control Event - 05/15/2006
Almost all the code you write in your Delphi applications is executed, directly or indirectly, in response to events. For example, when a user clicks a button, an OnClick event is being raised. You can write an event handling procedure to react on this event. Here's how to detach (remove, disable) the event handling code from the event...
Managing Component Arrays (Created at Run-Time) in Delphi - 05/09/2006
Learn how to access a group of programmatically created components - by storing the components in an array.
How to Draw a Gradient Fill on a Canvas - 05/08/2006
Here a two custom Delphi functions to paint a Canvas object using gradient fill from one color value to another, either vertical or horizontal ...
Managing Component Arrays (Created at Design-Time) in Delphi - 05/02/2006
Learn how to access a group of design-time created components - by storing the components in an array.
How to Animate (Scroll) Application Title on the TaskBar - 05/01/2006
If a lengthy process is about to start in you Delphi application, you can indicate that the process is still running by, for example, animating the title of your application, i.e. animating the caption of your application's TaskBar button.
Create a Windows Start-Up Manager - 04/25/2006
How to build a program (using Delphi) that allows a user to control which applications will run when Windows starts up. Full source code (heavily documented) included.
Create a Resizable Form with No Border - 04/24/2006
There may be situations when you want to remove a form's border (and title bar) *but* still leave the option for a user to resize the form. Here's how...
Create a Time Out Button / Entry Form - 04/18/2006
If you are developing a "quiz-like", or an "exam-like" Delphi application, a user needs to make a selection and click the "Next" button, to go to the next "question". In such scenarios you might need to force a user to make a selection (choose the "answer") within a specified time interval. Here's how to code a timeout-button click...
TListBox with Radio Buttons - 04/17/2006
Here's how to draw a radio button for each of the items in a List Box...
How to Build your First "Hello World VIRUS" - 04/11/2006
Who said programming cannot be fun? Let's create a simple "memory eater" that executes itself an unlimited number of times - thus consuming all the Windows memory :) Ah, ok. This Virus will also free the memory it occupies.
How to Display "Bold" Items in the TTreeView - 04/10/2006
By default (Windows drawing), all items (tree nodes) of a tree view share the same font styling. If you only want to apply *bold* to some tree items (their Captions), you can use a "special" TreeView API. Here's how to *bold* tree items in Delphi applications.
How to Dynamically Add Items (Holding Custom Properties) to a TPopUp Delphi Menu - 04/04/2006
How to add menu items to a Menu (or Popup menu) at run-time, how to respond to the OnClick event. Plus: how to extend the TMenuItem to hold custom string property.
How to Access a TRadioButton from a TRadioGroup - Disable, Change Font, etc. - 04/03/2006
Here's how to access a specific radio button either by Index or by Caption. When you "grab" the TRadioButton you can disable it, change its color, etc...
How to AutoFit the Columns in the TDBGrid - 03/28/2006
While DBGrid has many properties and events you can use to create nicely looking and highly configurable user interfaces for data editing, there are always situations when users want more. Let's see how to add the "AutoFit" functionality to the Columns of a TDBGrid component.
How to Jump to the Last Item in the TListBox Delphi component - 03/27/2006
When dynamically adding items to the ListBox you might want to ensure that the last added item is visible. Here's how to use the TopIndex property to ensure the visibility of the last item (and all the items at the end of the list that can "fit" into the box).
How to Store and Retrieve DBGrid's Columns Order and Visibility - 03/21/2006
If you allow a user to customize DBGrid's appearance at run time (Columns width and position), when the form is closed and reopened, all the user changes are lost. For a better user experience, it would be ideal if your application could somehow store (and load when needed) all the changes the user has made to the Grid appearance. Here's how.
How to Programmatically Open the Recycle - 03/20/2006
When you delete a file in Windows Explorer or My Computer, the file appears in the Recycle Bin. The file remains in the Recycle Bin until you empty the Recycle Bin or restore the file.
Here's how to programmatically display the Recycle Bin to a user of your Delphi application.
How to send information (String, Image, Record) between two Delphi applications - 03/14/2006
Learn how to send the WM_CopyData message between two Delphi applications to exchange information and make two applications communicate. The accompanying source code demonstrates how to send a string, record (complex data type) and even graphics to another application.
Activate a Running Instance when a User Openes an Associated File (By Extension) - 03/13/2006
When a user select more than one file to be opened by your Delphi application (after you have registered your own file type - extension), Windows will start as many new instances of your application as there are files being opened. Here's how to make sure that all the selected files are being handled by only one instance of the application.
How to Mimic Office 2007 Rich Menus using Owner Drawn TMenuItems - 03/07/2006
A sample Delphi application that demonstrates how you can make your menu items take on the new look of the Office 2007 - coding rich menus using owner drawing techniques.
How to Run your Delphi Application by Double-Clicking on a File (Register a FileType - Extension with Your Program) - 03/06/2006
When creating applications, it is often necessary to store (application related) data on the file system. You may choose to create your own file type (with a *unique* extension) and then associate that extension with your application through Windows. This tells Windows to automatically run your application when a user double-clicks a file in Windows Explorer, for example.
Storing Record Data in a Blob Field - 02/28/2006
Here's how to store (and retrieve) a record (structure) value into a BLOB field in Delphi database applications.
How to Use a Function or a Procedure as a Parameter in another Function - 02/27/2006
In Delphi, procedural types allow you to treat procedures and functions as values that can be assigned to variables or passed to other procedures and functions. Here's how to send a function (or a procedure) as a parameter to another function in Delphi.
Where to Find ASP.NET Examples with Delphi Source Code? - 02/21/2006
Here's a list of the ASP.NET Delphi source code examples, written by Zarko Gajic that can be found on the Borland's Code Central. Included: aspxDelphi.net WCL (Web Control Library for ASP.NET), ASP.NET Web.Config (Custom) Section Handler, ASP.NET Portal Example (BDSWebExample), Delphi Web Store and Delphi Web Store Admin.
How to Convert RGB Color Value to HSB (HSV) Color Value from Code - 02/20/2006
The HSV (Hue, Saturation, Value) model, also called HSB (Hue, Saturation, Brightness), defines a color space commonly used in graphics applications. Hue value ranges from 0 to 360, Saturation and Brightness values range from 0 to 100%. Here's a function to convert a RGB color to a HSV color...
Delphi is Looking for a New Owner - Views and Speculations - 02/14/2006
After just releasing the BDS 2006, Borland plans to seek a buyer for Delphi and other IDEs and developer tools and products. I guess (with me being among them) all Delphi developers are worried about the future of Delphi. Let's see what (soon-to-be) ex-Borlanders are saying and what the general (Delphi) developers community feels about this move by Borland.
How to Move ListBox Items with the Mouse (Drag and Drop) - 02/13/2006
Here's how to allow a user to rearrange the items (change position) of a list box using drag and drop...
How to Enumerate Web Browser Windows and Retrieve Document Info (Url, Htm, Node) - 02/07/2006
A sample Delphi project to get the list of all opened Web Browser instances. Find out how to extract the URL, document HTML, document text and all the tags with their attributes. Full source code included.
How to Detect a TPopupMenu's OnClose (OnPopDown) Event - 02/06/2006
The TPopupMenu does not expose an event you can handle that will fire when the menu gets closed - either after a user has selected an item from the menu or has activated some other UI element. Here's a fix to this behavior.
How to Convert Numbers (Currency) to Words - 01/31/2006
A sample project to convert (depending on the real type used) positive and negative real values up to 1.00E18 to the English words. The return value can represent either currency or numerals. For example 1234.567 will be returned as either "one thousand, two hundred and thirty four dollars and fifty six cents". Full Delphi source code included.
How to Remove the "Today" Mark from the TDateTimePicker - 01/30/2006
The TDateTimePicker component displays a list box for entering dates or times. By design it displays the label "today" at the bottom of the control allowing a user to quickly select the today's date. Here's how to remove the "today" marker from the TDateTimePicker.
Book Review: Inside Delphi 2006 - 01/24/2006
'Inside Delphi 2006' demonstrates how to use all four languages included in the Borland Developer Studio 2006: Delphi (for Win32 and for .NET), C# and C++. Topics include the foundations of Delphi, VCL framework programming, and .NET programming. This review will help you decide if this is the book on Delphi you were waiting for.
How to Clone a Delphi Form - 01/23/2006
Besides instantiating Delphi Forms dynamically, you can decide to create a *clone* of an existing form - by using the TMemoryStream's ReadComponent and WriteComponent methods.
Get the Url of a Hyperlink when the Mouse moves Over a TWebBrowser Document - 01/17/2006
A typical Web Browser displays, in the status bar, the URL of the hyperlink when the mouse hovers over a link in a HTML document. Here's how to implement event sinking for a document displayed by the TWebBrowser component - and get the info of a HTML element below the mouse.
How to Change the Colors of the TProgressBar - 01/16/2006
By design, the colors of a progress bar are determined by Windows. Here's how to change the background color and the bar color of a TProgressBar Delphi component, at run-time.
How to Hook the Mouse to Catch Events Outside of your application - 01/10/2006
Learn how to track the mouse activity even when your application is not active, sits in the Tray or does not have any UI at all. By installing a system wide (or global) mouse hook you can track what the user is doing with the mouse and act accordingly.
How to Right Align a Menu Item - 01/09/2006
How to align a form's Help menu item (for example) on the right side of the menu bar, in Delphi applications.
A Delphi Developer Resolutions for 2006 - 01/03/2006
Borland Developer Studio 2006, the most productive, complete, and reliable Windows RAD environment ever! Delphi for Win32 development, Delphi for .NET, C# Builder and C++ Builder in one box. Read about the cool new features and improvements.
Creating Custom Code Templates in Delphi 2006 - 01/02/2006
One of the new features in Delphi 2006 are live code templates. Code templates provide a means of automating the task of typing frequently used code structures. Here's how to create a custom code template, in Delphi 2006, to open an URL in your default browser.
More Features...
Various Delphi Programming tutorials, articles and technical papers sorted by date:
2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998
Delphi Programming Tips 'n' Tricks