Published: Tue, 27 Sep 2016 11:18:25 +0000
2016-09-27T11:18:25ZLearn symbolic constant names and keyboard equivalents for the virtual key codes used by Windows. How to enhance the functionality of a TDBgrid component.
2016-09-27T11:18:25ZContrary to most other Delphi data-aware controls, the DBGrid component has many nice features and is more powerful than you would have thought. The
2016-09-27T11:18:25ZI do not know when and where, but long time ago I read the following: "Delphi programming is the mutts
2016-09-27T11:18:25ZThe concept of arrays in Delphi is simple: arrays allow us to refer to a series of variables by the same name and to use a number (an index) to tell them apart. Arrays have both upper and lower bounds, and the elements of the array are contiguous within those bounds.
2016-09-27T11:18:25ZHave you ever needed to open documents in a file listbox, just by double clicking on them, without opening the associated program first? Learn how.
2016-09-27T11:18:25ZA Dynamic Link library, or DLL, is a collection of routines (small programs) that can be called by applications and by other DLLs. Using Delphi, we can write and use our own DLLs, and we can call functions in DLLs developed with other systems / by other developers. Find out how.
2016-09-27T11:18:25ZIs the mouse over a component? Was a mouse button pressed? Which button was it? Did the user release a button, which one? Exactly where inside the form is the mouse? Did the user move the mouse out of the form into another form?
2016-09-27T11:18:25ZBefore you can call routines defined in DLL, you must import them. Functions exported from a DLL can be imported in two ways: by declaring an external procedure or function (static), or by direct calls to DLL specific API functions (dynamic). What should be used when: static or dynamic loading of DLLs in Delphi.
2016-09-27T11:18:25ZA Beginner's Guide to Delphi Programming. Free online programming tutorial / course for beginner developers. Focus on Borland Delphi.
2016-09-27T11:18:25ZWhen you start programming in Delphi you might get errors like
2016-09-27T11:18:25ZLearn all about coloring DBGrid. Learn how to enhance the functionality of a TDBgrid component using colors to distinguish yourself from others.
2016-09-27T11:18:25ZWorking with GIF images in Delphi. Need to display an animated GIF image in a Delphi application? Even though Delphi does not natively support GIF image files formats (like BMP or JPEG) there are a few great (free source) components available on the Net, which add the ability to display and manipulate GIF images at run as well as at design time to any Delphi application.
2016-09-27T11:18:25ZThis article will show you how to use the TClipboard object to implement cut-copy-paste features in your Delphi application.
2016-09-27T11:18:25ZA Delphi function is a routine returning a value. A single value? Yes, No. No, a Delphi function can return multiple values and there are different ways how to achieve this goal. Either rely on VAR (by-reference) parameters or return a record, or something even more complex...
2016-09-27T11:18:25ZSend email messages with attachments using Indy and Delphi. Full source code to a simple
2016-09-27T11:18:25ZGet familiar with the OnKeyDown, OnKeyUp, and onKeyPress Delphi event procedures to respond to various key actions or handle and process ASCII characters along with other special purpose keys.
2016-09-27T11:18:25ZIntroduced in Delphi 2009, the TDictionary class, defined in Generics.Collections unit, represents a generic hash table type collection of key-value pairs. In Delphi, the TDictionary is defined as a hash table. Hash tables represents a collection of key-and-value pairs that are organized based on the hash code of the key. Hash tables are optimized for lookups (speed). When a key-value pair is added to a hash table, the hash of the key is computed and stored along with the added pair.
2016-09-27T11:18:25ZLearn about records, Delphi's data structure that can mix any of Delphi's built in types including any types you have created.
2016-09-27T11:18:25ZThe .INI files have a text-based file format for representing application configuration data in a format which is easily editable by humans and readable by a simple automatic parser. Learn how to use Delphi's TIniFile to read and write INI configuration files.
2016-09-27T11:18:25ZMulti-threading in Delphi lets you create applications that include several simultaneous paths of execution. When several threads are running in the application a question arises: how to update your GUI (user interface) as a result of a thread execution. The question lies in the TThread class Synchronize method.
2016-09-27T11:18:25ZWhat You Need to Know About Delphi Programming. The purpose of this page is to orient newcomers with an overview of some special features of the About Delphi Programming Web site.
2016-09-27T11:18:25ZHow 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.
2016-09-27T11:18:25ZAbout.com's Delphi Programming site (http://delphi.about.com) proudly presents: free online programming tutorials for (beginner) Delphi developers!
2016-09-27T11:18:25ZThe differences between a Delphi component Owner and its Parent explained. Plus: when to use the Controls and Component properties of a Delphi component.
2016-09-27T11:18:25ZDelphi's implementation of the rich editor control (TRichEdit) does *not* expose the default context popup menu when the rich edit is right-clicked. Here's how to implement the default context popup for a rich edit control
2016-09-27T11:18:25ZDelphi organizes applications into what is called projects. A project is made up of the visual interface along with the code that activates the interface. Each project can have multiple forms, allowing us to build applications that have multiple windows. Find out about Delphi's Project File in this article!
2016-09-27T11:18:25ZThe TTreeView Delphi component displays a hierarchical list of items - tree nodes. A node is presented by node text and an optional image. In real-world applications your tree nodes would need to carry more info: some more properties or even an entire custom object. How to?
2016-09-27T11:18:25ZTo speed up data processing, for example, fetching data from the database to create reports, you can add an additional thread to fetch and operate on the result (recordset). Learn about the traps in writing Multithreaded Delphi Database Queries with dbGo (ADO).
2016-09-27T11:18:25ZAlong with the extended RTTI in Delphi 2010, a new language feature was introduced: Attributes. Attributes are a language feature in Delphi that allows annotating types and type members with special objects that carry additional information. A few examples to get you started...
2016-09-27T11:18:25ZFull source code of the TColorButton Delphi component, an extension to the standard TButton control, with font color and background color.
2016-09-27T11:18:25ZLearn about creating a console mode application with Delphi; a text-mode program that runs without a graphical interface. See how to capture the output.
2016-09-27T11:18:25ZEverything you ever wanted to know about DLLs and Delphi but didn't know where to look for answers (or were to afraid to ask)
2016-09-27T11:18:25Zclass="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >A feature of the
2016-09-27T11:18:25ZLearn about placing Delphi applications in the System Tray in easy steps. The perfect place form programs can run for a long time without user interaction.
2016-09-27T11:18:25ZThe Win 3.1 Delphi components palette group includes several components that enable us to build our own custom File Open or File Save dialog box. The components are TFileListBox, TDirectoryListBox, TDriveComboBox, and TFilterComboBox. Let's see how we can build a simple File Navigating dialog box with these components and just a few lines of code.
2016-09-27T11:18:25ZWhat most Delphi developers are not aware of, is that you can even implement the OnMouseHover behavior to change the display (color, font, etc.) of the DBGRid's (data) row underneath the mouse - thus making it look like todays web driven interfaces.
2016-09-27T11:18:25ZOverview of dbExpress, along with a collection of tutorials and articles on building database applications using this data access technology.
2016-09-27T11:18:25Zclass="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >Users accustomed
2016-09-27T11:18:25ZThe Understanding Delphi Class (and Record) Helpers article introduces a feature of the Delphi language allowing you to extend the definition of a class or a record type by adding functions and procedures (methods) to existing classes and records without inheritance. In XE3 Delphi version, record helpers became more powerful by allowing to extend simple Delphi types like strings, integers, enums, sets and alike. Here's a sample helper for a set of bytes.
2016-09-27T11:18:25ZLearn 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.
2016-09-27T11:18:25Zclass="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >The idea of this
2016-09-27T11:18:25ZExtending Delphi functions and procedures with default (optional) parameters and method overloading.
2016-09-27T11:18:25ZHow to sort records in Delphi DbGrid by clicking on the column title. Plus: how to change the appearance of the selected column title with sort order.
2016-09-27T11:18:25ZCreating a new Delphi (VCL, FMX) application would result in creating a single application (program) where all the units and forms used in the program would be compiled/linked into a singe executable file. If you would like to have the same code base in one program but also have an option to build two (or more) different applications - you should be looking at Delphi's conditional compilation.
2016-09-27T11:18:25ZWorking with binary files from Delphi. Use Delphi to manage writing, reading and updating your own types of files.
2016-09-27T11:18:25ZAn introduction to pointer data type in Delphi. What are pointers, why, when and how to use them.
2016-09-27T11:18:25ZFree online database programming course for beginner Delphi developers. Focus on ADO techniques.
2016-09-27T11:18:25ZAn overview of VCL components allowing you to access a MySQL database from Delphi using standard data controls without using BDE/ADO/ODBC. Plus a few MYSQL related tools.
2016-09-27T11:18:25Zclass="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >Delphi provided
2016-09-27T11:18:25ZIn most of my Delphi applications I'm using INI files to store configuration options. For one particular situation I wanted to somehow hide the content of the INI file. Yes, INI files are not to be used to store critical data, but in this case I only simply wanted to have a no-eye situation. Let's see how to crypt and uncrypt INI files.
2016-09-27T11:18:25ZThere are situations when you want to display a list of strings to the user, for example in the list box control, but also have a way to store one more additional string (or event an object instance) along the one displayed to the user. Here's how when using Delphi.
2016-09-27T11:18:25ZFind out how to exploit the powers of the Sender parameter in Delphi: share event handlers and more.
2016-09-27T11:18:25Zclass="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >A "Button with
2016-09-27T11:18:25ZLooking for a single-file, single-user database for your next Delphi application? Need to store some application specific data but you do not want to user the Registry / INI / or something else?
2016-09-27T11:18:25ZAdding components to a DBGrid. Here's how to place a check box into a DBGrid. Create visually attractive user interfaces for editing boolean fields.
2016-09-27T11:18:25ZGenerics, a powerful addition to Delphi, were introduced in Delphi 2009 as a new langage feature. Generics or generic types (also know as parametrized types), allow you to define classes that don't specifically define the type of certain data members. Get ready to use Generics.
2016-09-27T11:18:25ZLearn how to save published properties of a class into a stream / file and read back. Use it to store your Delphi application specific configuration data.
2016-09-27T11:18:25ZA guide to developing Delphi programs in Windows API (without the use of the VCL). Free online programming course for intermediate/advanced Delphi developers. Focus on raw Windows API programming.
2016-09-27T11:18:25ZDelphi makes it easy to program dragging and dropping into our applications. You can even drag and drop from one form to another.
2016-09-27T11:18:25ZWith AsyncCalls you can execute multiple Delphi functions at the same time and synchronize them at every point in the function or method that started them. Here's an example project taking advantage of the thread pool implementation with CancelAll and WaitAll.
2016-09-27T11:18:25ZIf you need to implement some kind of authorization for your Delphi application you might want to display a login / password dialog *before* the main form is created and displayed to the user. In short, the idea would be to create, display, and destroy the
2016-09-27T11:18:25ZAs 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. Let's see how you can do it in Delphi.
2016-09-27T11:18:25ZMore sophisticated Mouse techniques. Is mouse Present? Handling OnMouseEnter, OnMouseLeave. Restrict movement, Set Position, Faking clicks, etc.
2016-09-27T11:18:25ZLearn how to programmatically download a web document from the Internet using Delphi and WinInet API.
2016-09-27T11:18:25ZWindows Service applications take requests from client applications, process those requests, and return information to the client applications. They typically run in the background, without much user input. Services can be automatically started when the computer boots, can be paused and restarted, and do not show any user interface.
2016-09-27T11:18:25ZOne of the keys to traditional Windows programming is handling the messages sent by Windows to applications. Handling Windows Messages the Delphi way!
2016-09-27T11:18:25ZThe TListView Delphi control displays and manages a list of items, displayed in columns, vertically or horizontally, with small or large icons. If you are using Delphi 2007, Delphi 7 or any other previous version, you can also have grouping (with expand, collapse) functionality in the TListView control. Here's one implementation idea.
2016-09-27T11:18:25ZWhispering about reverse engineering Delphi applications: 'I have a Delphi program's .exe, can I decompile it and get the source?'. Page 3.
2016-09-27T11:18:25ZMultiple row selection in Delphi DBGrid - providing the ability to select multiple records within the grid. Learn this step of Delphi Database Programming.
2016-09-27T11:18:25ZThese top Delphi reporting tools easily create complex reports that directly link to a Delphi EXE. The tools include a report engine, report designer, and a previewer.
2016-09-27T11:18:25ZOne of the Delphi language features not found in other modern languages is the notion of sets. Delphi's set type is a collection of values of the same ordinal type. Learn about Delphi sets to better understand Delphi source code.
2016-09-27T11:18:25ZLooking for a free source multi-purpose Delphi component collection to add more power to your applications? Look no more, here's a list of the best Delphi component (free with source) sets on the Net!
2016-09-27T11:18:25ZNo title bar! How can we drag such a window? It's easy and fun: let's make a Delphi form move by clicking (and dragging) in it's client area.
2016-09-27T11:18:25ZThe TStopWatch Delphi class implements a very accurate process execution timer and provides a set of methods and properties that you can use to accurately measure elapsed time.
2016-09-27T11:18:25ZLearn how to read and manipulate XML documents with Delphi using the TXMLDocument component. Let's see how to extract the most current
2016-09-27T11:18:25ZEverything you need to know about Delphi and the Extensible Markup Language. Find out about creating and parsing XML documents, look for parser components and more.
2016-09-27T11:18:25ZHere's how to obtain a computer's IP address by using the Socket API and Delphi's Pascal. Icmp.dll allows developers to write ping applications on Windows.
2016-09-27T11:18:25ZUnderstanding and using Borland Delphi Class procedures / functions. What they are and how to find a practical use for them.
2016-09-27T11:18:25ZNeed to create, encrypt or manage PDF (Portable Document Format) files from Delphi? Using the tools and components in this listing you will get powerful control of PDF documents in your applications. PDF is a worldwide standard for electronic documents. It was originally developed by Adobe.
2016-09-27T11:18:25ZPut shortly, a hook is a function you can create as part of a dll or your application to monitor the 'goings on' inside the Windows operating system. Hooks.pas ensures hooking in Delphi applications is easy.
2016-09-27T11:18:25ZTo use a DLL stored inside a Delphi application executable file, the DLL first needs to be stored on the file system. Does it? Here's how to load a DLL from a resource directly into memory and use it without saving it to the hard-drive.
2016-09-27T11:18:25ZThis document describes what Windows hooks are and how to use them within a Delphi application.
2016-09-27T11:18:25ZFree online Borland Delphi OOP Course: Chapter Overview.
2016-09-27T11:18:25ZAn introduction to Delphi Pascal. Before you start developing more sophisticated applications by using the RAD features of Delphi, you should learn the basics of the Delphi Pascal language.
2016-09-27T11:18:25ZCreate visually more attractive user interfaces for editing lookup fields inside a DBGrid - place a DBLookupComboBox into a cell of a DBGrid.
2016-09-27T11:18:25ZExamining the life cycle of a Delphi Form - the central element of development in Delphi. See what's happening behind events OnCreate, OnActivate, OnShow, OnClose...
2016-09-27T11:18:25ZHaving all your background threads running at the same time is not something Windows would be happy with. While Delphi does allow you to easily create a separate thread (by extending the TThread class) it does not provide a thread pool implementation out of the box. The OTL does - here's a sample thread pool for your background tasks implemented in OmniThreadLibrary.
2016-09-27T11:18:25ZUnfortunately, if you need to know what list view item was clicked or double clicked you cannot simply handle the OnClick / OnDblClick events to get the clicked item. You need to call the GetHitTestInfoAt function and make sure the click event occurred over an actual item. Here's how.
2016-09-27T11:18:25ZIf 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.
2016-09-27T11:18:25ZHave you ever found yourself writing the same code over and over to perform some common task within event handlers? Yes? It's time for you to learn about programs within a program. Let's call those mini programs subroutines.
2016-09-27T11:18:25ZThe 101 article was an introduction to interfaces and implementing them. This time we'll explore more topics related to working with interfaces. What to do when 2 interfaces define the same named method and you need to implement both? How to have properties in interfaces?
2016-09-27T11:18:25ZTQPDF - Delphi wrapper for the QPDF.DLL. QPDF is capable of creating linearized (also known as web-optimized) files and encrypted files. It is also capable of converting PDF files with object streams (also known as compressed objects) to files with no compressed objects or to generate object streams from files that don't have them (or even those that already do).
2016-09-27T11:18:25ZThe MD5 Message-Digest algorithm is used to check the integrity of files. Learn how to easily create a function to calculate the MD5 hash for a given file.
2016-09-27T11:18:25ZWhen programming an event handler in Delphi (like the OnClick event of a TButton), there comes the time when your application needs to be busy for a while, e.g. the code needs to write a big file or compress some data. If you do that you'll notice that your application seems to be locked. Your form cannot be moved anymore and the buttons are showing no sign of life. It seems to be crashed. Application.ProcessMessages might come as a rescue, but you need to know its dark side!
2016-09-27T11:18:25ZIf you're looking for the best Delphi testing and debugging tools, look no further. The list contains tools to help you speed up your development by finding possible bugs, memory leaks, ...