Published Works
Language Enhancements in Visual Basic 2005   (toolbox: VB 2005 Beta 1)
MSDN  Online,  October, 2004
This article explores the many new enhancements to Visual Basic 2005 and provides you with simple code snippets to illustrate how many of them work. Features covered include XML comments, generics, Global keyword, partial types, My, and more.

Build an RSS Generator Component   (toolbox: VB.NET, XML)
VSM  Getting Started,  April, 2004
Easily create an RSS feed that has many potential uses in sharing information both within and outside your organization. Learn how to build an RSS generator component you can reuse in your own applications.
Download Code

Build a Simple File Watch App   (toolbox: VB.NET, WinForms)
VSM  Getting Started,  February, 2004
Expand your knowledge of WinForms programming by building a utility app with some of the lesser-known but useful forms controls.
Download Updated Code

Create a Web Portal Module   (toolbox: VB.NET, ASP.NET, SQL Server 2000)
VSM  Getting Started,  December, 2003
Extend the open source DotNetNuke ASP.NET portal with an add-in module for collecting user suggestions.
Download Code

Master No-Touch App Deployment   (toolbox: VB.NET, No-Touch Deployment, XML, Isolated Storage)
VSM  Getting Started,  September, 2003
Make your desktop smart-client apps as easy to deploy and administer as Web apps.
Download Code

Implement Permissions in Smart Apps   (toolbox: VB.NET, XML, Isolated Storage)
VSM  Getting Started,  July, 2003
Give your smart client apps more permissions than the regular file system without compromising system security.
Download Code

Enhance Productivity With VS.NET Macros   (toolbox: VB.NET, VS.NET)
VSM  Getting Started,  May, 2003
Customize the VS.NET IDE and automate repetitive tasks by recording, editing, and sharing your own macros.
Download Code

Bind XML Data in ASP.NET   (toolbox: VB.NET, XML, ASP.NET)
VSM  Getting Started,  April, 2003
Drive dynamic Web content from source XML files-rather than from a database-and display it by databinding to ASP.NET list controls on the Web page.
Download Code

Create a Windows Service App   (toolbox: VB.NET, Win Services)
VSM  Getting Started,  March, 2003
Thanks to the .NET Framework, you can build apps that start at system boot time and run unattended.
Download Code

Build a Cryptography Component   (toolbox: VB.NET, Crypto Classes)
VSM  Getting Started,  January, 2003
Create a reusable crypto services component you can use for password validation and data encryption/decryption. The component has methods for encrypting and decrypting streams, strings, and files.
Download Code

Build an ASPLogger DLL   (toolbox: ASP,VB6)
VSM  Getting Started,  November, 2002
Create a DLL for your ASP pages that logs information and error messages on your Web server.
Download Code

Store App Settings as XML   (toolbox: XML,VB.NET)
VSM  Getting Started,  October, 2002
Go beyond the native .NET Framework and create a class to read and save your app's settings in XML files.
Download Code

Manage Contacts with Outlook and VB   (toolbox: CDO,VB6)
VSM  Getting Started,  September, 2002
Program Microsoft Outlook's object model from your VB6 app to manage contact lists.
Download Updated Code

Create and Consume XML Web Services   (toolbox: VB.NET, Web Services, SOAP Toolkit for VB6)
VSM  Getting Started,  July, 2002
Create a simple Web service and client in VB.NET, and build a VB6 desktop client using the SOAP Toolkit.
Download Code   |   Sample WebService service page
TimeService client demo

Master .NET's New String Objects   (toolbox: VB.NET, Stringbuilder)
VSM  Getting Started,  May, 2002
Make your code more efficient with .NET's new StringBuilder and String objects, along with new string format specifiers.
Download Code

Build a Custom Grid Collection   (toolbox: VB6, Custom Collection Class)
VSM  Getting Started,  April, 2002
Use a custom collection class to manage the column layout for a data grid.
Download Code

Read Assembly Info Using Reflection   (toolbox: VB.NET, Reflection)
VSM  Getting Started,  March, 2002
Use VB.NET's System.Reflection namespace to read assembly attributes. This column enhances the AboutBox from the January 2002 article.
Download Code

Understand Visual Inheritance   (toolbox: VB.NET, Visual Inheritance)
VSM  Getting Started,  January, 2002
Learn how to use visual inheritance to create reusable WinForms in VB.NET.
Download Code   |   Read on MSDN

Encapsulate WebForms Code   (toolbox: VB.NET, ASP.NET, Web User Controls, SQL Server or Access)
VSM  Getting Started,  December, 2001
Learn how to create Web user controls that handle login checking for your .NET Web pages.
Download Code   |   Read on MSDN

Build a VB Project Documenter Utility   (toolbox: VB6, Object Design)
VBPJ  Getting Started,  October, 2001
This ready-made project-documenting utility creates formatted rich text files from any VB6 project. It uses a variety of file-parsing techniques, collections, and classes to gather and format project information.
Download Code   |   Read on MSDN

Build a Task Scheduler   (toolbox: VB6)
VBPJ  Getting Started,  September, 2001
Build yourself a custom task-scheduling engine, implemented as a reusable ActiveX DLL. Also learn to create scheduled apps you control through command-line parameters.
Download Code   |   Read on MSDN

Add Some Zip to Your Apps   (toolbox: VB6, calling a C DLL)
VBPJ  Getting Started,  August, 2001
Add data-compression features to your apps using the Info-Zip project's free DLL. Here's a handy ActiveX DLL to give your apps zip capability, and a test app that shows you how to use its functionality.
Download Code   |   Read on MSDN

Migrate Your VB6 Apps to VB.NET   (toolbox: VB.NET, VB6 migration to .NET)
VBPJ  Getting Started,  June, 2001
Walk through the process of converting a VB6 app to VB.NET using the Upgrade Wizard, and prepare yourself for the migration problems you might face when moving your code into the new environment (this code was written using the VS Beta 1 distribution).
Download Code   |   Read on MSDN

Build a WinForms App With ADO.NET   (toolbox: VB.NET, ADO.NET)
VBPJ  Getting Started,  May, 2001
In VB.NET, Microsoft has made some significant changes to the VB language. Get a jump-start in this walk-through column by creating a data-driven WinForms app using the new ADO.NET objects (this code was written using the VS Beta 1 distribution).
Download Code   |   Read on MSDN

Send E-Mail From VB   (toolbox: VB6, MAPI E-Mail)
VBPJ  Getting Started,  March, 2001
You might wonder how an app sends e-mail, and what your e-mail options are. Explore the possibilities and tradeoffs of three different choices to see which works best for you.
Download Code   |   Read on MSDN
Important: read about Microsoft's Email security update

Get a Handle on Errors   (toolbox: VB6, error handling)
VBPJ  Getting Started,  January, 2001
Effective error handling in VB isn't just an art that only experienced programmers can grasp. Learn how error handling works, and develop strategies for handling your own error conditions.
Download Code   |   Read on MSDN

Build Your Own ActiveX Control   (toolbox: VB6, ActiveX Controls)
VBPJ  Getting Started,  December, 2000
Learn the basics of ActiveX control creation with a sample Hyperlink control. Hyperlink is a labeled URL control you can reuse in your own projects and use as a model for building your own ActiveX controls.
Download Code   |   Read on MSDN

Create Web Reports With VB   (toolbox: VB6, ADO, Web Development)
VBPJ  Getting Started,  November, 2000
VB makes a great vehicle for creating and publishing formatted HTML reports. Learn how to build data query and HTML formatting classes you can reuse in your own reporting applications.
Download Code   |   Read on MSDN

A Picture is Worth a Thousand Words   (toolbox: VB6, MSChart Control)
VBPJ  Getting Started,  October, 2000
Learn how to use VB's MSChart control to easily display your data in graphical form.
Download Code   |   Read on MSDN

Create Your First VB Project   (toolbox: VB6)
Getting Started with Visual Basic  Project Article,  Fall, 2000
Follow this special, soup-to-nuts project to build PassKey, a password keeper utility app. You'll learn about the entire development process from benchmarking and UI design to data access and object oriented programming.
Download Code

Make Application Settings Easy   (toolbox: VB6, Windows API)
VBPJ  Getting Started,  September, 2000
Learn how to store and load program settings with the CSettings class by using either the Windows Registry or an INI file.
Download Code   |   Read on MSDN

Use SQL With ADO   (toolbox: VB6, ADO, SQL)
VBPJ  Getting Started,  July, 2000
Using ActiveX Data Objects (ADO) in your VB code to build and execute SQL statements is easier than you might think. The code includes several reusable utility routines for executing SQL queries with ADO.
Download Code   |   Read on MSDN

Search With Soundex   (toolbox: VB6, ADO, Soundex)
VBPJ  Getting Started,  June, 2000
Help your users find data in your apps without using exact matches by creating Soundex codes, a sounds-like search tool.
Download Code   |   Read on MSDN

Create a Help System   (toolbox: VB6)
VBPJ  Getting Started,  March, 2000
Build layered user help into your apps while avoiding the complexity of WinHelp or HTML Help.
Download Code

Application Menus Made Easy   (toolbox: VB6)
VBPJ  Getting Started,  February, 2000
Well-thought-out menus can make your app stand out from the crowd. See how to implement both app menus and context-sensitive pop-up menus.
Download Code   |   Read on MSDN

Create COM Add-Ins With VBA in Office 2000   (toolbox: VB6, COM Add-Ins, VBA)
VBPJ  Feature,  November, 1999
You can use Microsoft Office 2000 Developer (MOD) and VBA 6.0 to create a reusable add-in DLL that works across Office 2000 applications. A similar DLL written in VB6 is also included.
Download Code

Move Data With OLE Drag-and-Drop   (toolbox: VB6, OLE Drag-and-Drop)
VBPJ  Getting Started,  October, 1999
Implement OLE drag-and-drop to let users move data between applications.
Download Code

Implement Drag-and-Drop Techniques   (toolbox: VB6, Drag-and-Drop)
VBPJ  Getting Started,  September, 1999
Use traditional drag-and-drop techniques to give your apps a professional look-and-feel.
Download Code

Class Persistence With VB   (toolbox: VB6, File I/O)
VBPJ  Getting Started,  March, 1999
Learn how to persist (store) data from VB class objects using simple file techniques.
Download Code

WebClasses Make Registration Easy   (toolbox: VB6, WebClasses)
VBPJ  Getting Started,  December, 1998
WebClasses are a potent addition to your collection of Web-building tools. This column walks you through the construction of a simple WebClass application that allows a user to register a software product on your Web page.
Download Code

Manipulate Data With VB6's New Grid Control   (toolbox: VB6)
VBPJ  Getting Started,  November, 1998
Use the MSHFlexGrid control to create forms easily. The Data Form Wizard creates an entire form for you, complete with code.
Download Code

Manage Strings Easily in VB6   (toolbox: VB6)
VBPJ  Getting Started,  October, 1998
Combine VB6's new Split and InstrRev functions with the FileSystemObject to build a powerful utility class that lets you manipulate strings easily.
Download Code

Serve Data to Your Clients   (toolbox: VB6)
VBPJ  Getting Started,  August, 1998
Use VB6 to create powerful server-side web components.
Download Code

Terms of Use: You may use the sample code in any way you like. I cannot offer support for the code, and you agree to use the code at your own risk. I would appreciate your leaving my byline and copyright in the code headers. Please let me know if you find bug(s) in the sample code, and send me any solutions you develop (thanks!). I hope you find the code useful and have learned as much as I did from it.