I have created some small tools for solving particular problems.

Name Download Program Download Source Platform Created with Description
VRML PixelTexture Win32 GUI C++ Builder
VRML PixelTexture Converter is a program for converting Windows bitmap file to a VRML PixelTexture node.
Another bitmap file may be specified as a transparency mask to be used in the texture.
The texture can be converted to grayscale.
The output format can be:
  • Plain Text - to use directly in a VRML file.
  • C++ Source - to use as a string constant in a C/C++ program.
  • VRML Box - to generate a simple VRML box using the resulting texture.

SetFolderIcon Win32 GUI C++ Builder
SetFolderIcon is Windows GUI application for changing the icon of any folder.
To set an icon for a folder:
  1. Click on the "Select Folder" button to select the folder which icon is to be changed.
  2. Click on the "Select File" button to select a file, containing icons. When the file is opened, the list of available icons will appear in the right-hand box.
  3. If you want a tooltip to be shown for the folder, enter the text in the "InfoTip" edit field.
  4. Select the desired icon and click the "Set Icon" button.
To restore the default folder icon:
  1. Click on the "Select Folder" button to select the folder which icon is to be restored.
  2. Click on the "Clear Icon" button.
This program is inspired by a post from Yoto Yotov in borland.public.cppbuilder.winapi, describing how to change the folder icons.
Basicaly, the program writes a desktop.ini file, which contains the path to the icon file, and sets the system attribute of the folder.

ReplacePlus Win32 GUI BC++ 5.02
BC++ 5.5
ReplacePlus is a program, which can replace a string with another in all files matching the given filter, in the given folder, and all it's subfolders. Also ReplacePlus can change the file date/time instead of replacing strings. It demonstrates how to use the following OWLNext classes:
  • TMemComboBox and TRegConfigFile to remember previous user entries
  • TDateTimePicker to enter date and time
  • TShell::SHBrowseForFolder to select staring folder
  • TFileNameIterator to iterate files and folders
  • TFileName for creating temporary files, copying files and changing file date and time
  • TGlyphButton and TTooltip to add more colorful view to the dialog
C/C++ to HTML convertor Win32 GUI C++ Builder
This program takes C or C++ code and converts is to HTML, so it can be published on a Web page. It is based on a program written by Christopher Kohlhoff and published at Borland Code Central. I have written graphical interface with C++ Builder, which allows selection of input/output file and changing the colors of the C/C++ syntactic elements.

AutoRun Win32 Console BC++ 5.02 In Windows 95 and later, when a CD is inserted in the CD-ROM, Windows checks for a file named Autorun.inf and if there is one, executes the application specified in the entry open in the section [AutoRun]. With Internet Explorer 5 was introduced the option to specify not only application, but any file, which extension is registered, to be started from Autorun.inf, when specified in the entry ShellExecute. To achieve the same functionality under previous versions of Internet Explorer, I have created a simple AutoRun application, which opens the document specified in Autorun.inf.
Thanks to Ani for the idea.

Windows Help colors Win32 GUI BC++ 5.02
BC++ 5.5
The default jump and popup colors in Windows Help are green. In my opinion green on white is not very good combination. And there is no user interface for changing these colors.

I have created a small program to allow the user to easily change the help colors. Under Windows 95/98 and NT/2000 the settings for help color are found in different places. Under Windows 95/98 they are located in WIN.INI, in the section [Windows Help], entries JumpColor and PopupColor. They can be set for example to: JumpColor=0 0 255 and PopupColor=255 0 0.
Under Windows NT and 2K the settings are in the registry, key HKEY_CURRENT_USER\Software\Microsoft\Windows Help. The names and format of the entries are same as in 95/98.

CONV tool DOS BC++ 5.02 This is a simple tool for converting text files between different cyrillic code pages.

The supported code pages are:
  • D - DOS, the cyrillic is located between ASCII 0x80 and ASCII 0xBF. It was used in most Bulgarian programs under MS-DOS.
  • R - DOS russian, the cyrillic is located between ASCII 0x80 and ASCII 0xAF and another set between 0xE0 and 0xFF. It is rarely used, mostly in text files coming from Russia.
  • W - Windows, the cyrillic is located between ASCII 0xC0 and ASCII 0xFF. It's the cyrillic code page used in MS-Windows applications.
  • L - Latin, phonetic transcription of all cyrillic letters to corresponding letters from the latin aplhabet.
  • U - Unicode (input only) - double-byte character set, cyrillic is located at code page 0x0400.

There is a simpler JavaScript variant which converts only Windows cyrillic to Latin.

Thursday fix Win32 GUI C++ Builder
In Windows 95, NT 4.0 and older releases of 98 and 2000 the name for the day of the week for Thursday in Bulgarian is misspelled. This mistake is not widely known, because by default, in Bulgarian regional settings, the day of week is not shown in the date. To show it, start the Control Panel, open the Regional Options, and in the Date page for Long date format enter the string dddd, dd MMMM yyyy.

I have created a small program in C++ Builder 5, which opens the file, corrects the name, and then restarts Windows for the changes to take effect.

When the program is started, it shows a dialog. At the top appears the location of locale.nls where the mistaken string is located. Below are the positions at which the misspelled text for Thursday are found. If the file does not contain misspelled text, there will be written (none found) and the button "Fix Now" will be disabled. The checkbox "Create backup file" is used to tell the program to create a backup of locale.nls when fixing it. When a previously created backup file exists, the button "Restore" is enabled, and allows you to restore the original locale.nls. When the file locale.nls is changed, the program asks if the system should be restarted now.

The strings in locale.nls are written in UNICODE. More information about UNICODE can be found at The misspelled string for Thursday in Bulgarian in UNICODE is 0x47, 0x04, 0x35, 0x04, 0x42, 0x04, 0x32, 0x04, 0x4A, 0x04, 0x32, 0x04, 0x42, 0x04, 0x4A, 0x04, 0x3A, 0x04 and usualy is found at two places in the file. The second 0x32 must be changed to 0x40.

The program copies locale.nls to locale.tmp, and changes the byte. After that it tells the system to copy locale.tmp to locale.nls on next startup. Under Windows 95/98 and Windows NT/2000 this is done differently - under Windows 95/98 by writing to the [rename] section of WININIT.INI, and under Windows NT/2000 by using the API function MoveFileEx().

I have written a simple program, which can recover files from a hard disk destroyed by the CIH.1003 (Chernobyl) virus. More information can be found here.

This an old DOS TSR utility written in Assembler for saving the text screen to a file. It's source can be found here.

Back to home Back to main