Next chapterContents


Platinum Edition Using Visual Basic 5

Dedication

This book is dedicated to the loving memory of Alex and Erin. Although you will never read this, know that you will be in my thoughts always.

--Love, Dad

About the Authors

Loren D. Eidahl is the President of Cornerstone Technology Systems (CTS), an Internet consulting firm specializing in providing complete Internet business solutions, ranging from Internet access to total integrated solutions. CTS has developed several successful professional business applications, including the Gallery point of sale application and the NetSuite Internet business toolkit. Currently, CTS is developing products to assist business owners who want to perform secure electronic commerce over the Internet.

Loren has been involved with computers since the early days of the PC when 16K was a lot of RAM, and BASIC was definitely not Visual. Over the past ten years he has been a consultant to a wide range of industries, including a national retail chain and several large financial institutions. When not hacking code, writing computer books, or speaking about business on the Internet, he can be found somewhere in Northern Minnesota trout fishing. Loren can be reached via e-mail at leidahl@cornerstonetech.com or on the Web at http://www.cornerstonetech.com.

Brian Siler has spent the past two years working as a programmer analyst for a major hotel corporation, developing their executive information system in Visual Basic. Brian is a graduate of the University of Memphis with a Bachelor of Science degree in Computer Science. He has developed applications using Visual Basic, C, HTML, and SQL on a variety of platforms, including PCs, AS/400, Unix, and Vax. Brian may be contacted via e-mail at bsiler@bigfoot.com.

Jeff Spotts is a programmer analyst for a major hotel corporation by day; by night, he teaches Visual Basic programming courses at Memphis State Technical Institute. He also creates miscellaneous custom-designed software systems for individuals and businesses. His specialty is creating database applications using Visual Basic as a front-end interface to a variety of database engines. He has been involved with computer hardware and software since the late 1970s and has been programming in Visual Basic since just after its introduction. Jeff may be contacted via e-mail at jspotts@pobox.com.

Francesco Balena is the editor-in-chief of Visual Basic Journal, the only Italian magazine entirely devoted to Visual Basic. He is a contributing editor of Computer Programming, the leading Italian magazine for programmers, and a contributing editor as well as licensee of Visual Basic Programmer's Journal. Francesco has used BASIC for 15 years. He has written five books in Italian on DOS, QuickBasic, and VB, in addition to several shareware tools for VB. He is a speaker at VBITS conferences, as well as many Italian conferences, and he offers teaching and consulting services in Italy and abroad. When he has enough of computers and programming, he plays alto saxophone with his jazz combo and likes to spend as much time as possible with his wife Adriana and the little Andrea baby.

Jeff Gainer owns Arrowhead Systems Consulting, Limited, a software management consulting firm based in Hamilton, Montana. He has been a commercial software developer since 1986 and has published numerous works of fiction and nonfiction since 1975. He is a contributor to Que's Web Development with Visual Basic 5. Jeff became involved with software in graduate school while using a variety of prehistoric computers to perform textual analysis on the works of various English and American authors. Jeff and his wife, Colly, make their home in the Bitterroot Valley of Western Montana with their Bichon Frise puppies, "Menton" and "Tiny Boo." You can visit Jeff's company on the Web at http://www.montana.com/asc/.

Nelson Howell is a veteran of the computer industry. Starting with IBM Mainframes in 1967, he has survived the changes from mainframes to minis to microcomputers. He has had the opportunity to meet computer founders, including J Presper Eckert and Admiral Grace Hooper. In addition to writing, he is now engaged in providing support to software users for Integra Technology International. Now at home in Tucson, Arizona, he is surrounded by his family of four sons and a very tolerant wife.

Duncan Mackenzie is a Microsoft Certified Solution Developer for Online Business Systems, a full-service consulting firm with offices in Winnipeg, Minneapolis, and Calgary. Duncan's experience in the Microsoft toolset, especially in Win32 and COM development, comes from years of working on leading edge projects for Online's clients. His most recent focus has been leading Online in the move from traditional client/server development to intranet/Internet development. Duncan can be reached at duncanm@online.mb.ca.

Lowell Mauer has been a programmer and instructor for 18 years. He has taught programming at Montclair State College in New Jersey and has developed and marketed a Visual Basic application for airplane pilots. He is involved in creating several corporate Web site applications. As a manager of technical support, he has attended seminars and training sessions in several countries, and he is an expert in more than six computer languages. Currently, he is a Senior Business Analyst at Cognos Corporation in New York City, N.Y., where he is a consultant for several PC-based computer products.

Brad Shannon has been developing applications in the Hospitality industry for the past eight years. He has worked on both Mid Range and PC Platforms using a variety of programming languages and databases. He can be contacted at 100576.1474@compuserve.com.

Mike Mckelvy is owner and president of McKelvy Software Systems, a software consulting Firm in Birmingham, Alabama. He specializes in the development of database applications. Mike has been developing software for business and engineering applications for over 15 years and has written a variety of engineering and financial analysis programs for a number of businesses. Mike is also the author of Using Visual Basic 4 and the co-author of Que's Special Edition Using Visual Basic 4 and Visual Basic Expert Solutions.

Acknowledgments

To fully acknowledge everyone who had a part in this work would take more space than I have been allotted. With that in mind, I would like to mention a few people who were key.

First, I would like to thank my wife Melissa, who provided me with encouragement when I needed it the most.

A very special thank you to Kelly Marshall, who gave me the chance to be a part of this project. I also enjoyed working with Chris Nelson and Susan Moore, whose insightful comments and suggestions helped to bring out the finer points in the manuscript. I would also like to thank all of the co-authors and technical editors that I had a chance to work with on this project.

I would like to thank my two children, Breanna and Derek, for being understanding when Daddy couldn't play with them. Finally, I would like to thank God for giving me the talent, wisdom, and patience needed to accomplish this project.

We'd Like to Hear from You!

As part of our continuing effort to produce books of the highest possible quality, Que would like to hear your comments. To stay competitive, we really want you to let us know what you like or dislike most about this book or other Que products.

Please send your comments, ideas, and suggestions for improvement to:

The Expert User Team
E-mail: euteam@que.mcp.com
CompuServe: 105527,745
Fax: (317) 581-4663

Our mailing address is:

Expert User Team
Que Corporation
201 West 103rd Street
Indianapolis, IN 46290-1097

You can also visit our Team's home page on the World Wide Web at:

http://www.mcp.com/que/developer_expert

Thank you in advance. Your comments will help us to continue publishing the best books available in today's market.

Thank You,

The Expert User Team

Introduction

Over the past five years we have witnessed the birth of a development tool that has made as permanent a mark in the world of application development as BASIC did. That tool is Visual Basic. Visual Basic 5 (VB5) represents the latest version of this remarkable tool that is destined to change the way we view Windows application development. With the introduction of a compiler and its enhanced controls, VB5 applications can hold their own against C++ applications for speed and extensibility.

Even though VB5 can create blazing fast applications, VB5 is best known for its ability to create Internet and client/server applications very quickly. In this book, you learn how to use VB5 to create every type of application from stand-alone to client/server, including Internet applications.

Why You Need This Book

This book was written for the intermediate to advanced Visual Basic programmer who wants to build cutting-edge applications. The intentions behind this book are to explain the various aspects of Visual Basic programming and how these skills can be used to create exciting and creative applications.

Although there are some new and tricky aspects of Visual Basic programming, this book is not intended to be a general programming tome. If you are new to Visual Basic 5, you would be better off purchasing Que's Special Edition, Using Visual Basic 5.

This book is actually several types of books in one. The first is a tutorial. The first few sections of this book are designed to get you up to speed quickly with Visual Basic 5. A solid foundation of coding principles and Visual Basic syntax is covered early on, providing the proper groundwork for solid growth.

This book is also designed to be a Visual Basic 5 reference manual. This book provides a good reference to the Visual Basic language and structure, should you want to refresh your knowledge in a particular area.

Probably the most compelling reasons why you need this book are the real-world examples. This book provides examples for every major concept explored in this book. What this does is provide you with code that can be used as templates for your own development projects, saving you large amounts of time and energy in the process.

This book is also designed to provide the necessary hands-on experience you need to create ActiveX controls and ActiveX-based applications that are both useful and stable in Web and non-Web situations. Visual Basic 5 contains a complete suite of tools designed to enable you to take full advantage of the Internet. There are tools that let you easily connect your programs to the Internet and include browser capabilities in your programs. In addition, you now can create ActiveX documents and ActiveX controls from Visual Basic. Because ActiveX is the cornerstone of Microsoft's Internet strategy, this puts you right in the middle of the action. And the really good news is that all of your ActiveX pieces can be used in non-Internet programs as well, extending the usefulness of any ActiveX components you create.

A Word About Code Examples

As every programmer knows, a good program is virtually crash-proof. Error-checking must be done for every action that may fail, and appropriate error messages must be given to the user. Unfortunately, good error checking requires a lot of extra program code. For the programmer working on his next magnum opus, this is all just part of the game. But for an author writing a programming book, this extra code has different implications.

A programming book should present its topics in as clear a manner as possible. This means featuring programs whose source code is not obscured by a lot of details that don't apply directly to the topic at hand. For this reason, the programs in this book do not always employ proper error checking. For example, user input may go unverified and control properties may be assumed to be valid.

In short, if you use any of the code in this book in your own project or controls, it's up to you to add whatever error checking may have been left out. Never assume anything in your programs. Any place in your code that you can't be 100 percent sure of your program's state, you must add error checking to ensure that the program doesn't come crashing down on your user. Just because this book's author may have been lax in his error checking (for good reasons) does not let you off the hook.

What Software Do You Need?

The software needed for building the examples in this book depends a great deal on which examples you want to build. At the very least, you need Visual Basic 5 and a copy of Internet Explorer 3, running on Windows 95.


NOTE: Internet Explorer can be found on the CD-ROM included with this book.

For the examples on integrating Visual Basic and other technologies, you might also need a copy of the specific tools being discussed in those chapters. When building Internet-enabled Visual Basic applications, you may need to have Microsoft's Inet DLLs to provide the API functions being used in the examples. For the examples on ActiveX controls, the ActiveX Software Development Kit (SDK) is needed. For the chapters on Active Server Pages, you need a copy of Microsoft's InterDev.

How This Book Is Organized

This book is divided into 10 major parts including the appendixes. These parts enable you to read only those areas that you have an interest in at the time.

Throughout this book, you will find references to other chapters and sections where specific material is either introduced or explained in greater detail. This way, you can avoid reading those sections that are not of interest, or you can benefit from a more detailed discussion.

What follows is an overview of topics you'll find in each section of this book.

Part I--Visual Basic Fundamentals

This section covers the basics to get you started on your programming adventure. This section starts by taking you on a tour of forms and controls, which are the building blocks of every program you create in Visual Basic. You can see how forms and controls are manipulated by their properties and perform tasks with their methods.

Chapter 1, "Introduction to Visual Basic 5," discusses some of the new features that have been added to VB.

Chapter 2, "Introduction to the Development Environment," takes you on a tour of the newly enhanced Integrated Development Environment (IDE). Even if you are not new to VB, make sure you read this section to learn about the new IDE.

In Chapter 3, "Creating Your First Program," we instruct you step-by-step on how to build an application in Visual Basic.

In Chapter 4, "Working with Forms and Controls," you learn how to effectively use Form and Control Collections. This chapter also shows you how to position your form on-screen.

Chapter 5, "Adding Menus and Toolbars to Your Program," steps you through the process of creating Windows-style toolbars. You also learn how to create pop-up menus by using the menu editor.

Chapter 6, "Using Dialogs to Get Information," discusses when message boxes come in handy. While forms provide the main interface with your users, sometimes you just need to display a bit of information.

Chapter 7, "Responding to the User," discusses how Event-driven programs let your users execute tasks in almost any order. This lets them process information in the way they find most comfortable.

In Chapter 8, "Programming Visual Basic," you learn how to use variables to store and retrieve information while your programs are running.

Part II--More on Visual Basic Controls

Controls are the backbone of every program that you create in Visual Basic. Part II, "More on Visual Basic Controls," teaches you about a few of the more advanced controls that Visual Basic 5 has to offer.

Chapter 9, "Using the Windows Standard Controls," teaches you about the standard controls that have been a part of Visual Basic since the beginning. These controls are the ones that are most often used in your programs. The discussion shows you some of the basics of the controls, some advanced techniques, and the new features of some of these controls.

Chapter 10, "Using the Windows Common Controls," shows you how to create a status bar for your applications. You also learn how to use the TreeView and ListView controls. These two controls provide the capability to implement Windows Explorer-style interfaces for working with lists.

Chapter 11, "Exploring New Visual Basic 5 Controls," discusses some of the new controls that Visual Basic now includes, such as the FlexGrid, a new grid control that enables you to create spreadsheet-type applications or to provide browse capabilities for database programs.

Chapter 12, "Using Control Arrays," teaches you about the control arrays and how you can effectively use them in your Visual Basic applications.

Chapter 13, "Using Containers," discusses how to group the various types of controls for better functionality.

Part III--Outputting and Displaying Information

This sections covers the ways that you can present your information to the end user. This section starts by looking at how text, fonts, and colors can determine how the message is perceived. You also discover how to use features within Crystal Reports to produce reports created from within your application.

In Chapter 14, "Working with Text, Fonts, and Colors," you learn how to display text on-screen through the use of the TextBox and Masked Edit controls. You also learn how to use the RichTextBox control to create a simple word processor that enables your users to control the appearance of the text that they enter.

Chapter 15, "Displaying and Printing Reports," shows you how to send text to the printer and how to line up the information in columns using print zones and formatting functions.

Chapter 16, "Using Crystal Reports," provides you with the information you need to add Crystal Reports' capabilities to your Visual Basic application by using the Crystal Reports Custom Control.

Part IV--Professional Visual Basic Programming

After you have learned some of the basics of creating programs, you are ready for more detailed material. Part IV, "Professional Visual Basic Programming," introduces you to some of the concepts of program design.

In Chapter 17, "Managing Your Projects," you learn how to use the same form in multiple programs. You will also learn how to create a form template to make it easier to create similar forms.

Chapter 18, "Introduction to Classes," shows you how to create a class from scratch and how to use the Class Builder to create new classes from existing ones.

Chapter 19, "Designing User Interfaces," discusses why it is important to design your program before you start writing code. You also see some of the things that make a bad user interface and learn how to avoid some common design mistakes.

In Chapter 20, "Building a Multiple Document Interface," you learn how to create a multiple document interface (MDI) program. You see how this type of program differs from those created with single forms.

Chapter 21, "Creating Online Help," takes a look at the Help Workshop that comes with Visual Basic 5, as well as the new features of Help. You also see how to access the Help file from several different areas within a Visual Basic program.

Chapter 22, "Packaging Your Visual Basic Applications," discusses an application package, which includes many different elements that can be included in a Visual Basic application. Understanding each component and knowing when and how to create them makes your job much easier.

Part V--ActiveX Controls and Documents

ActiveX controls can be used in Visual Basic programs, Internet applications, or other ActiveX-enabled programs. If you have never worked with ActiveX controls or want to find new and creative ways to use them, this section should be of great interest to you. This section deals exclusively with ActiveX controls--how to build, enhance, and debug them.

Chapter 23, "Using Microsoft's Object Technologies," gives you a broad overview of the object technology foundation that Microsoft has made available to you for developing Windows applications using Visual Basic.

Chapter 24, "Creating ActiveX Controls," discusses how ActiveX controls have grown and changed as well as how to create your first control. There are two basic approaches to building ActiveX controls by using Visual Basic 5. Take a look at what each approach involves and some of the issues you need to consider when choosing between the two approaches.

In Chapter 25, "Extending ActiveX Controls," you learn how to create property sheets that provide you with the greatest flexibility at design time. You also will be using the Application Setup Wizard to package your ActiveX control for use in Web pages. This chapter shows you how to prepare your control so that it can be used in Web pages and automatically downloaded by users of Microsoft's Internet Explorer Web browser.

In Chapter 26, "Creating a User-Drawn Control," you learn how to create the user interface, as well as events that respond to user actions. You also learn how to change the appearance of your control based on user events.

Chapter 27, "Creating ActiveX Documents," shows you the differences between and similarities of ActiveX documents and standard Visual Basic applications.

Part VI--Database Programming

Database programs make up a large percentage of all programs in use in the business world today. These programs range in complexity from a simple program for managing a mailing list to a program to handle the power bills for all the customers of a major utility. Part VI, "Database Programming," takes you through the process of building database applications to meet a variety of needs.

Chapter 28, "Building Database Applications," walks you through the process of designing and creating a sample database.

Chapter 29, "Using the Visual Basic Data Control," covers the Data control, which allows you to easily build simple database programs or create database management and report systems for existing databases. You also can use the Data control to quickly start a more complex database that you can build on.

Chapter 30, "Doing More With Bound Controls," enhances those skills that you learned in the previous chapters.

Chapter 31, "Improving Data Access with Data Access Objects (DAO)," shows you how much programming power is available for creating database applications.

In Chapter 32, "Using Remote Data Objects (RDO)," you learn how your Visual Basic programs can easily access data stored in a variety of remote locations through the use of Remote Data Objects (RDO). You see how the recent addition of RDO to Visual Basic's repertoire makes short work of writing applications that need to work with remote data.

Chapter 33, "Database Access with ActiveX Data Objects (ADO)," shows you how to use the ADO object model. This chapter also shows you how to build Web-based and no-Web examples.

Chapter 34, "Multiuser Databases," shows you the steps needed to make your database accessible in multiuser applications safely. This chapter will also show how data replication can be used in your applications.

Part VII--Web Programming

The Internet presents an opportunity like no other for the Visual Basic programmer. Visual Basic 5 enables you create programs specifically to be used and deployed over the Internet. One of the new tools available to Visual Basic programmers is Active Server Pages.

Chapter 35, "Internet Programming with VBScript," shows you how HTML elements combined with VBScript allow users to extend the scope and functionality of Web pages. You learn how to change a static Web page into an interactive, dynamic page by using VBScript and the Internet Explorer Object Model.

Chapter 36, "Programming Web Pages," provides an in-depth look at how to create Web pages by using ActiveX controls. This chapter shows you how to include ActiveX controls in your Web pages with the help of the HTML tag <OBJECT>.

In Chapter 37, "Creating Active Server Pages," you'll learn how you can create Web sites that do almost anything by using Active Server Pages (ASP). This chapter shows you how you can use ASP to create dynamic Web sites very quickly.

Chapter 38, "Working with Active Server Page Objects," continues where the previous chapter left off. You learn what objects are available in ASP and how and when to use them. You also learn how to share information between pages for one visitor to your site, or for all of your visitors.

In Chapter 39, "Using the Web, Databases, and Visual Basic," you will be able to combine your knowledge of ASP, databases, and Web design to create a Web database application. You create a sample Web application that connects to a database; although simple in scope, it can be used as a template for your own applications.

Chapter 40, "Programming Web Functionality into Your Applications," takes you on a tour explaining the Web controls available with Visual Basic 5.0. You further enhance your knowledge of the controls by building a sample application.

Part VIII--Distributed Client/Server Environment Programming

While single-user, PC-based database applications are important, they are not the only database applications you want to build. Chapter 43 discusses some of the considerations required when implementing client/server applications. You also learn how to connect your programs to databases through Open Database Connectivity (ODBC). This gives you access to a wide range of PC, mini-computer, and mainframe databases.

In Chapter 41, "Using Visual Basic in a Client/Server Environment," you learn how to create powerful client/server database applications by using Microsoft's SQL server 6.5 and Visual Basic 5.0.

In Chapter 42, "Using Visual Basic with Microsoft Transaction Server," you see how Transaction Server works and how it uses Microsoft's Distributed Common Object Model (DCOM) technology to provide a transparent platform for building distributed applications.

Part IX--Advanced Topics

Part IX, "Advanced Topics," expands on the fundamentals covered earlier in the book.

In Chapter 43, "Creating a Visual Basic Add-In," you discover how easy it is to create an add-in for Visual Basic. This chapter shows you how to create an add-in that is both fun and can be used as a template for your own efforts.

In Chapter 44, "Building a Wizard," you create your own Visual Basic Wizard. The fundamentals taught in this chapter can be used by you on your own projects.

Chapter 45, "Accessing the Windows Registry and INI Files," provides you with detailed coverage on accessing and manipulating information contained in INI files using the Windows 95 API. It also shows you how to manipulate Registry information using the functions contained in Visual Basic and those contained in the Windows 95 API.

Chapter 46, "Accessing the External Functions: The Windows API," explains how to use some of the more useful API functions. Calling the API enables you to write more advanced applications that are not possible with pure VB programming.

Part X--Appendixes

Appendix A, "Visual Basic Resources," provides you with information on where to find help for your Visual Basic 5 questions.

Appendix B, "What's on the CD," gives you a quick synopsis of the individual items that have been included on the CD-ROM.

The Companion CD-ROM

The CD-ROM included with this book contains the source code and reference materials referred to throughout the book. This source code can easily be cut and pasted right into your own application, saving you time in coding and debugging.

The CD-ROM also contains a huge array of software, including the add-ins, viewers, utilities, and other software packages. These utilities can easily be installed right from the CD-ROM. For a complete listing of the CD-ROM's contents, to turn to Appendix B, "What's on the CD."

Conventions Used in This Book

To make the text easier to understand, this book adopts several style conventions. For example, you'll notice that variable names, function names, and other types of program code that are part of a text paragraph are printed in computer type (monospaced) to set the code off from the surrounding text.

This book presents a variety of code, message and HTML text, commands, and response codes. To distinguish these elements clearly from the rest of this book's text, the code, message text, commands, and response codes appear in a special monospaced font. For example, when this book displays a few lines of code, it looks similar to the following:

Function AddTwoNumbers(x As Integer, y As Integer) As Integer
    AddTwoNumbers = x + y
End Function

However, a more extensive code listing is presented in a formal listing, such as Listing 0.1.

Listing 0.1 INTRO.BAS--A Sample Code Listing

Function CalculatePercentChange(X As Integer, Y As Integer) As Double
    Dim OnePercent As Double
    
    OnePercent = X / 100#
    If (OnePercent > 0) Then
        CalculatePercentChange = Y / OnePercent
    Else
        CalculatePercentChange = 0#
    End If
End Function

Even though this book contains a large amount of code, you don't have to type it all. The CD that accompanies this book provides all demonstrated code (along with the pieces that aren't shown in the text).

Also, occasionally code lines are too long to be printed on one line of this book. In this case, you see the "code continuation character," represented by the symbol , which shows you that the line on which it appears should be typed as a continuation of the preceding line. Here's an example of the code continuation character in use:

Public Function ChangeInv(aiPrdID As Long, 
 aiChange As Integer, _
                                  ByRef aiBackOrder 
 As Integer, _
Dim ctxObject As ObjectContext
    Dim rdoConn As rdoConnection
    Dim strSQL As String
    Dim rdoRS As rdoResultset

Several type and font conventions are used in this book to help make reading it easier:

As you read this book, you will come across icons and boxes that mark off separated sections of text. These are Notes, Tips, and Cautions which are not necessarily part of the subject under discussion, but related pieces of important information. Some examples of these elements follow.


CAUTION: Cautions present information that you want to be aware of to avoid any disastrous results.


NOTE: Notes provide additional information about the subject that you are reading about.


TIP: Tips provide unique information that may be based on the author's own unique experiences. In some cases a Tip might provide information that is not available anyplace else.

Cross-references point to sections in other chapters where you can find additional information about the topic being discussed. They look like this:

See "Creating a Toolbar with Code," Chapter xx

See "Creating Classes that Contain Collections," Chapter xx


Sidebar
Longer discussions not integral to the flow of the chapter are set aside as sidebars. Look for these sidebars to find out even more information.

Troubleshooting sections anticipate common problems in the form of a problem and its solution. The response provides you with practical suggestions for solving these problems. A typical example would be:


TROUBLESHOOTING: I can't save my file to a floppy disk. Make sure that you've placed a disk in the proper drive. If you know that you have the disk properly placed, make sure it's formatted and ready to receive information.

Sometimes the code listing is too big to comfortably fit into the allotted space in the book. In these cases a special "On the CD-ROM" symbol appears beside the listing, as it appears beside this paragraph. This symbol indicates that the complete listing has been included on the CD-ROM in the folder specified for your convenience.


ON THE WEB: http://www.quecorp.com On the Web elements refer you to useful Web pages.

Contacting the Author

I welcome your comments and feedback and will certainly do my best to clarify any points presented in this book. Please understand that it's not possible to answer specific questions or provide code examples, but I will do my best to make sure you are able to get started in the right direction.

Good code, like good food, should be enjoyed with close friends. If you have created an exciting application or a unique solution to a problem, I would like to hear about it. On any code submissions please indicate whether you would liked it placed on my Web site for general viewing by the Visual Basic community. Feel free to drop me a note at leidahl@cornerstonetech.com any time.

It's difficult to cover every conceivable solution to a given problem; it seems that there is always a better solution just around the corner! If you have ideas to be included "next time," I'd be more than happy to hear them. Until then, enjoy the power that Visual Basic 5 gives you.

- Loren D. Eidahl,
Minneapolis MN, 1997


Next chapterContents


Macmillan Computer Publishing USA

© Copyright, Macmillan Computer Publishing. All rights reserved.