Acknowledgments About the Author
1: Arrays and Array Manipulation
.CREATING AND USING ARRAYS IN VISUAL BASIC
Sorting Arrays
WORKING WITH SORTED ARRAYS
Finding an Element with a Specific Value in a Sorted Array Inserting an Element into a Sorted Array
Deleting an Element from a Sorted Array
WORKING WITH DATA IN AN ARRAY
Finding Maximum and Minimum Values in an Array Range Array Arithmetic
More on Array Arithmetic
Copying a Range from One Array to Another Persisting Array Data
PERFORMANCE HINTS
2: Strings and String Handling
WHAT ISA STRING?
Examining Strings Parsing Strings Changing Strings
3: Fun with Numbers, Numeric Processing, and Logic
BINARY ANALYSIS OF NUMBERS
Negative Numbers
Binary Digits in Visual Basic Numbers
HEXADECIMAL HOCUS POCUS MORE ONBIT FLAGS
Bytes from Words Words from Longs
BINARY-CODED DECIMAL
Next Steps for Working with BCD Strings
METRICS
SPELLING OUT NUMBERS
4: Working with Dates and Times
DATE ARITHMETIC
Leap Years Calculating Days
FORMATTING DATES JULIAN DATES
Next Steps
WORKING WITH TIME SUMMARY
5: Data Structures: Versatile Vehicles for Data Storage
DATA STRUCTURES IN VISUAL BASIC
Arrays
User-Defined Types Enumerated Types Classes
Key-Item Pairs
HASHING
Creating the Data Structures Needed for Hashing Hashing the Data
Searching the Hash Table Testing the Hashing Solution
6: Windows Files, Directories, and Drives
FILES, DIRECTORIES, AND DRIVES
WINDOWS APPLICATION PROGRAMMING INTERFACE FILES
File Existence Finding a File
Getting a Unique Temporary Filename Changing a File’s Date and Time Stamp Retrieving a Short Filename
Recycling Instead of Deleting
WINDOWS DIRECTORIES
Windows System Directory Windows Directory
Temporary File Directory
WINDOWS DISK DRIVES
Determining the Number of Drives Detecting Drive Type
Drive Space
Drives Larger Than 2 GB Drive Serial Number
Reading and Writing the Drive Name
7: Persistence: Remembering What You Can’t Afford to Forget
PERSISTENCE INI FILES
Reading a String Value from an INI File Reading a Numeric Value from an INI File Writing INI File Data
Deleting INI Entries
THE WINDOWS REGISTRY
Reading from and Writing to the Registry
8: Localization: The Art of Talking Like a Native
LOCALIZATION
ACTI VEX COMPONENTS THAT ADAPT
From Visual Basic to Self-Localizing ActiveX Controls Creating Resource Files
Creating Self-Localizing ActiveX DLLs and Documents Implementing Language DLLs
Setting Default Fonts Handling Other Languages
9: Working with Networks
ACCESSING A NETWORK
Determining Whether a Network Is Present Reading the Username
Reading the Computer Name Setting the Computer Name
Finding the Next Free Network Drive
CONNECTING TO A NETWORK RESOURCE
Disconnecting from a Network Resource Network Dialogs
THE INTERNET EXPLORER API: ACCESS TO THE INTERNET WITHOUT A BROWSER
Installing the Run-Time Files Opening an Internet Channel Connecting to the Internet Server Connecting to the Data Sink Posting Form Data
Reading the Response Closing All the Handles
Putting the Pieces Together: A Complete Data-Source Program
10: Reliable and Flexible Data Validation
VALIDATION OF NUMERIC DATA
IsNumeric TypeName VarType
VALIDATION OF DATES
IsDate
VALIDATION OF TEXT ENTRIES
Text Length Text Content
VALIDATING OTHER TYPES OF DATA PUTTING IT ALL TOGETHER
Building the Data-Entry Form Setting Essential Properties Enforcing Character Validation Reformatting Input Data Credit Card Validation Wrapping Up
11: Working with the Operating System
RETRIEVING SYSTEM INFORMATION DETERMINING THE AMOUNT OF MEMORY DETERMINING HOW WINDOWS STARTED
GETTING AND SETTING ENVIRONMENT VARIABLES
Getting an Environment Variable Setting an Environment Variable Deleting an Environment Variable
SHUTTING DOWN AND RESTARTING WINDOWS
Shutting Down Windows Restarting Windows
RETRIEVING HARDWARE INFORMATION
Determining the CPU Type
Determining the Number of CPUs
Determining CPU Performance Capabilities
RETRIEVING THE FLAVOR OF WINDOWS AND THE OPERATING SYSTEM VERSION
Identifying Windows 95/98 Identifying Windows NT
Identifying the Operating System Version
12: Windows Help Systems-From the Inside
...WINHELP
DISPLAYING A HELP PAGE CLOSING A HELP WINDOW CONTEXT-SENSITIVE HELP SHOWING A SPECIFIC HELP PAGE
DISPLAYING HELP IN A POP-UP WINDOW SEARCHING HELP
MAKING SURE YOUR HELP FILE ISTHE ONE THAT’S VISIBLE DISPLAYING THE HELP WINDOW WHERE YOU WANT.
PUTTING IT ALL TOGETHER
13: Multiple Document Interface Forms
MDIFORM BASICS
SHARING SYSTEM RESOURCES
Sharing in the Real World
MANAGING MENUS
Shared Menu Items Semishared Menu Items Custom Menu Items
14: Database Programming
DATABASE FEATURES IN VISUAL BASIC
OLE DBSupport
Active Data Objects (ADO) The Data Environment The ADO Data Control Enhanced Data Binding
The Query and Database Designer The Data Report Designer
Data Sources
The Data View Window The DataRepeater Control
Data Form Wizard Enhancements The Data Object Wizard
ADO-Aware Data Controls
USING THE DATA ENVIRONMENT DESIGNER
Creating the Data Environment Adding a Query
Binding a Data Grid to the Data Environment Binding a Record Viewer to the Data Environment Binding a Data Report to the Data Environment .
USING THE DATALIST AND DATAC0MBO CONTROLS BUILDING A DATABASE ANALYZER
15: Active Data Objects
MICROSOFT’S UNIVERSAL DATA ACCESS STRATEGY
More on OLE DB ODBC
Remote Data Service
ACTIVE DATA OBJECTS
The Connection Object
The Recordset and Field Objects The Command and Parameter Objects The Errors Collection
ADVANCED ADO TECHNIQUES
Passing Recordsets Using Output Parameters
16: Objects, Objects, and More Objects
CREATING SERVICE OBJECTS
CREATING A NETWORK SERVICES OBJECT
Retrieving the Username Connecting a Network Drive Disconnecting a Network Drive Putting It All Together
CREATING A REGISTRY SERVICES OBJECT
Understanding the Windows Registry
Adding the WinAPI Declarations to the Registry Service Object Adding the Class Properties
Adding the Class Methods Putting It All Together
17: WebClasses: A New Way to Program for the Web
INTRODUCTION TO WEBCLASSES BUILDING A WEBCLASS APPLICATION USING AN HTML TEMPLATE
CREATING WEBITEMS AND CUSTOM EVENTS
Using WebItems Using Custom Events
COMBINING WEBCLASSES WITH ACTIVE DATA OBJECTS CREATING DYNAMIC WEBCLASS EVENT PROCEDURES THE UPSIDE AND DOWNSIDE OF WEBCLASSES
Index
http://www.springer.com/978-1-893115-06-4