We are currently planning for the next several issues of Code of the Week. If you have any suggestions of source code that you would like to see covered, please jump to our feedback page at http://www.codeoftheweek.com/feedback.html and let us know.
The source code in this issue is designed for all versions of Visual Basic.
In this issue we are going to show how to make a directory tree/branch. This is useful in any application where the end user can specify a directory that does not exist for saving a file (this is just one example, there are many others).
The reason a function like this is necessary is because the mkdir function that is built-in to Visual Basic can only create a single directory at a time. For example, if you do MkDir "C:\APPS\MYAPP\DATA" and the MYAPP\DATA portion of the directory does not exist the MkDir function will fail.
If any of the directories already exist it will skip creating them. This function will never erase any data. If the directory C:\APPS already existed, it would just create the MYAPP\DATA branch.
The MakeDirectories function will allow you to create multiple levels of directories in a single function call, overcoming the limitation in Visual Basic.
To use this function, just add it to any project or module you are working on and call MakeDirectories as described in the Sample Usage section.
Returns TRUE if it was successful at creating the complete directory branch. Returns FALSE if the creation of any part of the directory branch failed.
If Not MakeDirectories("C:\APPS\MYAPP\DATA") Then MsgBox "Directory Creation Failed." End If
This will create all the directories in the path C:\APPS\MYAPP\DATA. If any of the directories already exist it will skip creating them. This function will never erase any data. If the directory C:\APPS already existed, it would just create the MYAPP\DATA branch.
To see the source code for this issue you must be a subscriber to Code of the Week. If you are a subscriber the source code is available at the following address: http://www.codeoftheweek.com/membersonly/bi/0007.html
In Visual Basic 4.0 and 5.0 you can replace the ATTR_DIRECTORY with vbDirectory constant and remove the constant declaration in the beginning of the function. The code as is will work in VB 4.0 and VB 5.0 , the above is just a small enhancement to be compatible in future versions of VB.
If you have any questions that you can not seem to figure out, drop us a email at email@example.com and we will do our best to help you out.
That concludes this issue of COTW. We hope you find the source code useful in your development.
The below describes the ways you can supply us some feedback about COTW. We would like to see our members help mold COTW into the best Visual Basic source code resource available. But to do that we need your feedback about what you like and what you do not like about COTW.
If you have any suggestions for topics you would like to see covered or questions about this issue, please email them to firstname.lastname@example.org or use online feedback form at http://www.codeoftheweek.com/feedback.html.
If you have any source code you would like to submit for possible inclusion in COTW, please fill out our online submission form at http://www.codeoftheweek.com/submission.html.
Thank you for trying Code of the Week for Visual Basic.
Your free trial expires after you receive your fourth issue. If you want to continue to receive Code of the Week you can get 52 issues of COTW for only $19.95. This is a full year of Visual Basic source code and information to help with all your development. So don't wait, subscribe now! The quickest way to subscribe is to jump to our online order form at http://www.codeoftheweek.com/order.html
We accept payment by Mastercard, Visa, check or money order. All payments must be in U.S. Dollars. If you are an international customer paying by credit card is usually the easiest method of payment.
If you prefer not to visit our web site:
1. Enclose a note with your email address and name.
2. If you are paying by credit card, make sure you include the credit card number, credit card expiration and name on the credit card and your signature. If you are paying by check, make it payable to C&D Programming Corp.
3. Mail it to (credit card payments can be faxed to (212) 504-7945):
C&D Programming Corp.
PO Box 20128
Floral Park, NY 11002-0128
4. As soon as we receive your payment you will be added to our paid subscriber list.