Thursday, September 14, 2006


Short for Drive, Path, Name, Extent.

This module holds several low-level and high-level functions that parse a string reported to be that of a file name under Windows/DOS Operating systems.

Here I will describe the high-level functions, the ones you are most likely to use. If you would like to know more about the low-level functions which return pointers to a parsed string, please contact me.

Given a string, Return the Path Item.

Sub TESTstrGetPath()
MsgBox strGetPath("c:\autoexec.bat")
MsgBox strGetPath("D:\Greaves\Admin\Web\Driving\BRAKING.DOC")
End Sub

Given a string, return the name and extent portion

Given a string, return the name portion

Given a string, return the extent portion

Given a string, return the drive and path portions

Given a string, return the drive portions

Ensure that the result has one and only one trailing, right-hand separator.

Saturday, September 09, 2006

A Little Problem ….

A colleague attempted to download and install three applications form my download page ( yesterday and ran into two sorts of problems. The first was a rogue virus-checker, but the second was caused by me.

I use a batch file to PKZip25 the zip file for download. The batch file obtains the current production version of UW.DOT from my word startup folder.

Where an application hasn't been updated for a long time, it will have a stale version of UW.DOT within the zip file, and I think some unzippers will timestamp this file with today's date as the file is unzipped and written to a folder. This version of UW.DOT now being "more recent" than any other version is now installed, and so a current application is running with a stale version of UW.DOT.

My solution to this problem is tedious, but seems to work. When I release a new version of any application, I will re-zip each downloadable file with the latest UW.DOT.

In consequence you will see the timestamp on the files seem awfully current, but at least every download will have a current copy of UW.DOT.

Sunday, September 03, 2006


This not a clever function. It will loop, consuming CPU time, until the specified time is elapsed. None the less is does provide a primitive one-time, short-time pause while your user contemplates the status of, say, a document thrown on the screen for a short interval.

If you want to have the CPU carry on processing during your brief delay, you should use a function other than this.

Sub test()
Call UW.WD_Miscellaneous.DelayMe(6)
MsgBox "here"
End Sub