100% found this document useful (1 vote)
43 views

Clearly Visual Basic Programming with Microsoft Visual Basic 2012 3rd Edition Diane Zak pdf download

The document provides information about various programming books, particularly focusing on Visual Basic editions by Diane Zak. It includes links to download eBooks in different formats and details about the content covered in the textbooks. Additionally, it mentions copyright information and electronic rights restrictions related to the eBooks.

Uploaded by

jeneeebler9v
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
43 views

Clearly Visual Basic Programming with Microsoft Visual Basic 2012 3rd Edition Diane Zak pdf download

The document provides information about various programming books, particularly focusing on Visual Basic editions by Diane Zak. It includes links to download eBooks in different formats and details about the content covered in the textbooks. Additionally, it mentions copyright information and electronic rights restrictions related to the eBooks.

Uploaded by

jeneeebler9v
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

Clearly Visual Basic Programming with Microsoft

Visual Basic 2012 3rd Edition Diane Zak download

https://ebookname.com/product/clearly-visual-basic-programming-
with-microsoft-visual-basic-2012-3rd-edition-diane-zak/

Get Instant Ebook Downloads – Browse at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Microsoft Visual Basic 2015 RELOADED 6th Edition


Edition Diane Zak

https://ebookname.com/product/microsoft-visual-
basic-2015-reloaded-6th-edition-edition-diane-zak/

Microsoft Visual Basic 2008 Express Programming for the


Absolute Beginner 1st Edition Ford

https://ebookname.com/product/microsoft-visual-
basic-2008-express-programming-for-the-absolute-beginner-1st-
edition-ford/

Visual Basic Game Programming with DirectX 1st Edition


Jonathan S. Harbour

https://ebookname.com/product/visual-basic-game-programming-with-
directx-1st-edition-jonathan-s-harbour/

Vectors and Tensors in Engineering and Physics 2nd


Edition Danielson

https://ebookname.com/product/vectors-and-tensors-in-engineering-
and-physics-2nd-edition-danielson/
The Democratic Promise The Individual Within the
Community First Printing Edition Constance Goh

https://ebookname.com/product/the-democratic-promise-the-
individual-within-the-community-first-printing-edition-constance-
goh/

DK findout Animals First American Edition Baker

https://ebookname.com/product/dk-findout-animals-first-american-
edition-baker/

Data Structures and Algorithms in Java 5th


International student edition M.T. Goodrich And R.
Tamassia

https://ebookname.com/product/data-structures-and-algorithms-in-
java-5th-international-student-edition-m-t-goodrich-and-r-
tamassia/

The Politics of Denial Israel and the Palestinian


Refugee Problem 1st Edition Nur Masalha

https://ebookname.com/product/the-politics-of-denial-israel-and-
the-palestinian-refugee-problem-1st-edition-nur-masalha/

AACN Essentials of Critical Care Nursing First Edition


Marianne Chulay

https://ebookname.com/product/aacn-essentials-of-critical-care-
nursing-first-edition-marianne-chulay/
Equity and Index Options Explained 1st Edition W. A.
Beagles

https://ebookname.com/product/equity-and-index-options-
explained-1st-edition-w-a-beagles/
This is an electronic version of the print textbook. Due to electronic rights restrictions,
some third party content may be suppressed. Editorial review has deemed that any suppressed
content does not materially affect the overall learning experience. The publisher reserves the right
to remove content from this title at any time if subsequent rights restrictions require it. For
valuable information on pricing, previous editions, changes to current editions, and alternate
formats, please visit www.cengage.com/highered to search by ISBN#, author, title, or keyword for
materials in your areas of interest.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
THIRD EDITION

CLEARLY VISUAL BASIC ®


PROGRAMMING WITH MICROSOFT ® VISUAL BASIC ® 2012

DIANE ZAK

Australia l Brazil l Japan l Korea l Mexico l Singapore l Spain l United Kingdom l United States

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Clearly Visual Basic: ª 2014 Course Technology, Cengage Learning
Programming with Microsoft
ALL RIGHTS RESERVED. No part of this work covered by the copyright herein may be
Visual Basic 2012, Third Edition reproduced, transmitted, stored or used in any form or by any means graphic, electronic,
Diane Zak or mechanical, including but not limited to photocopying, recording, scanning, digitizing,
taping, Web distribution, information networks, or information storage and retrieval
Executive Editor: Kathleen McMahon
systems, except as permitted under Section 107 or 108 of the 1976 United States
Senior Product Manager: Alyssa Pratt Copyright Act, without the prior written permission of the publisher.
Editorial Assistant: Sarah Ryan
Content Project Manager:
For product information and technology assistance, contact us at
Jennifer Feltri-George
Cengage Learning Customer & Sales Support, www.cengage.com/support
Quality Assurance: Nicole Spoto
For permission to use material from this text or product,
Art Director: Cheryl Pearl, GEX
submit all requests online at cengage.com/permissions
Cover Designer: GEX Publishing Services Further permissions questions can be emailed to
Text Designer: Shawn Girsberger [email protected]
Senior Print Buyer: Julio Esperas
Proofreader: Suzanne Huizenga Library of Congress Control Number: 2013932801
Indexer: Constance A. Angelo
ISBN-13: 978-1-285-08410-7
Compositor: Integra Software Services Pvt. Ltd.
ISBN-10: 1-285-08410-1

Course Technology
20 Channel Center Street
Boston, MA 02210
USA

Some of the product names and company names used in this book have been used for
identification purposes only and may be trademarks or registered trademarks of their
respective manufacturers and sellers.
Course Technology, a part of Cengage Learning, reserves the right to revise this
publication and make changes from time to time in its content without notice.
Example: Microsoft® is a registered trademark of the Microsoft Corporation.
Cengage Learning is a leading provider of customized learning solutions with office
locations around the globe, including Singapore, the United Kingdom, Australia,
Mexico, Brazil, and Japan. Locate your local office at: www.cengage.com/global
Cengage Learning products are represented in Canada by Nelson Education, Ltd.
To learn more about Course Technology, visit
www.cengage.com/coursetechnology
To learn more about Cengage Learning, visit www.cengage.com
Purchase any of our products at your local college store or at our preferred online store
www.cengagebrain.com

Printed in the United States of America


1 2 3 4 5 6 7 19 18 17 16 15 14 13

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Brief Contents
iii

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . xii
C H AP T E R 1 I Am Not a Control Freak! (Control Structures) . . . . . . . . . 1
C H AP T E R 2 First You Need to Plan the Party (Problem-Solving Process) . . 17
C H AP T E R 3 I Need a Tour Guide (Introduction to Visual Basic 2012) . . . . 35
C H AP T E R 4 Do-It-Yourself Designing (Designing Interfaces) . . . . . . . . 63
C H AP T E R 5 The Secret Code (Assignment Statements) . . . . . . . . . . 87
C H AP T E R 6 Where Can I Store This? (Variables and Constants) . . . . . . 107
C H AP T E R 7 What’s Wrong With It? (Syntax, Logic, and Run Time Errors) . . 131
C H AP T E R 8 Decisions, Decisions, Decisions (Selection Structure) . . . . . 151
C H AP T E R 9 Time to Leave the Nest (Nested Selection Structures) . . . . . 185
C H AP T E R 1 0 So Many Paths…So Little Time (Multiple-Alternative
Selection Structures) . . . . . . . . . . . . . . . . . . . 211
C H AP T E R 1 1 Testing, Testing…1, 2, 3 (Selecting Test Data) . . . . . . . . 237
C H AP T E R 1 2 How Long Can This Go On? (Pretest Loops) . . . . . . . . . . 261
C H AP T E R 1 3 Do It, Then Ask Permission (Posttest Loops) . . . . . . . . . 293
C H AP T E R 1 4 Let Me Count the Ways (Counter-Controlled Loops) . . . . . . 305
C H AP T E R 1 5 I’m on the Inside; You’re on the Outside (Nested Loops) . . . . 329
C H AP T E R 1 6 I Hear You Are Breaking Up (Sub Procedures) . . . . . . . . . 353
C H AP T E R 1 7 Talk to Me (Function Procedures) . . . . . . . . . . . . . . 383
C H AP T E R 1 8 A Ray of Sunshine (One-Dimensional Arrays) . . . . . . . . . 403
C H AP T E R 1 9 Parallel and Dynamic Universes (More on
One-Dimensional Arrays) . . . . . . . . . . . . . . . . . . 431
C H AP T E R 2 0 Table Tennis, Anyone? (Two-Dimensional Arrays) . . . . . . . 455
C H AP T E R 2 1 Building Your Own Structure (Structures) . . . . . . . . . . . 479

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
BRIEF CONTENTS

C H AP T E R 2 2 I’m Saving for the Future (Sequential Access Files) . . . . . . 497


C H AP T E R 2 3 The String Section (String Manipulation) . . . . . . . . . . . 515
C H AP T E R 2 4 I’m Suffering from Information Overload (Access Databases) . . 539
C H AP T E R 2 5 The Missing “LINQ” (Querying a Database) . . . . . . . . . . 569
iv
C H AP T E R 2 6 I Love This Class (Creating a Class) . . . . . . . . . . . . . 587
C H AP T E R 2 7 Getting “Web-ified” (Web Applications) . . . . . . . . . . . . 611
A PP E N D I X A Data Types . . . . . . . . . . . . . . . . . . . . . . . . 645
A PP E N D I X B Answers to Mini-Quizzes and TRY THIS Exercises . . . . . . Online
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . 647

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Contents
v

Preface . . . . . . . . . . . . . . . . . . . . . . . . . xii
C H AP T E R 1 I Am Not a Control Freak! (Control Structures) . . . . . . . . 1
Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
The Sequence Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 2
The Selection Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
The Repetition Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

C H AP T E R 2 First You Need to Plan the Party (Problem-Solving Process) . . 17


How Do Programmers Solve Problems? . . . . . . . . . . . . . . . . . . . . . 18
Step 1—Analyze the Problem . . . . . . . . . . . . . . . . . . . . . . . . 18
Step 2—Plan the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 20
Step 3—Desk-Check the Algorithm . . . . . . . . . . . . . . . . . . . . . . 24
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

C H AP T E R 3 I Need a Tour Guide (Introduction to Visual Basic 2012) . . . . 35


Ok, the Algorithm Is Correct. What’s Next? . . . . . . . . . . . . . . . . . . . . 36
Creating a Visual Basic Windows Application . . . . . . . . . . . . . . . . . . . 38
So Many Windows! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Creating the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Save, Save, Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Whose Property Is It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Using the FORMAT Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Lock Them Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Ok, Let’s See the Interface in Action! . . . . . . . . . . . . . . . . . . . . . . 52
Closing the Current Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Opening an Existing Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Exiting Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CONTENTS

C H AP T E R 4 Do-It-Yourself Designing (Designing Interfaces) . . . . . . . . 63


Delegating the Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Making the Interface More User-Friendly . . . . . . . . . . . . . . . . . . . . . . 68
Do What I Tell You to Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
The Me.Close() Instruction . . . . . . . . . . . . . . . . . . . . . . . . . 74
vi Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

C H AP T E R 5 The Secret Code (Assignment Statements) . . . . . . . . . . 87


The Fun Starts Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
The Val Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Who’s in Charge of This Operation? . . . . . . . . . . . . . . . . . . . . . . . . . 91
Your Assignment, if You Choose to Accept It . . . . . . . . . . . . . . . . . . . . . 94
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

C H AP T E R 6 Where Can I Store This? (Variables and Constants) . . . . . . . 107


Using Shoe Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
So, What’s Your Type? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Let’s Play the Name Game . . . . . . . . . . . . . . . . . . . . . . . . . . 110
You’ll Need a Reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
How Many Variables Should I Use? . . . . . . . . . . . . . . . . . . . . . . . . 111
The TryParse Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Check, Please…I’m Ready to Go . . . . . . . . . . . . . . . . . . . . . . . . 115
Using Constants to Keep Things…Well, the Same . . . . . . . . . . . . . . . . . . 116
Dressing Up the Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

C H AP T E R 7 What’s Wrong With It? (Syntax, Logic, and Run Time Errors) . . . 131
There’s a Bug in My Soup! . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Finding Syntax Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Locating Logic Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
I’ve Reached My Breaking Point . . . . . . . . . . . . . . . . . . . . . . . . 141
Run Time Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

C H AP T E R 8 Decisions, Decisions, Decisions (Selection Structure) . . . . . 151


Someone Might Need to Make a Decision . . . . . . . . . . . . . . . . . . . . . 152
The If…Then…Else Statement . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Stop That Runner! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Are We in the Black or in the Red? . . . . . . . . . . . . . . . . . . . . . 160
You Deserve a Bonus . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Examining Another Problem Specification . . . . . . . . . . . . . . . . . . . 168
Hey, That’s Not the Way I Would Have Done It . . . . . . . . . . . . . . . . 173
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 vii
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

C H AP T E R 9 Time to Leave the Nest (Nested Selection Structures) . . . 185


Nested Selection Structures . . . . . . . . . . . . . . . . . . . . . . . . . 186
10-4, Over and Out . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
How Much Is It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
That’s Way Too Logical for Me . . . . . . . . . . . . . . . . . . . . . . . . 198
Summary of Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

C H AP T E R 1 0 So Many Paths…So Little Time (Multiple-Alternative


Selection Structures) . . . . . . . . . . . . . . . . . . 211
Which Way Should I Go? . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
The Fitness Spa Health Club Application . . . . . . . . . . . . . . . . . . . 213
Don’t Be So Sensitive . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
What’s the Next Case on the Docket? . . . . . . . . . . . . . . . . . . . . . 220
Using Select Case in the Fitness Spa Health Club Application . . . . . . . . . . 222
Specifying a Range of Values in a Case Clause’s ExpressionList . . . . . . . . . . 223
Coding the ABC Corporation Application . . . . . . . . . . . . . . . . . . . 224
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

C H AP T E R 1 1 Testing, Testing…1, 2, 3 (Selecting Test Data) . . . . . . 237


Will Your Application Pass the Test? . . . . . . . . . . . . . . . . . . . . . . 238
The Coffee Palace–Version 1 Application . . . . . . . . . . . . . . . . . . . . 238
The Coffee Palace–Version 2 Application . . . . . . . . . . . . . . . . . . . . 241
Stop! This Is a Restricted Area! . . . . . . . . . . . . . . . . . . . . . . . 243
The Shady Hollow Hotel Application . . . . . . . . . . . . . . . . . . . . . . 245
The CD Shop Application . . . . . . . . . . . . . . . . . . . . . . . . . . 247
The Tiger Hotel Application . . . . . . . . . . . . . . . . . . . . . . . . . 250
I Need to Tell You Something . . . . . . . . . . . . . . . . . . . . . . . 251
Just When You Thought It Was Safe . . . . . . . . . . . . . . . . . . . . . 253
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CONTENTS

C H AP T E R 1 2 How Long Can This Go On? (Pretest Loops) . . . . . . . . . . 261


Over and Over Again . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Do I Need a Loop? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
The Do…Loop Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Counter Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
viii Cheerleader Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
My Dream Car Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
The Sales Express Application . . . . . . . . . . . . . . . . . . . . . . . . . . 276
The InputBox Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Can I Abbreviate That Assignment Statement? . . . . . . . . . . . . . . . . . . . 283
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

C H AP T E R 1 3 Do It, Then Ask Permission (Posttest Loops) . . . . . . . . . . 293


Testing After the Fact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
More on the Do…Loop Statement . . . . . . . . . . . . . . . . . . . . . . . . 296
Pseudocode and Flowchart Containing a Posttest Loop . . . . . . . . . . . . . . . 297
The Bouncing Robot Application . . . . . . . . . . . . . . . . . . . . . . . . . 297
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Key Term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

C H AP T E R 1 4 Let Me Count the Ways (Counter-Controlled Loops) . . . . . . . 305


When Will It Stop? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Spaceship–Version 1 Application . . . . . . . . . . . . . . . . . . . . . . . . 309
Spaceship–Version 2 Application . . . . . . . . . . . . . . . . . . . . . . . . 310
Hey, Turn That Noise Down! . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
The Monthly Payment Calculator Application . . . . . . . . . . . . . . . . . . . . 312
The Financial.Pmt Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
But They Said There Were No Strings Attached . . . . . . . . . . . . . . . . . . 315
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

C H AP T E R 1 5 I’m on the Inside; You’re on the Outside (Nested Loops) . . . . . 329


One Loop Within Another Loop . . . . . . . . . . . . . . . . . . . . . . . . . . 330
What Time Is It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
What Do I Owe Each Month? . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
But I Want to Do It a Different Way . . . . . . . . . . . . . . . . . . . . . . . 341
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
C H AP T E R 1 6 I Hear You Are Breaking Up (Sub Procedures) . . . . . . . 353
What’s the Proper Procedure? . . . . . . . . . . . . . . . . . . . . . . . . 354
The Weekly Pay Application . . . . . . . . . . . . . . . . . . . . . . . . 356
Send Me Something . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Just Give Me Its Value, Please . . . . . . . . . . . . . . . . . . . . . . . 360
Where Do You Live? . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 ix
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

C H AP T E R 1 7 Talk to Me (Function Procedures) . . . . . . . . . . . . . 383


What’s the Answer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Price Calculator Application . . . . . . . . . . . . . . . . . . . . . . . . 387
Revisiting the Concert Tickets Application . . . . . . . . . . . . . . . . . . . 390
Which Way Is Better? . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

C H AP T E R 1 8 A Ray of Sunshine (One-Dimensional Arrays) . . . . . . . . 403


Let’s Join the Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
You Are Just So One-Dimensional . . . . . . . . . . . . . . . . . . . . . . . 404
Airlines Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Modified Airlines Application . . . . . . . . . . . . . . . . . . . . . . . . 412
Salary Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
States Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

C H AP T E R 1 9 Parallel and Dynamic Universes (More on


One-Dimensional Arrays) . . . . . . . . . . . . . . . . . 431
We Share the Same Subscripts . . . . . . . . . . . . . . . . . . . . . . . 432
West Coast Emporium Application . . . . . . . . . . . . . . . . . . . . . . 432
Will You Share That with Me? . . . . . . . . . . . . . . . . . . . . . . . . . 436
But I Don’t Know How Many There Are . . . . . . . . . . . . . . . . . . . . . 443
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449

C H AP T E R 2 0 Table Tennis, Anyone? (Two-Dimensional Arrays) . . . . . . 455


Let’s Table That Idea for Now . . . . . . . . . . . . . . . . . . . . . . . . 456
Revisiting the West Coast Emporium Application . . . . . . . . . . . . . . . . . 458
The GetUpperBound Method . . . . . . . . . . . . . . . . . . . . . . . . 461
Calendar Sales Application . . . . . . . . . . . . . . . . . . . . . . . . . 464
Medical Bills Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CONTENTS

Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470


Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

C H AP T E R 2 1 Building Your Own Structure (Structures) . . . . . . . . . . . 479


x Putting the Pieces Together . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Bonnette Pool & Spa Depot Application . . . . . . . . . . . . . . . . . . . . . . 482
Revisiting the West Coast Emporium Application…Again! . . . . . . . . . . . . . . . 485
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493

C H AP T E R 2 2 I’m Saving for the Future (Sequential Access Files) . . . . . . . 497


Sequential Access Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Write Those Lines of Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Now Read Those Lines of Text . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511

C H AP T E R 2 3 The String Section (String Manipulation) . . . . . . . . . . . . 515


Working with Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
How Many Characters Are There? . . . . . . . . . . . . . . . . . . . . . . . . . 516
I Need to Fit This in Somewhere . . . . . . . . . . . . . . . . . . . . . . . . . 519
Where Does It Begin? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
I Just Want a Part of It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
The Rearrange Name Application . . . . . . . . . . . . . . . . . . . . . . . . 522
Throw Away Those Characters . . . . . . . . . . . . . . . . . . . . . . . . . . 525
I Like This Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

C H AP T E R 2 4 I’m Suffering from Information Overload (Access Databases) . . . 539


Keeping Good Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Connecting…Connecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
What Fields and Records? . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
It’s a Binding Contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Let the Computer Do It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
DataGridView Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
How Does Visual Basic Do It? . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Thank You for Catching My Errors . . . . . . . . . . . . . . . . . . . . . . . 555
The Copy to Output Directory Property . . . . . . . . . . . . . . . . . . . . . . 557
I’ll Use My Own Controls, Thank You . . . . . . . . . . . . . . . . . . . . . . . 559
Coding the Next Record and Previous Record Buttons . . . . . . . . . . . . . . . 561
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
C H AP T E R 2 5 The Missing “LINQ” (Querying a Database) . . . . . . . . . 569
Asking Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
The Red Dragon Games Application . . . . . . . . . . . . . . . . . . . . . 572
One for All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 xi
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582

C H AP T E R 2 6 I Love This Class (Creating a Class) . . . . . . . . . . . . 587


That’s a Real Classy Object . . . . . . . . . . . . . . . . . . . . . . . . . 588
The Bonnette Pool & Spa Depot Application . . . . . . . . . . . . . . . . . . 589
Who Owns That Property? . . . . . . . . . . . . . . . . . . . . . . . . . 591
Behave Yourself . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Constructive Behavior Is the Key to Success . . . . . . . . . . . . . . . . . 595
Methods Other than Constructors . . . . . . . . . . . . . . . . . . . . . . 596
Using the Pattern to Create an Object . . . . . . . . . . . . . . . . . . . . . 598
Pool Supplies Application . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607

C H AP T E R 2 7 Getting “Web-ified” (Web Applications) . . . . . . . . . . 611


Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
Creating a Web Application . . . . . . . . . . . . . . . . . . . . . . . . . 614
Adding the Default.aspx Web Page to the Application . . . . . . . . . . . . . . . 616
What Is Your Title? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Adding Static Text to a Web Page . . . . . . . . . . . . . . . . . . . . . 618
Viewing a Web Page in Full Screen View . . . . . . . . . . . . . . . . . . . 620
Adding Another Web Page to the Application . . . . . . . . . . . . . . . . . . 621
Adding a Link Button Control to a Web Page . . . . . . . . . . . . . . . . . . 621
Starting a Web Application . . . . . . . . . . . . . . . . . . . . . . . . . 623
Adding an Image to a Web Page . . . . . . . . . . . . . . . . . . . . . . . 625
Closing and Opening an Existing Web Application . . . . . . . . . . . . . . . . 627
I Want to Move Somewhere Else . . . . . . . . . . . . . . . . . . . . . . . 628
Dynamic Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Coding the Submit Button’s Click Event Procedure . . . . . . . . . . . . . . . . 632
Can You Validate This? . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639

A PP E N D I X A Data Types . . . . . . . . . . . . . . . . . . . . . . 645


A PP E N D I X B Answers to Mini-Quizzes and TRY THIS Exercises . . . . . Online
Index . . . . . . . . . . . . . . . . . . . . . . . . . 647

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Preface
xii

Clearly Visual Basic: Programming with Microsoft Visual Basic 2012, Third Edition is designed
for a beginning programming course. The book assumes students have no previous
programming knowledge or experience. However, students should be familiar with basic
Windows skills and file management. The book’s primary focus is on teaching programming
concepts, with a secondary focus on teaching the Visual Basic programming language. In other
words, the purpose of the book is to teach students how to solve a problem that requires a
computer solution. The Visual Basic language is used as a means of verifying that the solution
works correctly.

Organization and Coverage


Clearly Visual Basic: Programming with Microsoft Visual Basic 2012, Third Edition
contains 27 chapters and two appendices. In the chapters, students with no previous
programming experience learn how to analyze a problem specification and then plan and
create an appropriate computer solution. Pseudocode and flowcharts are used to plan the
solution, and desk-check tables are used to verify that the solution is correct before it is
coded. Students code the solutions using the Visual Basic 2012 language, and then desk-
check the code before it is executed. An entire chapter is devoted to teaching students how
to select appropriate test data. By the end of the book, students will have learned how to
write Visual Basic statements such as If…Then…Else, Select Case, Do…Loop, and
For…Next. Students also will learn how to create and manipulate variables, constants,
strings, sequential access files, structures, classes, and arrays. In addition, they will learn how
to connect an application to a Microsoft Access database, and then use Language Integrated
Query (LINQ) to query the database. They also will learn how to create simple Web
applications. The text also introduces students to OOP concepts and terminology. Appendix
A provides a listing of the data types available in Visual Basic. Appendix B, which is available
online at www.cengagebrain.com, contains the answers to the Mini-Quizzes and TRY THIS
Exercises in each chapter.

Approach
Rather than focusing on a specific programming language, Clearly Visual Basic:
Programming with Microsoft Visual Basic 2012, Third Edition focuses on programming
concepts that are common to all programming languages—such as input, output, selection,
and repetition. Concepts are introduced, illustrated, and reinforced using simple examples
and applications, which are more appropriate for a first course in programming. The
concepts are spread over many short chapters, allowing students to master the material one
small piece at a time. Because its emphasis is on teaching the fundamentals of programming,
the book covers only the basic controls, properties, and events available in Visual Basic.
Each chapter provides the steps for creating and/or coding one or more applications that use
the concepts covered in the chapter. The videos and PDF files that accompany each chapter
are designed to help students master the chapter’s concepts.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Organization and Coverage

Features
Clearly Visual Basic: Programming with Microsoft Visual Basic 2012, Third Edition is an
exceptional textbook because it also includes the following features:
READ THIS BEFORE YOU BEGIN This section is consistent with Cengage’s commitment to
helping instructors introduce technology into the classroom. Technical considerations and
assumptions about hardware, software, and default settings are listed in one place to help xiii
instructors save time and eliminate unnecessary aggravation.
DESIGNED FOR THE DIFFERENT LEARNING STYLES The book provides videos for visual and
auditory learners, and tutorial sections and Want More Info? files for kinesthetic learners.
VIDEOS These notes direct students to videos that accompany each chapter in the book. The
videos explain and/or demonstrate one or more of the chapter’s concepts, provide additional
information about the concepts, or cover topics related to the concepts. The videos are available
online at www.cengagebrain.com. Search for the ISBN of your title (from the back cover of your
book) using the search box at the top of the page. This will take you to the product page where
free companion resources can be found.
WANT MORE INFO? FILES These notes direct students to files that accompany each chapter in
the book. The files contain additional examples and further explanations of the concepts
covered in the chapter. The files are in PDF format. The files are available online at www.
cengagebrain.com.

FIGURES Figures that introduce new statements, functions, or methods contain both the syntax
and examples of using the syntax. Including the syntax in the figures makes the examples more
meaningful, and vice versa.
OBJECTIVES Each chapter begins with a list of objectives so you know the topics that will be
presented in the chapter. In addition to providing a quick reference to topics covered, this
feature provides a useful study aid.
MINI-QUIZZES Mini-Quizzes are strategically placed to test students’ knowledge at various
points in each chapter. Answers to the quiz questions are provided in Appendix B.
APPENDIX B Appendix B, which is available online at www.cengagebrain.com, contains the
answers to each chapter’s Mini-Quizzes and TRY THIS Exercises. The answers are provided to
give students immediate feedback and more opportunity for learning.
SUMMARY Each chapter contains a Summary section that recaps the concepts covered in the
chapter.
KEY TERMS Following the Summary section in each chapter is a listing of the key terms
introduced throughout the chapter, along with their definitions.
REVIEW QUESTIONS Each chapter contains Review Questions designed to test a student’s
understanding of the chapter’s concepts.
EXERCISES The Review Questions in each chapter are followed by Exercises, which provide
students with additional practice of the skills and concepts they learned in the chapter. The
Exercises are designated as TRY THIS, MODIFY THIS, INTRODUCTORY, INTERMEDIATE,
ADVANCED, FIGURE THIS OUT, and SWAT THE BUGS.
TRY THIS EXERCISES The TRY THIS Exercises should be the first Exercises students complete
after reading a chapter. These Exercises are similar to an application developed in the chapter,
and they allow students to test their understanding of the chapter’s concepts. The answers to
TRY THIS Exercises are provided in Appendix B.
MODIFY THIS EXERCISES In these Exercises, students modify an existing application.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
PREFACE Instructor Resources

FIGURE THIS OUT EXERCISES These Exercises require students to analyze a block of code and
then answer questions about the code.
SWAT THE BUGS EXERCISES The SWAT THE BUGS Exercises provide an opportunity for
students to detect and correct errors in an existing application.

xiv
New to This Edition!
VIDEOS The videos that accompany each chapter have been updated from the previous edition
of the book.

REVIEW QUESTIONS AND EXERCISES New Review Questions and Exercises have been added to
each chapter.
NEW EXAMPLES The chapters have been updated with new examples and sample applications.

CHAPTER 7 Run time errors are now introduced in Chapter 7.

CHAPTER 8 Chapter 8 now shows students how to prevent the “division by zero” run time
error. It also covers a control’s ForeColor property.
CHAPTER 9 Radio buttons are now covered in Chapter 9 rather than in Chapter 10.

CHAPTER 16 Chapter 16 now covers the CheckedChanged event procedure.

CHAPTER 18 Class-level arrays are now covered in Chapter 18 rather than in Chapter 19.
Chapter 18 also covers the form’s Load event procedure.
CHAPTER 23 The Replace method is now covered in Exercise 13 in Chapter 23 rather than in
the chapter itself.

Instructor Resources
All of the resources available with this book can be found at www.cengagebrain.com. At the
CengageBrain.com home page, search for the ISBN of your title (from the back cover of your
book) using the search box at the top of the page. This will take you to the product page where
free companion resources can be found.
ELECTRONIC INSTRUCTOR’S MANUAL The Instructor’s Manual that accompanies this textbook
includes additional instructional material to assist in class preparation, including items such as
Sample Syllabi, Chapter Outlines, Technical Notes, Lecture Notes, Quick Quizzes, Teaching
Tips, Discussion Topics, and Additional Case Projects.
EXAMVIEW® This textbook is accompanied by ExamView, a powerful testing software package
that allows instructors to create and administer printed, computer (LAN-based), and Internet
exams. ExamView includes hundreds of questions that correspond to the topics covered in this
text, enabling students to generate detailed study guides that include page references for further
review. The computer-based and Internet testing components allow students to take exams at
their computers, and also save the instructor time by grading each exam automatically.
POWERPOINT PRESENTATIONS This book offers Microsoft PowerPoint slides for each chapter.
These are included as a teaching aid for classroom presentation, to make available to students on
the network for chapter review, or to be printed for classroom distribution. Instructors can add
their own slides for additional topics they introduce to the class.
DATA FILES Data Files are necessary for completing the computer activities in this book. The
Data Files are also provided for students at www.cengagebrain.com.
SOLUTION FILES Solutions to the chapter applications and the end-of-chapter Review
Questions and Exercises are available for instructors.
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Acknowledgments

Acknowledgments
Writing a book is a team effort rather than an individual one. I would like to take this
opportunity to thank my team, especially Jennifer Feltri-George (Content Project Manager),
Alyssa Pratt (Senior Product Manager), Nicole Ashton (Quality Assurance), Suzanne Huizenga
(Proofreader), Carmel Isaac (Integra), Sreejith Govindan (Client Manager, Integra), and the
compositors at Integra. Thank you for your support, enthusiasm, patience, and hard work. Last, xv
but certainly not least, I want to thank the following reviewers for their invaluable ideas and
comments: Bill Hammerschlag, Dallas County Community College District; Bobbie Hyndman,
Amarillo College; and Linda Truman, Abraham Baldwin Technical College.

Diane Zak

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Read This Before
xvi
You Begin

Technical Information
Data Files
You will need data files to complete the computer activities in this book. Your instructor may
provide the data files to you. You may obtain the files electronically at www.cengagebrain.com,
and then navigating to the page for this book.
Each chapter in this book has its own set of data files, which are stored in a separate folder
within the ClearlyVB2012 folder. The files for Chapter 3 are stored in the ClearlyVB2012\Chap03
folder. Similarly, the files for Chapter 4 are stored in the ClearlyVB2012\Chap04 folder.
Throughout this book, you will be instructed to open files from or save files to these folders.
You can use a computer in your school lab or your own computer to complete the chapter
applications and Exercises in this book.

Using Your Own Computer


To use your own computer to complete the computer activities in this book, you will need the
following:
l A Pentium® 4 processor, 1.6 GHz or higher, personal computer running Microsoft Windows.
This book was written using Microsoft Windows 8, and Quality Assurance tested using
Microsoft Windows 7.
l Either Microsoft Visual Studio 2012 or the Express Editions of Microsoft Visual Studio 2012
(namely, Microsoft Visual Studio Express 2012 for Windows Desktop and Microsoft Visual
Studio Express 2012 for Web) installed on your computer. This book was written and
Quality Assurance tested using Microsoft Visual Studio Professional 2012 and Microsoft
Visual Studio Express 2012 for Web. At the time of this writing, you can download a free
copy of the Express Editions at www.microsoft.com/visualstudio/eng/products/visual-studio-
express-products. If necessary, use the following information when installing the Professional
or Express Editions of the software:

To configure Visual Studio 2012:


1. Start Visual Studio 2012, VS Express for Desktop, or VS Express for Web. If the Choose
Default Environment Settings dialog box appears when you start Visual Studio, select the
Visual Basic Development Settings option.
2. Click TOOLS on the menu bar and then click Options to open the Options dialog box.
Click the Projects and Solutions node. Use the information shown in Figure 3-2 in
Chapter 3 to select and deselect the appropriate check boxes.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Read This Before You Begin

3. Expand the Projects and Solutions node in the Options dialog box and then click VB
Defaults. Verify that both Option Explicit and Option Infer are set to On. Also verify that
Option Strict and Option Compare are set to Off and Binary, respectively. Click the OK
button to close the Options dialog box.

Figures xvii
The figures in this book reflect how your screen will look if you are using Microsoft Visual
Studio Professional 2012 and a Microsoft Windows 8 system. Your screen may appear slightly
different in some instances if you are using another version of Microsoft Visual Studio or
Microsoft Windows.

Visit Our Web Site


Additional materials designed for this textbook might be available at www.cengagebrain.com.
Search this site for more details.

To the Instructor
To complete the computer activities in this book, your students must use a set of data files.
These files can be obtained electronically at www.cengagebrain.com.
The material in this book was written using Microsoft Visual Studio Professional 2012 on a
Microsoft Windows 8 system. It was Quality Assurance tested using Microsoft Visual Studio
Professional 2012 and Microsoft Visual Studio Express 2012 for Web on both a Windows 8 and
a Windows 7 system. The book assumes that both Option Explicit and Option Infer are set to
On, Option Strict is set to Off, and Option Compare is set to Binary. To verify these settings,
start your edition of Visual Studio. Click TOOLS on the menu bar and then click Options.
Expand the Projects and Solutions node in the Options dialog box and then click VB Defaults.
Verify the four Option settings and then click the OK button to close the Options dialog box.

Data Files
You are granted a license to copy the data files to any computer or computer network used by
individuals who have purchased this book.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 1
I Am Not a Control Freak!
(Control Structures)

After studying Chapter 1, you should be able to:

Describe the three control structures


Write simple algorithms using the sequence, selection,
and repetition structures

All Microsoft screenshots used with permission from Microsoft Corporation.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 1 I Am Not a Control Freak! (Control Structures)

Control Structures
All computer programs, no matter how simple or how complex, are written using one or more
of three basic structures: sequence, selection, and repetition. These structures are called control
structures or logic structures because they control the flow of a program’s logic. You will use
the sequence structure in every program you write. In most programs, you also will use the
2 selection and repetition structures. For maximum flexibility and to write powerful programs,
you can use the three control structures in many different combinations throughout your
program. This chapter gives you an introduction to the three control structures. More detailed
information about each structure, as well as how to implement these structures using the Visual
Basic language, is provided in subsequent chapters.

The Sequence Structure


You already are familiar with the sequence structure because you use it each time you follow a
set of directions, in order, from beginning to end. The directions might be a cookie recipe; or,
they might be the MapQuest directions to your favorite restaurant. The directions must be in
the correct order to produce the desired result. A cookie recipe, for example, must produce
edible cookies. The MapQuest directions, on the other hand, must deliver you to your intended
destination. In a computer program, the sequence structure directs the computer to process
the program instructions, one after another, in the order listed in the program. You will find the
sequence structure in every program.
You can observe how the sequence structure works by programming a robotic character named
Harold. Like a computer, Harold has a limited instruction set. In other words, he can understand
only a specific number of instructions, also called commands. For now, you will use only three of
the commands from Harold’s instruction set: walk forward, turn left 90 degrees, and sit down on
the bench. When told to walk forward, Harold takes one complete step forward. In other words,
he moves one of his feet forward one step and then moves his other foot to meet it.
For this first example, Harold is standing outside facing a park bench. The bench is two steps
away from Harold. Your task is to write the instructions, using only the commands that Harold
understands, that direct Harold to sit down on the bench. Figure 1-1 shows the problem
specification along with an illustration of the problem. It also shows five instructions that Harold
must follow to get him from where he is now to his ultimate destination, which is sitting on the
bench. The five instructions are called an algorithm, which is a set of step-by-step instructions
Ch01-Harold that accomplish a task. Harold must follow the instructions in order—in other words, in
Sequence sequence. (You can observe Harold following the algorithm shown in Figure 1-1 by viewing the
video Ch01-Harold Sequence video.)

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Control Structures

Harold is standing outside facing a park bench. The bench is two steps away from Harold. Write the
instructions that direct Harold to sit down on the bench.

1. walk forward
2. walk forward
3. turn left 90 degrees algorithm
4. turn left 90 degrees
5. sit down on the bench

Figure 1-1 An example of the sequence structure


Image by Diane Zak; Created with Reallusion CrazyTalk Animator

The Selection Structure


As with the sequence structure, you already are familiar with the selection structure, also called
the decision structure. The selection structure indicates that a decision needs to be made,
followed by an appropriate action derived from that decision. The decision is based on a
condition that must be evaluated before an action can occur. A condition can evaluate to either
true or false. You use the selection structure every time you drive your car and approach a
railroad crossing. Your decision, as well as the appropriate action, is based on a condition involving
the crossing signals (flashing lights and ringing bells). If the crossing signals are on (true), the
appropriate action is to stop your car before crossing the railroad tracks; otherwise (false), the
appropriate action is to proceed with caution over the railroad tracks. When used in a computer
program, the selection structure alerts the computer that a decision needs to be made based on
some condition, and it provides the appropriate action to take based on the result of that decision.
To observe how the selection structure works, we’ll make a slight change to the problem
specification shown in Figure 1-1. Sometimes Harold’s cat Ginger is sitting on the park bench
and needs to be gently pushed off before Harold can sit down. What changes will need to be
made to the original algorithm from Figure 1-1 as a result of this minor modification? The first
two instructions in the original algorithm position Harold directly in front of the bench; Harold
will still need to follow those instructions. However, before he follows the third instruction,
which is to turn left 90 degrees in preparation for sitting down, Harold will need to make a
decision about Ginger and then take the appropriate action based on the result. More
specifically, he will need to determine whether Ginger is on the bench; if she is on the bench,
then he needs to gently shove her off.
To write an algorithm to accomplish the current task, you need to use three additional
instructions from Harold’s instruction set: if Ginger is on the bench, do this:, end if, and gently

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 1 I Am Not a Control Freak! (Control Structures)

shove Ginger off the bench. The if Ginger is on the bench, do this: instruction allows Harold to
make a decision about the status of Ginger, and it represents the beginning of a selection
structure. The Ginger is on the bench portion is the condition that Harold must evaluate to
make a decision. Notice that the condition results in either a true or a false answer: either
Ginger is on the bench (true) or she’s not (false). The end if instruction denotes the end of a
selection structure.
4
The last three instructions in the original algorithm turn Harold left 180 degrees and then sit
him down; Harold will still need to follow those instructions. Figure 1-2 shows the modified
problem specification, illustration, and algorithm. Notice that the gently shove Ginger off the
bench instruction is indented within the selection structure. Indenting in this manner indicates
that the instruction should be followed only when Ginger is on the bench—in other words, only
when the condition results in an answer of true. The instructions to be followed when a
selection structure’s condition evaluates to true are referred to as the structure’s true path.
Ch01-Harold Although the true path in Figure 1-2 includes only one instruction, it can include many
Selection instructions. (You can observe Harold as he follows Figure 1-2’s algorithm by viewing the
video Ch01-Harold Selection video.)

Harold is standing outside facing a park bench. The bench is two steps away from Harold. Harold’s cat
Ginger may be on the bench. Write the instructions that direct Harold to gently shove Ginger off the
bench (if necessary) and then sit down on the bench.

Ginger might or might


not be on the bench

1. walk forward
2. walk forward condition

3. if Ginger is on the bench, do this:


gently shove Ginger off the bench indent
end if
4. turn left 90 degrees
5. turn left 90 degrees
6. sit down on the bench

Figure 1-2 An example of the selection structure


Image by Diane Zak; Created with Reallusion CrazyTalk Animator

Figure 1-3 shows how the selection structure can be used in a game program. In this game,
our superhero gets one shot at the villain. He needs to raise his right arm before taking the
shot. If he hits the villain, he should say “Got Him” and then lower his right arm. If he doesn’t

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Control Structures

hit the villain, he should say “Missed Him” before lowering his right arm. Our superhero can
understand only these eight instructions: raise right arm, lower right arm, shoot at the villain, if
the villain was hit, do this:, otherwise, do this:, end if, say “Got Him”, say “Missed Him”.

The superhero gets one shot at the villain. He needs to raise his right arm before taking the shot. If he
hits the villain, he should say “Got Him” and then lower his right arm. If he doesn’t hit the villain, he
should say “Missed Him” before lowering his right arm. 5

1. raise right arm


2. shoot at the villain
condition

3. if the villain was hit, do this:


say “Got Him” indent
otherwise, do this:
say “Missed Him” indent
end if
4. lower right arm

Figure 1-3 Another example of the selection structure


Image by Diane Zak; Created with Reallusion CrazyTalk Animator

Unlike the selection structure from Figure 1-2, which requires Harold to take a specific action
only when the structure’s condition evaluates to true, the selection structure in Figure 1-3
requires our superhero to take one action when the condition evaluates to true, but a different
action when it evaluates to false. In other words, the selection structure in Figure 1-3 has both a
true path and a false path. The otherwise, do this: instruction marks the beginning of the false
path instructions. Notice that the say “Got Him” and say “Missed Him” instructions are
indented within their respective paths. Indenting in this manner clearly indicates the instruction
to be followed when the condition evaluates to true (the villain was hit), as well as the one to be
Ch01-
followed when the condition evaluates to false (the villain was not hit). Although both paths in
Superhero
Figure 1-3’s selection structure contain only one instruction, each can contain many Selection
instructions. (You can observe our superhero in action by viewing the Ch01-Superhero video
Selection video.)

The Repetition Structure


The last of the three control structures is the repetition structure. Like the sequence and
selection structures, you already are familiar with the repetition structure. For example,
shampoo bottles typically include the repetition structure in the directions for washing your
hair. Those directions usually tell you to repeat the “apply shampoo to hair,” “lather,” and “rinse”
steps until your hair is clean. When used in a program, the repetition structure directs the
computer to repeat one or more instructions until some condition is met, at which time the

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Exploring the Variety of Random
Documents with Different Content
*** END OF THE PROJECT GUTENBERG EBOOK THE JEWELS OF
APTOR ***

Updated editions will replace the previous one—the old editions will
be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the free


distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only be


used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law
in the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name associated
with the work. You can easily comply with the terms of this
agreement by keeping this work in the same format with its attached
full Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.

1.E. Unless you have removed all references to Project Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg” appears,
or with which the phrase “Project Gutenberg” is associated) is
accessed, displayed, performed, viewed, copied or distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is derived


from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is posted


with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute this


electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or providing


access to or distributing Project Gutenberg™ electronic works
provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of


any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™


electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for


the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.

1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of damages.
If any disclaimer or limitation set forth in this agreement violates the
law of the state applicable to this agreement, the agreement shall be
interpreted to make the maximum disclaimer or limitation permitted
by the applicable state law. The invalidity or unenforceability of any
provision of this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation,


the trademark owner, any agent or employee of the Foundation,
anyone providing copies of Project Gutenberg™ electronic works in
accordance with this agreement, and any volunteers associated with
the production, promotion and distribution of Project Gutenberg™
electronic works, harmless from all liability, costs and expenses,
including legal fees, that arise directly or indirectly from any of the
following which you do or cause to occur: (a) distribution of this or
any Project Gutenberg™ work, (b) alteration, modification, or
additions or deletions to any Project Gutenberg™ work, and (c) any
Defect you cause.

Section 2. Information about the Mission


of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.

The Foundation’s business office is located at 809 North 1500 West,


Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many
small donations ($1 to $5,000) are particularly important to
maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws regulating


charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states where


we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot make


any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.

Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.
Project Gutenberg™ eBooks are often created from several printed
editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.
back
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like