Learn Visual Basic – Table of Contents
1. Introduction to the Visual Basic Environment
Preview 1-1Course Objectives 1-2What is Visual Basic? 1-3Visual Basic vs. Visual Basic .NET vs. Visual Basic 1-5A Brief Look at Object-Oriented Programming (OOP) 1-6Structure of a Visual Basic Windows Application 1-7Steps in Developing a Windows Application 1-9Starting Visual Basic 1-10Visual Basic Integrated Development Environment (IDE) 1-12Saving a Visual Basic Project 1-20Drawing the User Interface 1-21Example 1-1: Stopwatch Application – Drawing Controls 1-24Opening a Saved Visual Basic Project 1-25Setting Properties of Controls at Design Time 1-26Setting Properties at Run Time 1-29How Names Are Used in Control Events 1-30Use of Form Name Property 1-31Example 1-2: Stopwatch Application – Setting Properties 1-33Writing Code 1-35Variables 1-39Visual Basic Data Types 1-40Variable Declaration 1-42Arrays 1-45Constants 1-46Variable Initialization 1-47Intellisense Feature 1-48Example 1-3: Stopwatch Application – Writing Code 1-49Class Review 1-53Practice Problems 1 1-54Problem 1-1. Beep ProblemProblem 1-2. Caption ProblemProblem 1-3. Enabled ProblemProblem 1-4. Date ProblemExercise 1: Calendar/Time Display 1-55
2. The Visual Basic Language
Review and Preview 2-1A Brief History of BASIC 2-2Visual Basic Statements and Expressions 2-3Strict Type Checking 2-5Visual Basic Arithmetic Operators 2-7Comparison and Logical Operators 2-9Concatenation Operators 2-11Visual Basic Functions 2-12String Functions 2-13String Class Methods 2-17Dates and Times 2-21Random Number Object 2-24Math Functions 2-25Example 2-1: Savings Account 2-27Tab Stops and Tab Order 2-32Example 2-2: Savings Accounts – Setting Tabs 2-35Improving a Visual Basic Application 2-36Visual Basic Decisions – If Statements 2-37Select Case – Another Way to Branch 2-40Key Trapping 2-42Control Focus 2-44Example 2-3: Savings Account – Key Trapping 2-45Visual Basic Looping 2-49Visual Basic Counting 2-53Example 2-4: Savings Account – Decisions 2-55Class Review 2-62Practice Problems 2 2-63Problem 2-1. Random Number ProblemProblem 2-2. Price ProblemProblem 2-3. Odd Integers ProblemProblem 2-4. Pennies ProblemProblem 2-5. Code ProblemExercise 2-1: Computing a Mean and Standard Deviation 2-64Exercise 2-2: Flash Card Addition Problems 2-65
3. Object-Oriented Programming (OOP)
Review and Preview 3-1Introduction to Object-Oriented Programming (OOP) 3-2Objects in Visual Basic 3-4Adding a Class to a Visual Basic Project 3-5Declaring and Constructing an Object 3-7Adding Properties to a Class 3-8How Visual Basic Puts Controls on a Form 3-10Another Way to Add Properties to a Class 3-12Validating Class Properties 3-13Adding Constructors to a Class 3-15Adding Methods to a Class 3-17Inheritance 3-22Example 3-1. Savings Account 3-29Inheriting from Visual Basic Controls 3-36Building a Custom Control 3-37Adding New Properties to a Control 3-41Adding Control Event Procedures and Methods 3-44Example 3-2. Savings Account (Revisited) 3-47Class Review 3-52Practice Problems 3 3-53Problem 3-1. Mortgage ProblemProblem 3-2. Accelerated Mortgage ProblemProblem 3-3. Flashing Label ProblemExercise 3: Mailing List 3-54
4. Exploring the Visual Basic Toolbox
Review and Preview 4-1Function Overloading 4-2MessageBox Dialog 4-3Form Object 4-8Button Control 4-11Label Control 4-13TextBox Control 4-15Example 4-1: Password Validation 4-18CheckBox Control 4-23RadioButton Control 4-25GroupBox Control 4-27Panel Control 4-29Handling Multiple Events in a Single Procedure 4-31Control Arrays 4-34Example 4-2: Pizza Order 4-36ListBox Control 4-44ComboBox Control 4-47Example 4-3: Flight Planner 4-49Class Review 4-54Practice Problems 4 4-56Problem 4-1. Message Box ProblemProblem 4-2. Tray ProblemProblem 4-3. List Box ProblemProblem 4-4. Combo Box ProblemExercise 4: Customer Database Input Screen 4-57
5. More Exploration of the Visual Basic Toolbox
Review and Preview 5-1Control Z Order 5-2NumericUpDown Control 5-3DomainUpDown Control 5-5Example 5-1: Date Input Device 5-7Horizontal and Vertical ScrollBar Controls 5-10TrackBar Control 5-14Example 5-2: Temperature Conversion 5-16Picture Box Control 5-21OpenFileDialog Control 5-27Example 5-3: Picture Box Playground 5-30Legacy Controls 5-36DriveListBox Control 5-38DirListBox Control 5-39FileListBox Control 5-40Synchronizing the Drive, Directory, and File List Box Controls 5-42Example 5-4: Image Viewer 5-44Class Review 5-50Practice Problems 5 5-51Problem 5-1. Tic-Tac-Toe ProblemProblem 5-2. Number Guess ProblemProblem 5-3. File Times ProblemExercise 5: Student Database Input Screen 5-52
6. Windows Application Design and Distribution
Review and Preview 6-1Application Design Considerations 6-2Multiple Form Visual Basic Applications 6-3Adding a Module 6-6Visual Basic Multiple Document Interface (MDI) 6-7Example 6-1: Shopping Cart 6-8Using General Procedures in Applications 6-22Example 6-2: Circle Geometry 6-27Using General Functions in Applications 6-31Example 6-3: Average Value 6-33MainMenu Control 6-39ContextMenu Control 6-45Font Object 6-46FontDialog Control 6-47Example 6-4: Note Editor 6-50Distribution of a Visual Basic Application 6-56Application Icons 6-59Visual Basic Setup Wizard 6-62Debug Versus Release Configuration 6-74Building the Setup Program 6-75Installing/Removing a Visual Basic Application 6-76ClickOnce Deployment 6-79Class Review 6-80Practice Problems 6 6-77Problem 6-1. Note Editor About Box ProblemProblem 6-2. Normal Numbers ProblemProblem 6-3. Context Menu ProblemExercise 6: US/World Capitals Quiz 6-78
7. Sequential Files, Error-Handling and Debugging
Review and Preview 7-1Sequential Files 7-2Sequential File Output (Variables) 7-5Application Path 7-10Example 7-1: Writing Variables to Sequential Files 7-11Sequential File Input (Variables) 7-15Example 7-2: Reading Variables from Sequential Files 7-18Parsing Data Lines 7-27Example 7-3. Parsing Data Lines 7-29Building Data Lines 7-33Example 7-4: Building Data Lines 7-35Configuration Files 7-40Example 7-5: Configuration Files 7-42Writing and Reading Text Using Sequential Files 7-45SaveFileDialog Control 7-48Example 7-6: Note Editor – Reading and Saving Text Files 7-51StreamWriter Object 7-54StreamReader Object 7-58Error Handling 7-61Run-Time Error Trapping and Handling 7-63Example 7-7: Note Editor – Error Trapping 7-66Debugging Visual Basic Programs 7-69Example 7-8: Debugging Example 7-71Using the Debugging Tools 7-74Debugging Strategies 7-88Class Review 7-89Practice Problems 7 7-90Problem 7-1. Option Saving ProblemProblem 7-2. Text File ProblemProblem 7-3. Data File ProblemProblem 7-4. Debugging ProblemExercise 7-1: Information Tracking 7-92Exercise 7-2: ‘Recent Files’ Menu Option 7-93
8. Graphics Techniques with Visual Basic
Review and Preview 8-1Simple Animation 8-2Example 8-1: Simple Animation 8-4Timer Control 8-7Example 8-2: Timer Control 8-9Basic Animation 8-11Example 8-3: Basic Animation 8-13Random Numbers (Revisited) and Games 8-18Example 8-4: One-Buttoned Bandit 8-20Randomly Sorting Integers 8-28Example 8-5: Random Integers 8-29Graphics Methods 8-33Graphics Object 8-34Colors 8-36ColorDialog Control 8-38Pen Object 8-40DrawLine Method 8-41Graphics Methods (Revisited) 8-42Persistent Graphics 8-45Example 8-6: Drawing Lines 8-48Rectangle Structure 8-52DrawRectangle Method 8-54Brush Object 8-55FillRectangle Method 8-56DrawEllipse Method 8-57FillEllipse Method 8-58Example 8-7: Drawing Rectangles and Ellipses 8-59DrawPie Method 8-67FillPie Method 8-69Example 8-8: Drawing Pie Segments 8-71Pie Charts 8-77Line Charts and Bar Charts 8-81Coordinate Conversions 8-84Example 8-9: Line, Bar and Pie Charts 8-93Class Review 8-102Practice Problems 8 8-103Problem 8-1. Find the Burger GameProblem 8-2. Dice Rolling ProblemProblem 8-3. RGB Colors ProblemProblem 8-4. Plotting ProblemProblem 8-5. Pie Chart ProblemExercise 8-1: Blackjack 8-104Exercise 8-2: Information Tracking Plotting 8-105
9. More Graphics Methods and Multimedia Effects
Review and Preview 9-1Mouse Events 9-2Example 9-1: Blackboard 9-5Persistent Graphics, Revisited (Image and Bitmap Objects) 9-14Example 9-2: Blackboard (Revisited) 9-17More Graphics Methods 9-20Point Structure 9-21DrawLines Method 9-22DrawPolygon Method 9-24FillPolygon Method 9-25DrawCurve Method 9-26DrawClosedCurve Method 9-27FillClosedCurve Method 9-28Example 9-3: Drawing Lines, Polygons, Curves, Closed Curves 9-31Example 9-4: Drawing Animated Lines and Curves 9-38HatchBrush Object 9-41Example 9-5: Hatch Brush 9-43LinearGradientBrush Object 9-45Example 9-6: Linear Gradient Brush 9-47TextureBrush Object 9-49Example 9-7: Texture Brush 9-50DrawString Method 9-52Multimedia Effects 9-57Animation with DrawImage Method 9-58Example 9-8: Bouncing Ball 9-60Scrolling Backgrounds 9-66Example 9-9: Horizontally Scrolling Background 9-69Sprite Animation 9-73Keyboard Events 9-76Example 9-10. Sprite Animation 9-78Collision Detection 9-83Example 9-11: Collision Detection 9-84Playing Sounds 9-89Example 9-12: Bouncing Ball with Sound! 9-91Class Review 9-93Practice Problems 9 9-94Problem 9-1. Blackboard ProblemProblem 9-2. Rubber Band ProblemProblem 9-3. Shape Guessing GameProblem 9-4. Plot Labels ProblemProblem 9-5. Bouncing Balls ProblemProblem 9-6. Moon ProblemProblem 9-7. Sound File ProblemExercise 9: The Original Video Game – Pong! 9-95
10. Other Windows Application Topics
Review and Preview 10-1Other Controls 10-2LinkLabel Control 10-3Example 10-1: Link Label Control 10-5TabControl Control 10-7Example 10-2: Tab Control 10-10MonthCalendar Control 10-17DateTimePicker Control 10-19Example 10-3: Date Selections 10-20RichTextbox Control 10-23Example 10-4: Rich Text Box Example 10-26ToolBar (Toolstrip) Control 10-29Example 10-5: Note Editor Toolbar 10-33ToolTip Control 10-38Example 10-6: Tool Tip Control 10-39Adding Controls at Run-Time 10-41Example 10-7: Rolodex – Adding Controls at Run-Time 10-43Printing with Visual Basic 10-46Printing Pages of a Document 10-49PageSetupDialog Control 10-55PrintDialog Control 10-58PrintPreviewDialog Control 10-60Example 10-8: Printing 10-62Using the Windows API 10-69Timing with the Windows API 10-71Example 10-9. Stopwatch Application (Revisited) 10-73Adding a Help System to Your Application 10-75Creating a Help File 10-77Starting HTML Help Workshop 10-78Creating Topic Files 10-80Creating Table of Contents File 10-83Compiling the Help File 10-88HelpProvider Control 10-91Example 10-10: Help System Display 10-93Class Review 10-95Practice Problems 10 10-96Problem 10-1. Biorhythm ProblemProblem 10-2. Rich Textbox Note Editor ProblemProblem 10-3. Loan Printing ProblemProblem 10-4. Plot Printing ProblemProblem 10-5. Sound Timing ProblemProblem 10-6. Note Editor Help ProblemExercise 10: Phone Directory 10-98
11. Other Windows Application Topics
Review and Preview 11-1Database Applications 11-2Database Structure and Terminology 11-3DataSet Objects 11-7Simple Data Binding 11-16Database Navigation 11-18Example 11-1: Accessing the Books Database 11-19Creating a Virtual Table 11-25Example 11-2: Creating a Virtual Table 11-26DataView Objects 11-35Example 11-3: ‘Rolodex’ Searching of the Books Database 11-38Complex Data Binding 11-42Web Applications 11-48Starting a New Web Application 11-50Web Form Controls 11-53Building a Web Application 11-60Example 11-4: Loan Payments 11-63Example 11-5: Loan Repayment Schedule 11-69Class Review 11-47Course Summary 11-48Practice Problems 11 11-49Problem 11-1. New DataView ProblemProblem 11-2. Multiple Authors ProblemProblem 11-3. Stopwatch ProblemExercise 11: The Ultimate Application 11-75Practice Problems Solutions (Part 1: Classes 1 to 6) P1-1Practice Problems Solutions (Part 2: Classes 7 to 11) P2-1Exercise Solutions (Part 1: Classes 1 to 6) E1-1Exercise Solutions (Part 2: Classes 7 to 11) E2-1