2009 News Archive

31st December

  • Released v3.3 of the System Information Unit that now detects terminal services remote sessions.
  • Released v3.4.7 of CodeSnip that makes some minor changes to snippets editor and product registration.

29th December

27th December

  • Released v3.5 of the About Box Component. Removes support for Delphi 1 and fixes a bug that froze the Delphi 2010 IDE.

26th December

  • Updated Tip #61 "Execute a DOS command and capture the output" to work with Unicode Delphis.

16th December

14th December

5th December

21st November

  • Released v7.1.0 of the Version Information Spy. Adds XML documents describing version information, per a user request. Source code is now available in a Subversion repository on Google Code.

19th November

  • Fixed error in GetAllEnvVars function in Article #6: "How to access environment variables". Thanks to Dejan Todorovi for spotting this.

18th November

  • Released v3.4.6 of CodeSnip. Fixes bug #2898687 and some other unreported potential bugs.

15th November

14th November

13th November

  • Fixed potential bug in Pause routine from the Code Snippets Database.
  • Fixed potential bug in Tip #72, "Check that a HTML document has completely loaded". This is same as above bug in Code Snippets Database's Pause routine.

12th November

11th November

9th November

6th November

  • Published 13 new tips from the former Delphi Pool:
    Tip #138: "How to get the system's colour palette".
    Tip #139: "How to create gradient colour schemes".
    Tip #140: "How to convert hex colour values into Delphi formatted ones".
    Tip #141: "How to mix or separate three color channels".
    Tip #142: "How to adjust RGB values using TTrackBars".
    Tip #143: "How to draw dotted or dashed lines using a pen with a width greater than 1".
    Tip #144: "How to generate a circle through three points".
    Tip #145: "How to compare two pf24bit images".
    Tip #146: "How to implement a 'Lasso'".
    Tip #147: "How to blend two pf24bit images using ScanLine".
    Tip #148: "How to create a pie chart".
    Tip #149: "How to change the corner size of RoundRect".
    Tip #150: "How to determine the track of the current CD".

5th November

  • Added four new graphics routines and a new type to the Code Snippets Database.
  • Published 15 new Delphi Tips by Shlomo Abuisak:
    Tip #123: "How to detach and re-attach an event".
    Tip #124: "Detect if an application has stopped responding".
    Tip #125: "Find the position of the text cursor in a memo control".
    Tip #126: "Scanning MS Office documents using the MS Anti-virus API".
    Tip #127: "Prevent system sleep".
    Tip #128: "Right align main menu items".
    Tip #129: "How to use a function or a procedure as a parameter to another function".
    Tip #130: "Using the TStrings.ValueFromIndex property".
    Tip #131: "Print any type of document using Delphi".
    Tip #132: "Which COM objects to use?".
    Tip #133: "Serialize application settings".
    Tip #134: "Different ways of executing applications and files from Delphi".
    Tip #135: "Programatically log users off".
    Tip #136: "How to replace text in a Word document".
    Tip #137: "Communicate with Windows Program Manager using DDE".

4th November

31st October

30th October

28th October

  • Five more new ex Delphi Pool tips:
    Tip #118, "How to create a TTreeView with a three state checkbox"
    Tip #119, "How to change the drag cursor image when dragging in a TTreeView"
    Tip #120, "How to create a TScrollBar with a background bitmap"
    Tip #121, "How to create a TScrollBox with its own background"
    Tip #122, "How to implement an OnMouseDown event for the buttons of a TRadioGroup"

26th October

  • Ten new tips from the former Delphi Pool:
    Tip #108, "How to reduce the number of Set methods in a component"
    Tip #109, "How to make a TCollectionItem contain a TCollection"
    Tip #110, "How to add text completion capability to a TComboBox"
    Tip #111, "How to implement autocompletion in a TEdit"
    Tip #112, "How to create a TGroupBox with a checkbox that disables / enables all contained controls when checked"
    Tip #113, "How to use a scroll event in a TListBox"
    Tip #114, "How to create a TListBox that is resizable at runtime"
    Tip #115, "How to create a TListBox with Drag and Drop capabilities"
    Tip #116, "How to expand a TMemo while keying in"
    Tip #117, "How to add an OnMouseDown event to a TPopupMenu"

22nd October

21st October

  • Released v3.4.4 of CodeSnip. Syntax highlighter bug fix, new predefined highlighters and changes to bug reporting mechanism.

20th October

  • Version 1.9 of Bill Miller's Code Snippets Database Demo program has been released.
  • Published new Tip #107: "Remove recently opened projects from the CodeGear RAD Studio IDE welcome page", contributed by Jeff DeVore.

19th October

  • Released v3.4.3 of CodeSnip. Some minor changes to software registration and text preview dialog box.

16th October

12th October

  • Changed all external links so that they display in new windows, providing JavaScript is enabled. Offsite links appear like this.
  • Corrected Subversion repository check-out URL on BDiff / BPatch Download Page: Assembla.com changed it.

10th October

  • Released v3.4.2 of CodeSnip. Printer related bug fixes.

9th October

7th October

  • Released v3.0 of the Stream Extension Classes. Deprecated resource stream code removed. Demo programs are now Unicode compatible. Source code has been moved to a Subversion repository on Google Code. Bugs are now reported via the Google Code Issue Tracker.
  • New Tip #106: "Install components and IDE extensions into the Delphi IDE".

2nd October

29th September

  • Released v3.4.1 of CodeSnip. User info entered in dialogs is now remembered and re-used.

28th September

27th September

  • Released v3.2 of the System Information Unit. Made some more Windows 7 related updates, extended compatibility down to Delphi 3 and made changes to avoid warnings on Delphi 7 and Delphi 2009/10. Unit confirmed as compatible with Delphi 2009/10.

26th September

  • Revised Article #10 "How to create and use HTML resource files". Updated content and changed demo program to compile with Unicode Delphis.
  • Revised Article #14 "How to load and save documents in TWebBrowser in a Delphi-like way". Revised content and changed demo program to compile with Unicode Delphis.

24th September

  • Released v3.4 of CodeSnip that adds support for the Delphi 2010 compiler.
  • Added Delphi 2010 compiler support to the Code Snippets Database.
  • Added information about Delphi 2010 compatibility to the Delphi Library.
  • Noted details of four new CodeSnip bugs and those which where fixed in CodeSnip v3.4.

23rd September

21st September

  • Released v3.3 of CodeSnip. Added support for user defined categories and made improvements to snippets editor. Also fixed file error reporting bug.

20th September

14th September

  • Released minor update v3.2.3 of CodeSnip. Fixes a bug in "update from web" dialog box where latest news item was not being displayed. Also categories displayed in dialog box tree views are now sorted alphabetically.
  • More new tips from the former Delphi Pool:
    Tip #96, "How to use the alpha transparency features included in Windows 2000 and later"
    Tip #97, "How to convert a *.bmp file to a *.jpg file"
    Tip #98, "How to create a brush using CreateBrushIndirect"
    Tip #99, "How to resize a *.jpg image and save the result to a file"
    Tip #100, "How to save several TBitmaps into one file"
    Tip #101, "How to convert an integer value to a Roman Numeral representation"
    Tip #102, "How to control the scroll buffer of a TMemo"
    Tip #103, "How to get the physical caret position in a TMemo, TEdit or TRichEdit"
    Tip #104, "How to save and load printer settings to / from the registry"
  • A further original new Tip #105, "How to send a message to a specific control on a TForm"

9th September

  • Released minor update v3.2.2 of CodeSnip. Fixes an irritating little bug in check list boxes and some other little tweaks.
  • Title text is now included in Delphi Tips searches.

7th September

  • Five new tips from the former Delphi Pool:
    Tip #91, "How to create a TTreeView without scrollbars"
    Tip #92, "How to create a resizable TPanel with a size grip"
    Tip #93, "How to resize a TPanel at runtime"
    Tip #94, "How to create a non-rectangular TPanel"
    Tip #95, "How to get the RGB value of a pixel under the mouse cursor".

29th August

  • Yet more tip updates:
    Tip #10, "Delete files with the ability to undo or recycle " – Added a second related "answer".
    Tip #87, "How to create a TMemo with alternating colours to paint the lines " – Made major changes to the demo code.
    Demos of some other tips received minor changes.
  • Corrected typo in name of StringsToMultiSz routine in Code Snippets Database.

28th August

  • Demo code has been added to some Delphi tips. You'll need JavaScript enabled to see the demos. Click the "Show demo code" to reveal the demo code and description.
    Tip #12, "How to perform a Shell Sort".
    Tip #24, "How to get a screen shot of a control".
    Tip #41, "Boyer-Moore-Horspool text searching".
    Tip #58, "How to prevent a TWebBrowser from displaying a document's background".
    Tip #74, "How to create components with a transparent background".
    Tip #82, "How to create a TCheckBox with a transparent caption".
  • Tip #87 has been replaced - It was a duplicate of Tip #74. "How to create components with a transparent background". The new tip is called "How to create a TMemo alternating colours to paint the lines ".

27th August

  • More updates to the Delphi Tips Pages: Added a pop-up help window link to all the tips pages.

26th August

  • The Delphi Tips Pages have received a makeover. You can now navigate from tip to tip and tips can be searched. Tip listings have been smartened up and are clearer.

24th August

  • Released v3.2.1 of CodeSnip. This is just a maintenance release that fixes a very obscure bug and tweaks a few other things.
  • Added ten new tips that were previously published on the now defunct DelphiPool website:
    Tip #81, "How to implement a multi-line caption on a TButton";
    Tip #82, "How to create a TCheckBox with a transparent caption";
    Tip #83, "How to create a TComboBox with incremental search capabilities";
    Tip #84, "How to create a borderless TComboBox";
    Tip #85, "How to centre text in a TEdit";
    Tip #86, "How to create a TEdit that accepts only numeric input";
    Tip #87, "How to create components with a transparent background";
    Tip #88, "How to write a list of strings to the registry";
    Tip #89, "How to make a child form listen to broadcasted messages";
    Tip #90, "How to check if a TTreeView is fully expanded or collapsed".
  • Corrected compilation results for DriveDisplayNames routine in the Code Snippets Database.
  • Added navigation bar to individual tips display pages and link to first and last tip on main tips page.

19th August

17th August

15th August

  • Released v3.1.1 of CodeSnip thats makes some minor user interface changes.

12th August

  • Added seven new tips that were previously published on the now defunct DelphiPool website:
    Tip #74, "How to create components with a transparent background";
    Tip #75, "How to use a TControlCanvas in a component";
    Tip #76, "How to implement drag and drop at design time";
    Tip #77, "How to set boundaries for newly created controls";
    Tip #78, "How to enable scrollbars at design time";
    Tip #79, "How to define a minimum size for a component";
    Tip #80, "How to trap the ALT key state in a visual component".

11th August

  • Released v3.1 of CodeSnip thats adds facility to preview extra information markup entered in snippets editor.
  • Corrected attribution of the Encrypt & Decrypt functions tip to Steve Schafer of TeamB.

8th August

6th August

  • Released v0.2.6a of the BDiff / BPatch Utilities. Removed source code from main release and made available as separate download. Source code revised and make bug fixed.

2nd August

31st July

30th July

21st July

20th July

17th July

15th July

13th July

  • Released v3.0.4 of CodeSnip. Now shows a snippet's category in main display and in print info copied to clipboard. By request.
  • Fixed a bug in the PadCenter routine in the Code Snippets Database.

8th July

6th July

  • Released v3.0.1 of CodeSnip. By request, added support for displaying local files from the extra information displayed with a snippet.

29th June

  • New version 3 of the CodeSnip code snippets repository has been released. Now has support for Delphi types and constants as well as routines amongst other updates.
  • The Code Snippets Database has been revised to display type and constant definitions as well as routines.
  • A new ExeType routine that detects the type of an executable file has been added to the Code Snippets Database. A supporting type definition has also been added. (CodeSnip v3 is required to view these off line.)

23rd June

  • Published a major update to Article #21 "How to call JavaScript functions in a TWebBrowser from Delphi" which has a whole new section and additional demo program that shows how to grab the return value from a JavaScript function. The new section is based on the work of Christian Sciberras who also wrote the additional demo program.
  • Added new tip #73, "Encrypt and decrypt functions".
  • Added four new routines to the system category of the Code Snippets Database.

22nd June

17th June

  • Added new tip #71, "How to extract the title of an HTML document".
  • Added new tip #72, "Check that a HTML document has completely loaded".

4th June

2nd June

1st June

  • Added the name of an the author to an article's precis on the articles summary page.
  • Updated copyright page to show that each article now has its own copyright and licensing statement instead of a catch-all copyright.

31st May

  • The PasH Pascal Highlighter has finally made it to a v1.0 release after several years in beta. New command line switch added and code tidied up.

13th May

12th May

11th May

  • Released v2.4 of the CodeSnip Database Viewer. Added a "Donate" menu option and removed support for Windows 9x platform. Installer now requires a Windows NT platform.
  • v1.2 of Bil Miller's Code Snippets Demo program was released.

4th May

  • Added five new routines to the Code Snippets Database. Four of these routines get the display dimensions of various graphic files while the other is a support routine for reading big-endian words.
  • Corrected errors in Tip #19 "How to read bitmap file information".

26th April

  • Added new tip #70, "File Open/Save Common Dialog Control IDs".
  • Released v2.3.7 of the CodeSnip Database Viewer. User names and email addresses submitted via the Code Submission Wizard are now persistent (requested by user).

13th April

  • Released v3.1 of the System Information Unit that adds support for detecting Windows 7 and Windows Server 2008 R2 and makes a stab at making the unit compatible with Delphi 2009.

11th April

  • Provided a work-around for a rendering problem in IE 7 that was sometimes hiding the page heading when Google Ads were displayed.
  • Modified Search page to display Google Ads.

9th April

5th April

  • Updated tip #28, "How to check if the BDE is installed" by adding two more solutions.
  • v1.1 of Bil Miller's Code Snippets Demo program was released.

4th April

30th March

29th March

28th March

  • Added a PayPal "Donate" button to the site.
  • Revised home page.

22nd March

8th March

21 February

  • Added a new section to article #19 – "How to make a TWebBrowser become the active control when clicked" that provides a second and better solution to the problem (provided by Bärje Henriksson).

20 February

9th February

8th February

  • Fixed bug in Code Snippets submission web service that caused service to crash if a submission greater than 8Kb was made.

27th January

26th January

  • Released v2.3.5 of the Code Snippets Database Viewer that rolls up various unreleased improvements. Fixes some bugs, adds some UI improvements and copies snippets to clipboard in syntax highlighted rich text in addition to plain text.

15th January

6th January

2nd January