Visual Basic Code of the Week (COTW)
Issue #8
All content and source code is Copyright (c) 1997 by C&D Programming Corp. None of the source can be reprinted in any manner without express written permission of C&D Programming Corp.
If you would like to view this page in HTML format, point your browser to

Future Issues

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 and let us know.

Requirements for this Issue

The source code in this issue is designed for all versions of Visual Basic 4.0 or greater. It should work in 16-bit and 32-bit modes. Similiar techniques can be used in VB 3.0.

In this Issue

We will introduce the first version of a logging class (this is an issue that will probably be enhanced later on this year depending on user feedback). There are several instances where having a log file of the events that occur, procedures called and variable values while running your application are useful. This logging class lets you include statements throughout your code to be written out to a log file.

A couple of situations where this is useful are:

cLogFile Class



Sample Log File

Here is a sample of what a log file might look like:

10/28/97 6:04:19 PM Started Log File ----------------------------------------
10/28/97 6:04:23 PM Enter cmdActions Index = 2
10/28/97 6:04:23 PM      Loading text box from E:\cotw\projects\0008\DEBUG.LOG
10/28/97 6:04:23 PM Exit cmdActions Index = 2
10/28/97 6:04:36 PM Ended Log File ----------------------------------------

Sample Usage

Public gLogFile as New cLogFile

gLogFile.Active = True
gLogFile.Output "Here's a line for the log file"
gLogFile.Push "This should be indented one level"
gLogFile.Push "This should be indented another level"
gLogFile.Pop "This should be unindented one level"
gLogFile.Pop "This should be unindented another level"
gLogFile.Active = False

Putting the Public definition in a BAS module probably makes the most sense since it can then be used throughout your entire application.

Source Code

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:

Comments on the Source Code

If you would like to see this class module enhanced to include additional features, drop us an email at and if we get some good response we will enhance the source code shown in this issue. Some enhancements are including an option to show available memory and resources to help find places in your code where resources are being lost.


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.

How to tell us what you think

If you have any suggestions for topics you would like to see covered or questions about this issue, please email them to or use online feedback form at

If you have any source code you would like to submit for possible inclusion in COTW, please fill out our online submission form at

Contact Information

C&D Programming Corp.
PO Box 20128
Floral Park, NY 11002-0128
Phone or Fax: (212) 504-7945

Subscription Update

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

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.