Visual Basic 2005 Cookbook: Solutions for VB 2005 Programmers

Tim Patrick, John Craig

  • 出版商: O'Reilly
  • 出版日期: 2006-10-31
  • 售價: $1,800
  • 貴賓價: 9.5$1,710
  • 語言: 英文
  • 頁數: 742
  • 裝訂: Paperback
  • ISBN: 0596101775
  • ISBN-13: 9780596101770
  • 相關分類: Visual Basic
  • 已過版
    無現貨庫存(No stock available)




This book will help you solve more than 300 of the most common and not-so-common tasks that working Visual Basic 2005 programmers face every day. If you're a seasoned .NET developer, beginning Visual Basic programmer, or a developer seeking a simple and clear migration path from VB6 to Visual Basic 2005, the Visual Basic 2005 Cookbook delivers a practical collection of problem-solving recipes for a broad range of Visual Basic programming tasks.

The concise solutions and examples in the Visual Basic 2005 Cookbook range from simple tasks to the more complex, organized by the types of problems you need to solve. Nearly every recipe contains a complete, documented code sample showing you how to solve the specific problem, as well as a discussion of how the underlying technology works and that outlines alternatives, limitations, and other considerations. As with all O'Reilly Cookbooks, each recipe helps you quickly understand a problem, learn how to solve it, and anticipate potential tradeoffs or ramifications.

Useful features of the book include:

  • Over 300 recipes written in the familiar O'Reilly Problem-Solution-Discussion format
  • Hundreds of code snippets, examples, and complete solutions available for download
  • VB6 updates to alert VB6 programmers to code-breaking changes in Visual Basic 2005
  • Recipes that target Visual Basic 2005 features not included in previous releases
  • Code examples covering everyday data manipulation techniques and language fundamentals
  • Advanced projects focusing on multimedia and mathematical transformations using linear algebraic methods
  • Specialized topics covering files and file systems, printing, and databases

In addition, you'll find chapters on cryptography and compression, graphics, and special programming techniques. Whether you're a beginner or an expert, the Visual Basic 2005 Cookbook is sure to save you time, serving up the code you need, when you need it.


Table of Contents


1. Visual Basic Programming

      1.1 Creating a Windows Forms Application

      1.2 Creating a Console Application

      1.3 Creating an ASP.NET Web Forms Application

2. The Development Environment

      2.1 Discovering and Using a Code Snippet

      2.2 Creating a New Snippet

      2.3 Sharing Snippets

      2.4 Adding Snippet Files to Visual Studio

      2.5 Getting an Application's Version Number

      2.6 Letting Visual Studio Automatically Update an Application's   Version Number

      2.7 Setting the Startup Form for an Application

      2.8 Setting the Startup to a Sub Main Procedure

      2.9 Getting an Application's Command Line

      2.10 Testing an Application's Command Line

      2.11 Obfuscating an Application

      2.12 Determining if an Application Is Running in the Visual Studio   Environment

      2.13 Accessing Environment Variables

      2.14 Accessing the Registry

      2.15 Getting System Information

      2.16 Getting the User's Name

3. Application Organization

      3.1 Creating a Code Module

      3.2 Creating a Class

      3.3 Creating a Structure

      3.4 Creating Other Item Types

      3.5 Creating Object Instances

      3.6 Initializing a Class Instance with Data

      3.7 Releasing an Instance's Resources

      3.8 Using Namespaces

      3.9 Splitting a Class Across Multiple Files

      3.10 Creating a Form Based on Another Form

      3.11 Passing and Returning Structures and Other Objects

      3.12 Creating and Using an Enumeration

      3.13 Converting Between Numeric and String Enumeration Values

      3.14 Creating a Method That Accepts Different Sets of Arguments

      3.15 Using Standard Operators for Nonstandard Purposes

      3.16 Enforcing Strong Data Typing in an Otherwise Weakly Typed   Collection

4. Forms, Controls, and Other Useful Objects

      4.1 Creating and Adding Controls at Runtime

      4.2 Iterating Through All Controls on a Form

      4.3 Sharing Event-Handler Logic Among Many Controls

      4.4 Working with Timers

      4.5 Determining if a Control Can Take the Focus

      4.6 Programmatically Clicking a Button

      4.7 Drawing a Control

      4.8 Making a Form the Top-Most Form

      4.9 Indicating the Accept and Cancel Buttons on a Form

      4.10 Remembering a Form's Position Between Uses

      4.11 Attaching a Control to the Edge of a Form

      4.12 Moving or Resizing Controls as a Form Resizes

      4.13 Limiting the Sizing of a Form

      4.14 Centering a Form

      4.15 Creating and Moving a Borderless Form

      4.16 Creating a Fading Form

      4.17 Creating a Nonrectangular Form

      4.18 Changing Menus at Runtime

      4.19 Creating Shortcut Menus

5. Strings

      5.1 Using a StringBuilder

      5.2 Creating a String of N Identical Characters

      5.3 Creating a String by Repeating a String N Times

      5.4 Obfuscating a String

      5.5 Converting Binary Data to a Hexadecimal String

      5.6 Extracting Substrings from Larger Strings

      5.7 Converting a String's Case

      5.8 Comparing Strings with Case Sensitivity

      5.9 Comparing Strings Without Case Sensitivity

      5.10 Converting Strings to and from Character Arrays

      5.11 Converting Strings to and from Byte Arrays

      5.12 Tallying Characters

      5.13 Counting Words

      5.14 Removing Extra Whitespace

      5.15 Using the Correct End-of-Line Characters

      5.16 Replacing Substrings

      5.17 Inserting a Character or String

      5.18 Inserting a Line

      5.19 Double-Spacing a String

      5.20 Formatting Numbers into Strings

      5.21 Trimming Sets of Characters from a String

      5.22 Identifying and Validating Types of Data in a String

      5.23 Converting Strings Between Encoding Systems

      5.24 Determining a Character's Type

      5.25 Parsing Strings

      5.26 Concatenating Strings

      5.27 Speeding Up String Manipulation

      5.28 Counting Occurrences of a Substring

      5.29 Padding a String for Exact Length and Alignment

      5.30 Converting Tabs to Spaces

      5.31 Reversing a String

      5.32 Shuffling a String

      5.33 Using a Simple String Encryption

      5.34 Converting a String to Morse Code

      5.35 Adding Strings to an Application's Resources

      5.36 Converting Any Data to a String

      5.37 Using Regular Expressions to Extract All Numbers

      5.38 Getting a Count of Regular Expression Matches

      5.39 Getting the Nth Regular Expression Match

      5.40 Compiling Regular Expressions for Speed

      5.41 Using Regular Expressions to Validate Data

      5.42 Using Regular Expressions to Count Characters, Words, or Lines

      5.43 Converting a String to and from Base64

      5.44 Splitting a String

      5.45 Creating a String of Space Characters

6. Numbers and Math

      6.1 Using Compact Operator Notation

      6.2 Choosing Integers of the Right Size and Type for the Job

      6.3 Using Unsigned Integers

      6.4 Swapping Two Integers Without Using a Third

      6.5 Using Single- and Double-Precision Variables

      6.6 Using Decimal Variables for Maximum Precision

      6.7 Converting Between Number Types

      6.8 Rounding Numbers Accurately

      6.9 Declaring Loop Counters Within Loops

      6.10 Converting Between Radians and Degrees

      6.11 Limiting Angles to a Range

      6.12 Creating Double-Precision Point Variables

      6.13 Converting Between Rectangular and Polar Coordinates

      6.14 Creating Three-Dimensional Variables

      6.15 Converting Between Rectangular, Spherical, and Cylindrical   Coordinates

      6.16 Working with Complex Numbers

      6.17 Solving Right Triangles

      6.18 Solving Any Triangle

      6.19 Determining if a String Contains a Valid Number

      6.20 Converting Numbers to Integers

      6.21 Calculating p to Thousands of Digits

      6.22 Getting a Number's Prime Factors

      6.23 Using Recursion to Calculate Factorials

      6.24 Manipulating Bits with Bitwise Operators

      6.25 Storing and Retrieving Bits in a BitArray

      6.26 Enhancing the Random Number Generator

      6.27 Generating Random Integers in a Range

      6.28 Generating Random Real Numbers in a Range

      6.29 Generating Normal-Distribution Random Numbers

      6.30 Generating Exponential-Distribution Random Numbers

      6.31 Creating a Matrix

      6.32 Inverting a Matrix

      6.33 Calculating the Determinant of a Matrix

      6.34 Solving Simultaneous Equations

      6.35 Listing of the MatrixHelper Class

7. Dates and Times

      7.1 Getting the System Date and Time

      7.2 Accessing the System's Time Zone

      7.3 Using System Ticks

      7.4 Timing Application Activities

      7.5 Calculating Elapsed Time Using Ticks

      7.6 Calculating Elapsed Time with the Stopwatch

      7.7 Extracting Year, Month, and Day Numbers from a Date Value

      7.8 Extracting Hour, Minute, and Second Numbers from a Date Value

      7.9 Creating a Date or Time Value from Its Parts

      7.10 Formatting Dates and Times

      7.11 Parsing and Validating Dates and Times

      7.12 Adding to Dates and Times

      7.13 Subtracting from Dates and Times

      7.14 Determining the Number of Days Between Two Dates

      7.15 Determining the Day of the Week for a Date

      7.16 Determining the Day of the Year for a Date

      7.17 Determining the Number of Days in a Month

      7.18 Using Controls to Enter or Select a Date

      7.19 Calculating the Phase of the Moon

      7.20 Creating a Calendar

      7.21 Checking for Leap Years

      7.22 Dates and Times in ISO 8601 Formats

8. Arrays and Collections

      8.1 Filling an Array While Declaring It

      8.2 Sorting Array Elements

      8.3 Reversing an Array

      8.4 Inserting into an Array

      8.5 Shuffling an Array

      8.6 Swapping Two Array Values

      8.7 Resizing Arrays Without Losing Existing Values

      8.8 Quickly Copying Part of an Array into Another

      8.9 Writing a Comma-Separated-Values File from a String Array

      8.10 Reading a Comma-Separated-Values File into a String Array

      8.11 Using a Multivalue Array Instead of a Two-Dimensional Array

      8.12 Converting Between Delimited Strings and Arrays

      8.13 Formatting an Array as a Single String

      8.14 Iterating Through Array Elements

      8.15 Passing Arrays to Methods

      8.16 Returning Arrays from Functions

      8.17 Creating a Collection

      8.18 Inserting an Item into a Collection

      8.19 Deleting a Collection Item

      8.20 Iterating Through a Collection

9. Graphics

      9.1 Creating Graphics Objects

      9.2 Drawing on Controls for Special Effects

      9.3 Letting the User Select a Color

      9.4 Working with Coordinate Systems (Pixels, Inches, Centimeters)

      9.5 Creating a Bitmap

      9.6 Setting a Background Color

      9.7 Drawing Lines, Ellipses, and Rectangles

      9.8 Drawing Lines One Pixel Wide Regardless of Scaling

      9.9 Forcing a Form or Control to Redraw

      9.10 Using Transparency

      9.11 Scaling with Transforms

      9.12 Using an Outline Path

      9.13 Using Gradients for Smooth Color Changes

      9.14 Drawing Bezier Splines

      9.15 Drawing Cardinal Splines

      9.16 Limiting Display Updates to Specific Regions

      9.17 Drawing Text

      9.18 Rotating Text to Any Angle

      9.19 Mirroring Text on the Canvas

      9.20 Getting the Height and Width of a Graphic String

      9.21 Drawing Text with Outlines and Drop Shadows

      9.22 Calculating a Nice Axis

      9.23 Drawing a Simple Chart

      9.24 Creating Odd-Shaped Forms and Controls

      9.25 Using the RGB, HSB (HSV), and HSL Color Schemes

      9.26 Creating a Rubber-Band Rectangular Selection

      9.27 Animating with Transparency

      9.28 Substitutions for Obsolete Visual Basic 6.0 Features

10. Multimedia

      10.1 Playing an Audio File

      10.2 Displaying Image Files

      10.3 Playing a Video File

      10.4 Making Your Computer Beep

      10.5 Creating an Animation Using Multiple Images

      10.6 Creating an Animation by Generating Multiple Bitmaps

      10.7 Creating an Animation by Drawing at Runtime

      10.8 Creating Animated Sprites

      10.9 Resizing and Compressing JPEG Files

      10.10 Getting JPEG Extended Information

      10.11 Creating Thumbnails

      10.12 Displaying Images While Controlling Stretching and Sizing

      10.13 Scrolling Images

      10.14 Merging Two or More Images

      10.15 Using Resource Images

      10.16 Capturing an Image of the Screen

      10.17 Getting Display Dimensions

      10.18 Speeding Up Image Processing

      10.19 Converting an Image to Grayscale

      10.20 Performing Edge Detection on an Image

      10.21 Full Listing of the LockImage Class

11. Printing

      11.1 Enumerating Printers

      11.2 Sending "Raw" Data to a Printer

      11.3 Get Details About the Default Printer

      11.4 Creating a Print Preview

      11.5 Prompting for Printed Page Settings

      11.6 Drawing Text and Graphics to a Printer

      11.7 Determining the Print Destination

      11.8 Creating Graph Paper

12. Files and File Systems

      12.1 Enumerating Drives

      12.2 Determining if a Directory Exists

      12.3 Creating a New Directory

      12.4 Copying Directories

      12.5 Moving Directories

      12.6 Renaming Directories

      12.7 Parsing File and Directory Paths

      12.8 Searching Iteratively Through Directories and Subdirectories

      12.9 Finding Directories and Files Using Wildcards

      12.10 Determining if a File Exists

      12.11 Getting and Setting File Attributes

      12.12 Accessing Special User and Windows Directories

      12.13 Determining the Space on a Drive

      12.14 Browsing for a Directory

      12.15 Getting File Information

      12.16 Using File-Access Methods

      12.17 Reading and Writing Files as Strings

      12.18 Reading and Writing Binary Files

      12.19 Copying or Moving a File

      12.20 Sending a File to the Recycle Bin

      12.21 Creating a Temporary File

      12.22 Calculating a Checksum for a File

      12.23 Comparing Two Files for Equality

      12.24 Locking a File During Access

      12.25 Reading from a File at a Specific Position

      12.26 Reading and Writing Objects in a File

      12.27 Creating a Comma-Separated-Values File

13. Databases

      13.1 Connecting to a Data Provider

      13.2 Issuing SQL Commands

      13.3 Retrieving Results from a Database Query

      13.4 Using SQL Parameters

      13.5 Using Stored Procedures

      13.6 Using Transactions

      13.7 Storing the Results of a Query in Memory

      13.8 Creating In-Memory Data Tables Manually

      13.9 Writing In-Memory Data Tables to an XML File

      13.10 Reading an XML File into In-Memory Data Tables

14. Special Programming Techniques

      14.1 Preventing Multiple Instances of a Running Application

      14.2 Creating a Simple User Control

      14.3 Describing User Control Properties

      14.4 Starting Other Applications by EXE, Document, or URL

      14.5 Waiting for Applications to Finish

      14.6 List All Running Processes

      14.7 Terminating a Running Process

      14.8 Pausing Execution of a Program

      14.9 Control Applications by Simulating Keystrokes

      14.10 Watching for File and Directory Changes

      14.11 Creating an Icon in the System Tray

      14.12 Accessing the Clipboard

      14.13 Adding Tooltips to Controls

      14.14 Dragging and Dropping Files to a ListBox

      14.15 Dragging and Dropping Between ListBox Controls

      14.16 Disposing of Objects Appropriately

      14.17 Fine-Tuning Garbage Collection

      14.18 Moving the (Mouse) Cursor

      14.19 Intercepting All Key Presses on a Form

      14.20 Accessing the Registry

      14.21 Running Procedures in Threads

      14.22 Reading XML into a TreeView

      14.23 Creating an XML Document

      14.24 Validating an XML Document

      14.25 Using Generic Collections

      14.26 Creating a Screensaver

      14.27 Localizing the Controls on a Form

      14.28 Adding Pop-up Help to Controls

      14.29 Maintaining User-Specific Settings Between Uses of an Application

      14.30 Verifying a Credit Card Number

      14.31 Capturing a Console Application's Output

      14.32 Reading an Assembly's Details

      14.33 Performing Serial I/O

      14.34 Rebooting the System

15. Exceptions

      15.1 Catching an Exception

      15.2 Throwing an Exception

      15.3 Catching Unhandled Exceptions

      15.4 Displaying Exception Information

      15.5 Creating New Exception Types

      15.6 Ignoring Exceptions in a Block of Code

16. Cryptography and Compression

      16.1 Generating a Hash

      16.2 Encrypting and Decrypting a String

      16.3 Encrypting and Decrypting a File

      16.4 Prompting for a Username and Password

      16.5 Handling Passwords Securely

      16.6 Compressing and Decompressing a String

      16.7 Compressing and Decompressing a File

      16.8 Generating Cryptographically Secure Random Numbers

      16.9 Complete Listing of the Crypto.vb Module

      16.10 Complete Listing of the Compress.vb Module

17. Web Development

      17.1 Displaying Web Pages on a Form

      17.2 Accessing Content Within an HTML Document

      17.3 Getting All Links from a Web Page

      17.4 Get the Local Computer's IP Address

      17.5 Resolving a Host Name or IP Address for Another Computer

      17.6 Pinging an IP Address

      17.7 Using FTP to Download Files

      17.8 Calling a Web Service

      17.9 Sending Email Using SMTP

      17.10 Getting POP3 Emails

      17.11 Sending a Message to Another Computer

      17.12 Adding Hyperlinks to a (Desktop) Form