Full download Programming with Microsoft Visual Basic 2017 8th Edition Diane Zak file pdf all chapter on 2024

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

Programming with Microsoft Visual

Basic 2017 8th Edition Diane Zak


Visit to download the full and correct content document:
https://ebookmass.com/product/programming-with-microsoft-visual-basic-2017-8th-ed
ition-diane-zak/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Clearly Visual Basic: Programming with Microsoft Visual


Basic 2010, Second Edition Diane Zak

https://ebookmass.com/product/clearly-visual-basic-programming-
with-microsoft-visual-basic-2010-second-edition-diane-zak/

Starting Out with Visual Basic - 8th Edition Tony


Gaddis

https://ebookmass.com/product/starting-out-with-visual-basic-8th-
edition-tony-gaddis/

Microsoft Visual Basic 2017 for Windows, Web, and


Database Applications: Comprehensive 1st Edition
Corinne Hoisington

https://ebookmass.com/product/microsoft-visual-basic-2017-for-
windows-web-and-database-applications-comprehensive-1st-edition-
corinne-hoisington/

Financial Analysis with Microsoft Excel 8th Edition


Timothy R. Mayes

https://ebookmass.com/product/financial-analysis-with-microsoft-
excel-8th-edition-timothy-r-mayes/
Oracle Database Programming with Visual Basic.NET:
Concepts, Designs and Implementations Ying Bai

https://ebookmass.com/product/oracle-database-programming-with-
visual-basic-net-concepts-designs-and-implementations-ying-bai/

Essentials of Modern Business Statistics with Microsoft


Excel 8th Edition David R. Anderson

https://ebookmass.com/product/essentials-of-modern-business-
statistics-with-microsoft-excel-8th-edition-david-r-anderson/

Simple and Efficient Programming with C#: Skills to


Build Applications with Visual Studio and .NET 2nd
Edition Vaskaran Sarcar

https://ebookmass.com/product/simple-and-efficient-programming-
with-c-skills-to-build-applications-with-visual-studio-and-
net-2nd-edition-vaskaran-sarcar/

Simple and Efficient Programming with C# : Skills to


Build Applications with Visual Studio and .NET 2nd
Edition Vaskaran Sarcar

https://ebookmass.com/product/simple-and-efficient-programming-
with-c-skills-to-build-applications-with-visual-studio-and-
net-2nd-edition-vaskaran-sarcar-2/

Microsoft Visual C# Step by Step, 9th Edition John


Sharp

https://ebookmass.com/product/microsoft-visual-c-step-by-
step-9th-edition-john-sharp/
8th

DIANE ZAK
EDITION

progr a mming w i t h

MICROSOFT ® VISUAL BASIC ® 2017


MICROSOFT
®

progr a mming w i t h
VISUAL BASIC
®

20 17

To register or access your online learning solution or purchase materials


for your course, visit www.cengagebrain.com. 8th
EDITION

DIANE ZAK
Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
PROGRAMMING WITH
MICROSOFT® VISUAL BASIC® 2017

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
EIGHTH EDITION

PROGRAMMING
WITH MICROSOFT®
VISUAL BASIC® 2017

DIANE ZAK

Australia • Brazil • Mexico • Singapore • United Kingdom • United States

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
Programming with Microsoft® Visual Basic® © 2018 Cengage Learning
2017, Eighth Edition
Diane Zak ALL RIGHTS RESERVED. No part of this work covered by the copyright herein
may be reproduced, transmitted, stored or used in any form or by any means
graphic, electronic, or mechanical, including but not limited to photocopying,
SVP, GM Science, Technology & Math: Balraj S. recording, scanning, digitizing, taping, Web distribution, information
Kalsi networks, or information storage and retrieval systems, except as permitted
under Section 107 or 108 of the 1976 United States Copyright Act, without the
Product Director: Kathleen McMahon
prior written permission of the publisher.
Product Team Manager: Kristin McNary

Associate Content Developer: Brianna Vorce


For product information and technology assistance, contact us at
Associate Product Manager: Kate Mason Cengage Learning Customer & Sales Support, 1-800-354-9706

Senior Director, Development: Julia Caballero For permission to use material from this text or product, submit all
requests online at www.cengage.com/permissions.
Product Assistant: Jake Toth
Further permissions questions can be e-mailed to
Marketing Director: Michele McTighe permissionrequest@cengage.com

Marketing Manager: Stephanie Albracht

Senior Production Director: Wendy Troeger Library of Congress Control Number: 2017940681

Production Director: Patty Stephan Softcover ISBN-13: 978-1-337-10212-4


LLF ISBN: 978-1-337-68573-3
Senior Content Project Manager: Jennifer K.
Feltri-George Cengage
20 Channel Center Street
Art Director: Diana Graham
Boston, MA 02210
Cover image(s): saemilee/DigitalVision Vectors/ USA
Getty Images
Cengage Learning is a leading provider of customized learning solutions
Cover Designer: Lisa Buckley
with employees residing in nearly 40 different countries and sales in more
Unless otherwise noted all screenshots are than 125 countries around the world. Find your local representative at
courtesy of Microsoft Corporation www.cengage.com.

Open Clip art source: OpenClipArt Cengage Learning products are represented in Canada by Nelson Education, Ltd.

Unless otherwise noted, all content is © Cengage.


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

Notice to the Reader


Publisher does not warrant or guarantee any of the products described herein
or perform any independent analysis in connection with any of the product
information contained herein. Publisher does not assume, and expressly disclaims,
any obligation to obtain and include information other than that provided to it by
the manufacturer. The reader is expressly warned to consider and adopt all safety
precautions that might be indicated by the activities described herein and to avoid
all potential hazards. By following the instructions contained herein, the reader
willingly assumes all risks in connection with such instructions. The publisher
makes no representations or warranties of any kind, including but not limited to,
the warranties of fitness for particular purpose or merchantability, nor are any
such representations implied with respect to the material set forth herein, and the
publisher takes no responsibility with respect to such material. The publisher shall
Printed in the United States of America not be liable for any special, consequential, or exemplary damages resulting, in
Print Number: 01 Print Year: 2017 whole or part, from the readers’ use of, or reliance upon, this material.

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
v

Brief Contents

Pref ace . . . . . . . . . . . . . . . . . . . . . . . . . xi v
Read T h is Bef o re You Begi n . . . . . . . . . . . . . . . . xvi i i
CHAP TER 1 An In t ro du ct i o n to V i sual Studi o 2 0 1 7 and V i sual Ba s i c . . . . . 1
CHAP TER 2 Plan n in g Appl i cati ons and Desi gni ng I nter faces . . . . . . . . 49
CHAP TER 3 Co din g w it h Vari abl es, Named Constants, and Cal cul a ti ons . . . 73
CHAP TER 4 T h e Select i o n Structure . . . . . . . . . . . . . . . . . . 119
CHAP TER 5 T h e Repeti t i o n Structure . . . . . . . . . . . . . . . . . 181
CHAP TER 6 Su b an d Funct i on Procedures . . . . . . . . . . . . . . . 237
CHAP TER 7 St r in g M ani pul ati on . . . . . . . . . . . . . . . . . . . . 287
CHAP TER 8 Ar r ays . . . . . . . . . . . . . . . . . . . . . . . . . 341
CHAP TER 9 Sequ en t ial A ccess Fi l es and Menus . . . . . . . . . . . . . 392
CHAP TER 10 Clas s es an d Obj ects . . . . . . . . . . . . . . . . . . . 427
CHAP TER 11 SQL Ser ve r Dat abases . . . . . . . . . . . . . . . . . . 475
CHAP TER 12 Dat abas e Queri es wi th SQL . . . . . . . . . . . . . . . . 529
CHAP TER 13 Web Sit e Appl i cati ons . . . . . . . . . . . . . . . . . . . 565
APPEN DIX A GU I Des ig n Gui del i nes . . . . . . . . . . . . . . . . . . 599
APPEN DIX B Addit io n al To pi cs . . . . . . . . . . . . . . . . . . . . . 604
APPEN DIX C F in din g and Fi x i ng Program Errors . . . . . . . . . . . . . 632
APPEN DIX D V is u al B asi c 2 0 1 7 Cheat Sheet . . . . . . . . . . . . . . 647
APPEN DIX E Cas e Pro je ct s . . . . . . . . . . . . . . . . . . . . . . 667
Index . . . . . . . . . . . . . . . . . . . . . . . . . . 671

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
vi

Contents

Pref ace . . . . . . . . . . . . . . . . . . . . . . . . . xi v
Read T h is B ef o re Yo u Begi n . . . . . . . . . . . . . . . . xv i i i

CHAPTER 1 An In t ro du ct io n t o V i sual Studi o 2 0 1 7 and V i sual Basi c . . . . . 1


F OCUS ON THE CO NC EPTS LESSON . . . . . . . . . . . . . . . . . . 2
F-1 Computer Programming Terminology . . . . . . . . . . . . . . . . . . . . . . 2
F-2 The Programmer’s Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
F-3 The Visual Basic Programming Language . . . . . . . . . . . . . . . . . . . . 3
F-4 The Visual Studio IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
F-5 Assigning Names to Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 7

APPLY THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . . . . 9


A-1 Start and Configure Visual Studio Community 2017 . . . . . . . . . . . . . . . 9
A-2 Create a Windows Forms Application . . . . . . . . . . . . . . . . . . . . . 11
A-3 Manage the Windows in the IDE . . . . . . . . . . . . . . . . . . . . . . . 13
A-4 Change a Form File’s Name . . . . . . . . . . . . . . . . . . . . . . . . . 14
A-5 Change the Properties of a Form . . . . . . . . . . . . . . . . . . . . . . . 15
The Name Property������������������������������������������������������������������������������������������ 17
The Font Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
The MaximizeBox, StartPosition, and Text Properties . . . . . . . . . . . . . . . 17
A-6 Save a Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
A-7 Close and Open a Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 18
A-8 Add a Control to a Form . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
A-9 Use the Format Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
A-10 Lock the Controls on the Form   . . . . . . . . . . . . . . . . . . . . . . . 24
A-11 Start and End an Application . . . . . . . . . . . . . . . . . . . . . . . . 25
A-12 Enter Code and Comments in the Code Editor Window . . . . . . . . . . . . 28
The Me.Close() Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Assignment Statements and Comments . . . . . . . . . . . . . . . . . . . . . 31
A-13 Print an Application’s Code and Interface . . . . . . . . . . . . . . . . . . 32
A-14 Exit Visual Studio and Run an Executable File . . . . . . . . . . . . . . . . 33
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
vii
 

CHAP TER 2 Plan n in g Appl i cati ons and Desi gni ng I nter faces . . . . . . . . 49
FOCUS ON THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . . 50
F-1 Planning a Windows Forms Application . . . . . . . . . . . . . . . . . . . . 50
F-2 Windows Standards for Interfaces . . . . . . . . . . . . . . . . . . . . . . 52
Guidelines for Identifying Labels and Buttons . . . . . . . . . . . . . . . . . . 53
Guidelines for Including Graphics . . . . . . . . . . . . . . . . . . . . . . . . 53
Guidelines for Selecting Fonts . . . . . . . . . . . . . . . . . . . . . . . . . 53
Guidelines for Using Color . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
F-3 Access Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
F-4 Tab Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

APPLY THE C ONCEPTS LESSON . . . . . . . . . . . . . . . . . . . . 58


A-1 Create a Planning Chart for a Windows Forms Application . . . . . . . . . . . 58
A-2 Design an Interface Using the Windows Standards . . . . . . . . . . . . . . . 59
A-3 Add a Label Control to the Form . . . . . . . . . . . . . . . . . . . . . . . 60
A-4 Add a Text Box to the Form . . . . . . . . . . . . . . . . . . . . . . . . . 62
A-5 Set the Tab Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

CHAP TER 3 Co din g w i t h Vari abl es, Named Constants, and Cal cu l a ti ons . . . 73
FOCUS ON THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . . 74
F-1 Pseudocode and Flowcharts . . . . . . . . . . . . . . . . . . . . . . . . . 74
F-2 Main Memory of a Computer . . . . . . . . . . . . . . . . . . . . . . . . . 76
F-3 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Selecting an Appropriate Data Type . . . . . . . . . . . . . . . . . . . . . . 77
Selecting an Appropriate Name . . . . . . . . . . . . . . . . . . . . . . . . 78
Examples of Variable Declaration Statements . . . . . . . . . . . . . . . . . . 79
F-4 TryParse Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
F-5 Arithmetic Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
F-6 Assigning a Value to an Existing Variable . . . . . . . . . . . . . . . . . . . 85
F-7 ToString Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
F-8 Option Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
F-9 Named Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

APPLY THE C ONCEPTS LESSON . . . . . . . . . . . . . . . . . . . . 94


A-1 Determine a Memory Location’s Scope and Lifetime . . . . . . . . . . . . . . 94
A-2 Use Procedure-Level Variables . . . . . . . . . . . . . . . . . . . . . . . . 95
A-3 Use Procedure-Level Named Constants . . . . . . . . . . . . . . . . . . . . 97
A-4 Use a Class-Level Variable . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A-5 Use a Static Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
A-6 Use a Class-Level Named Constant . . . . . . . . . . . . . . . . . . . . . .103
A-7 Professionalize Your Application’s Interface . . . . . . . . . . . . . . . . . .104
Coding the TextChanged Event Procedure . . . . . . . . . . . . . . . . . . . .104
Coding the Enter Event Procedure . . . . . . . . . . . . . . . . . . . . . . .105

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
viii
C ontents 

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112

CHAPTER 4 T h e Select io n St ruct ure . . . . . . . . . . . . . . . . . . 119


F OCUS ON THE CONC EPTS LESSON . . . . . . . . . . . . . . . . . 120
F-1 Selection Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
F-2 If…Then…Else Statement . . . . . . . . . . . . . . . . . . . . . . . . . .122
F-3 Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Comparison Operator Example: Total Due Application . . . . . . . . . . . . . . 124
Comparison Operator Example: Net Income/Loss Application . . . . . . . . . . .125
F-4 Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Logical Operator Example: Gross Pay Calculator Application . . . . . . . . . . .131
F-5 Summary of Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
F-6 String Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
String Comparison Example: Shipping Application . . . . . . . . . . . . . . . .137
F-7 Nested Selection Structures . . . . . . . . . . . . . . . . . . . . . . . . .139
F-8 Multiple-Alternative Selection Structures . . . . . . . . . . . . . . . . . . . 143
F-9 Select Case Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Specifying a Range of Values in a Case Clause . . . . . . . . . . . . . . . . . 147

APPLY THE CONCE PTS LESSON . . . . . . . . . . . . . . . . . . . 151


A-1 Add a Check Box to a Form . . . . . . . . . . . . . . . . . . . . . . . . .151
A-2 Code an Interface That Contains Check Boxes . . . . . . . . . . . . . . . . .151
CheckBox’s CheckedChanged Event . . . . . . . . . . . . . . . . . . . . . . 153
A-3 Add a Radio Button to a Form . . . . . . . . . . . . . . . . . . . . . . . .154
A-4 Code an Interface That Contains Radio Buttons . . . . . . . . . . . . . . . .154
RadioButton’s CheckedChanged Event . . . . . . . . . . . . . . . . . . . . . 156
Using the Select Case Statement with Radio Buttons . . . . . . . . . . . . . . .157
A-5 Group Objects Using a Group Box Control . . . . . . . . . . . . . . . . . . .157
A-6 Professionalize Your Application’s Interface . . . . . . . . . . . . . . . . . .159
Coding a Text Box’s KeyPress Event Procedure . . . . . . . . . . . . . . . . .159
A-7 Professionalize Your Code Using Arithmetic Assignment Operators . . . . . . . 161
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172

CHAPTER 5 T h e Repet it io n St ruct ure . . . . . . . . . . . . . . . . . 181


F OCUS ON THE CONC EPTS LESSON . . . . . . . . . . . . . . . . . 182
F-1 Repetition Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
F-2 Do…Loop Statement (Pretest Loop) . . . . . . . . . . . . . . . . . . . . . 184
F-3 String Concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
F-4 Infinite Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
F-5 Do…Loop Statement (Posttest Loop) . . . . . . . . . . . . . . . . . . . . .188
F-6 Counters and Accumulators . . . . . . . . . . . . . . . . . . . . . . . . .190
F-7 For…Next Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Comparing the For…Next and Do…Loop Statements . . . . . . . . . . . . . . .195
Flowcharting a For…Next Loop . . . . . . . . . . . . . . . . . . . . . . . . 195

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
ix
 

APPLY THE C ONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 197


A-1 Use a Loop, a Counter, and an Accumulator . . . . . . . . . . . . . . . . . .197
A Different Version of the Projected Sales Application . . . . . . . . . . . . . .200
A-2 Add a List Box to a Form . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Using the String Collection Editor to Add Items to a List Box . . . . . . . . . . .203
The Sorted Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
The SelectedItem and SelectedIndex Properties . . . . . . . . . . . . . . . . .204
The SelectedValueChanged and SelectedIndexChanged Events . . . . . . . . . .205
A-3 Use the Methods and a Property of the Items Collection . . . . . . . . . . . .206
Count Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
Clearing the Items from a List Box . . . . . . . . . . . . . . . . . . . . . . .208
A-4 Calculate a Periodic Payment . . . . . . . . . . . . . . . . . . . . . . . . 208
ListBox, Loop, and Financial.Pmt Example: Monthly Payment Application . . . . . .210
A-5 Nest Repetition Structures . . . . . . . . . . . . . . . . . . . . . . . . . .213
Nested Repetition Structure Example: Savings Account Application . . . . . . . .214
A Caution About Real Numbers . . . . . . . . . . . . . . . . . . . . . . . . .216
A-6 Professionalize Your Application’s Interface . . . . . . . . . . . . . . . . . .218
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228

CHAPTER 6 Su b an d Funct i on Procedures . . . . . . . . . . . . . . . 237


FOCUS ON THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . 238
F-1 Event-Handling Sub Procedures . . . . . . . . . . . . . . . . . . . . . . . 238
F-2 Independent Sub Procedures . . . . . . . . . . . . . . . . . . . . . . . . .240
No Parameters/Arguments Example: History Grade Application . . . . . . . . . .242
F-3 Passing Information to a Procedure . . . . . . . . . . . . . . . . . . . . . .245
Passing Variables by Value Example: Gross Pay Application . . . . . . . . . . . .245
Passing Variables by Reference Example: Concert Tickets Application . . . . . . .248
F-4 Rounding Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
F-5 Function Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

APPLY THE C ONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 256


A-1 Add a Combo Box to the Form . . . . . . . . . . . . . . . . . . . . . . . .256
A-2 Add Items to a Combo Box and Select a Default Item . . . . . . . . . . . . . 260
A-3 Code a Combo Box’s KeyPress Event Procedure . . . . . . . . . . . . . . . .261
A-4 Create an Event-Handling Sub Procedure . . . . . . . . . . . . . . . . . . .261
A-5 Calculate Federal Withholding Tax . . . . . . . . . . . . . . . . . . . . . . 262
A-6 Invoke an Independent Sub Procedure and a Function . . . . . . . . . . . . . 264
A-7 Create an Independent Sub Procedure . . . . . . . . . . . . . . . . . . . . 266
A-8 Create a Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267
A-9 Validate an Application’s Code . . . . . . . . . . . . . . . . . . . . . . . .269
A-10 Professionalize Your Application’s Interface . . . . . . . . . . . . . . . . . 271
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
x
C ontents 

CHAPTER 7 S t r in g M an ipu lat io n . . . . . . . . . . . . . . . . . . . 287


F OCUS ON THE CONC EPTS LESSON . . . . . . . . . . . . . . . . . 288
F-1 Length Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
The Product ID Application . . . . . . . . . . . . . . . . . . . . . . . . . . 288
F-2 Insert Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
F-3 PadLeft and PadRight Methods . . . . . . . . . . . . . . . . . . . . . . . .290
The Net Pay Application . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
F-4 Contains and IndexOf Methods . . . . . . . . . . . . . . . . . . . . . . . .293
The City and State Application . . . . . . . . . . . . . . . . . . . . . . . . .294
F-5 Substring Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
The Rearrange Name Application . . . . . . . . . . . . . . . . . . . . . . . .296
F-6 Character Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
The First Name Application . . . . . . . . . . . . . . . . . . . . . . . . . . 299
F-7 Remove Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
F-8 Trim, TrimStart, and TrimEnd Methods . . . . . . . . . . . . . . . . . . . . 302
The Tax Calculator Application . . . . . . . . . . . . . . . . . . . . . . . . .303
F-9 Replace Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
F-10 Like Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305
Inventory Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307

APPLY THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 309


A-1 Code the Check Digit Application . . . . . . . . . . . . . . . . . . . . . . .309
A-2 Code the Password Application . . . . . . . . . . . . . . . . . . . . . . . 314
A-3 Generate Random Integers . . . . . . . . . . . . . . . . . . . . . . . . . 317
A-4 Code the Guess a Letter Application . . . . . . . . . . . . . . . . . . . . .318
Use the Enabled Property and Focus Method . . . . . . . . . . . . . . . . . . 319
A-5 Code the Guess the Word Game Application . . . . . . . . . . . . . . . . . .322
Coding the btnNewWord_Click Procedure . . . . . . . . . . . . . . . . . . . .323
Coding the btnTryLetter_Click Procedure . . . . . . . . . . . . . . . . . . . .325
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335

CHAPTER 8 Ar r ays . . . . . . . . . . . . . . . . . . . . . . . . . 341


F OCUS ON THE CONC EPTS LESSON . . . . . . . . . . . . . . . . . 342
F-1 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
F-2 Declaring One-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . 342
Storing Data in a One-Dimensional Array . . . . . . . . . . . . . . . . . . . . 345
Determining the Number of Elements in a One-Dimensional Array . . . . . . . . .346
Determining the Highest Subscript in a One-Dimensional Array . . . . . . . . . . 346
Traversing a One-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . 347
F-3 For Each...Next Statement . . . . . . . . . . . . . . . . . . . . . . . . . .349
F-4 Calculating the Average Array Value . . . . . . . . . . . . . . . . . . . . . 350
F-5 Finding the Highest Array Value . . . . . . . . . . . . . . . . . . . . . . . 353
F-6 Sorting a One-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . .355
F-7 Two-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . .358
Declaring a Two-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . .358
Storing Data in a Two-Dimensional Array . . . . . . . . . . . . . . . . . . . . 360

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xi
 

Determining the Highest Subscript in a Two-Dimensional Array . . . . . . . . . . 361


Traversing a Two-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . 361
Totaling the Values Stored in a Two-Dimensional Array . . . . . . . . . . . . . .363
APPLY THE C ONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 366
A-1 Associate an Array with a Collection . . . . . . . . . . . . . . . . . . . . .366
A-2 Create Accumulator and Counter Arrays . . . . . . . . . . . . . . . . . . . 367
A-3 Create Parallel One-Dimensional Arrays . . . . . . . . . . . . . . . . . . . .371
A-4 Search a Two-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . .374
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383

CHAP TER 9 Sequ en t ia l A ccess Fi l es and Menus . . . . . . . . . . . . . 392


FOCUS ON THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . 393
F-1 Sequential Access Files . . . . . . . . . . . . . . . . . . . . . . . . . . .393
F-2 Sequential Access Output Files . . . . . . . . . . . . . . . . . . . . . . . .393
Output File Example: Game Show Application . . . . . . . . . . . . . . . . . .395
F-3 Sequential Access Input Files . . . . . . . . . . . . . . . . . . . . . . . . 397
ReadToEnd Method Example: Game Show Application . . . . . . . . . . . . . . 399
ReadLine Method Example: Game Show Application . . . . . . . . . . . . . . . 401

APPLY THE C ONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 404


A-1 Add a Menu to a Form . . . . . . . . . . . . . . . . . . . . . . . . . . . .404
GUI Guidelines for Menus . . . . . . . . . . . . . . . . . . . . . . . . . . .404
Menu Example: Continents Application . . . . . . . . . . . . . . . . . . . . . 405
A-2 Code the Items on a Menu . . . . . . . . . . . . . . . . . . . . . . . . . .408
A-3 Modify a Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410
A-4 Accumulate the Values Stored in a File . . . . . . . . . . . . . . . . . . . .412
A-5 Sort the Data Contained in a File . . . . . . . . . . . . . . . . . . . . . . .414
A-6 Professionalize Your Application’s Interface . . . . . . . . . . . . . . . . . .416
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .418
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .420

CHAP TER 10 Clas s es a nd Obj ects . . . . . . . . . . . . . . . . . . . 427


FOCUS ON THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . 428
F-1 Object-Oriented Programming . . . . . . . . . . . . . . . . . . . . . . . . 428
F-2 Creating a Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
F-3 Instantiating an Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
F-4 Attributes Section of a Class . . . . . . . . . . . . . . . . . . . . . . . . .431
Attributes Section Example: Franklin Decks Application . . . . . . . . . . . . . 433
F-5 Behaviors Section of a Class . . . . . . . . . . . . . . . . . . . . . . . . .436
Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .436
Methods Other than Constructors . . . . . . . . . . . . . . . . . . . . . . . 437
Behaviors Section Example: Franklin Decks Application . . . . . . . . . . . . . 438
Using the Rectangle Class: Franklin Decks Application . . . . . . . . . . . . . .438

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xii
C ontents 

F-6 Adding a Parameterized Constructor to a Class . . . . . . . . . . . . . . . .443


F-7 Reusing a Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

APPLY THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 452


A-1 Use a ReadOnly Property . . . . . . . . . . . . . . . . . . . . . . . . . . 452
A-2 Create Auto-Implemented Properties . . . . . . . . . . . . . . . . . . . . .457
A-3 Overload Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .466
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .469

CHAPTER 11 S QL Ser ver Dat abases . . . . . . . . . . . . . . . . . . 475


F OCUS ON THE CONC EPTS LESSON . . . . . . . . . . . . . . . . . 476
F-1 Basic Database Terminology . . . . . . . . . . . . . . . . . . . . . . . . .476
F-2 Creating a SQL Server Database . . . . . . . . . . . . . . . . . . . . . . .478
F-3 Adding a Table to a Database . . . . . . . . . . . . . . . . . . . . . . . . 480
F-4 Adding Records to a Table . . . . . . . . . . . . . . . . . . . . . . . . . .483
F-5 Data Source Configuration Wizard . . . . . . . . . . . . . . . . . . . . . . 484
F-6 Binding the Objects in a Dataset . . . . . . . . . . . . . . . . . . . . . . .487
Having the Computer Create a Bound Control . . . . . . . . . . . . . . . . . .488
F-7 DataGridView Control . . . . . . . . . . . . . . . . . . . . . . . . . . . .491
F-8 Copy to Output Directory Property . . . . . . . . . . . . . . . . . . . . . .495
F-9 Try...Catch Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . .497
F-10 Two-Table Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . .499
Relating the Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .502
Creating a Database Query . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Displaying the Query Information . . . . . . . . . . . . . . . . . . . . . . . .506

APPLY THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 508


A-1 Create a Data Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . .508
A-2 Bind Field Objects to Existing Controls . . . . . . . . . . . . . . . . . . . .511
A-3 Perform Calculations on the Fields in a Dataset . . . . . . . . . . . . . . . .513
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .517
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .520

CHAPTER 12 Dat abas e Qu er ies w i t h SQL . . . . . . . . . . . . . . . . 529


F OCUS ON THE CONC EPTS LESSON . . . . . . . . . . . . . . . . . 530
F-1 SELECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . .530
F-2 Creating a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .533
F-3 Parameter Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . .540
F-4 Saving a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .544
F-5 Invoking a Query from Code . . . . . . . . . . . . . . . . . . . . . . . . .547

APPLY THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 549


A-1 Add a Calculated Field to a Dataset . . . . . . . . . . . . . . . . . . . . . 549
A-2 Use the SQL Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . 552
A-3 Professionalize Your Application’s Interface . . . . . . . . . . . . . . . . . .556

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xiii
 

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .557
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .560

CHAP TER 13 Web Sit e A ppl i cati ons . . . . . . . . . . . . . . . . . . 565


FOCUS ON THE CONCEPTS LESSON . . . . . . . . . . . . . . . . . 566
F-1 Basic Web Terminology ��������������������������������������������������������������������������������566
F-2 Creating a Web Site Application ���������������������������������������������������������������������568
F-3 Starting a Web Application�����������������������������������������������������������������������������571
F-4 Modifying the Site.master Page ���������������������������������������������������������������������573
F-5 Personalizing the Default.aspx Page���������������������������������������������������������������576
F-6 Personalizing the About.aspx Page�����������������������������������������������������������������577
F-7 Testing with Different Browsers ���������������������������������������������������������������������579
F-8 Closing and Opening a Web Site Application�����������������������������������������������������579

APPLY THE C ONCEPTS LESSON . . . . . . . . . . . . . . . . . . . 580


A-1 Repurpose an Existing Web Page��������������������������������������������������������������������580
A-2 Add a Table and Controls to a Web Page���������������������������������������������������������582
A-3 Code a Control on a Web Page�����������������������������������������������������������������������585
A-4 Use a Validation Control��������������������������������������������������������������������������������587
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .590
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .592

APPEN DIX A GU I Des ign Gui del i nes . . . . . . . . . . . . . . . . . . 599

APPE N DIX B Addit io n al To pi cs . . . . . . . . . . . . . . . . . . . . 604

APPE N DIX C F in din g and Fi x i ng Program Errors . . . . . . . . . . . . . 632

APPEN DIX D V is u al B asi c 2 0 1 7 Cheat Sheet . . . . . . . . . . . . . . 647

APPEN DIX E Cas e Pro je ct s . . . . . . . . . . . . . . . . . . . . . . 667

Index . . . . . . . . . . . . . . . . . . . . . . . . . . 671

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xiv

Preface

Programming with Microsoft Visual Basic 2017, Eighth Edition uses Visual Basic 2017, an
object-oriented language, to teach programming concepts. This book is designed for a beginning
programming course. However, it assumes that students are familiar with basic Windows skills
and file management.

Organization and Coverage


Programming with Microsoft Visual Basic 2017, Eighth Edition contains 13 chapters that
present concepts along with hands-on instruction; it also contains five appendices (A through E).
In the chapters, students with no previous programming experience learn how to plan and
create their own interactive Windows applications. GUI design skills, OOP concepts, and
planning tools (such as Planning Charts, pseudocode, and flowcharts) are covered in the book.
The chapters show students how to work with objects and write Visual Basic statements such as
If...Then...Else, Select Case, Do...Loop, For...Next, and For Each...Next. Students also learn how
to create and manipulate variables, constants, strings, sequential access files, classes, and arrays.
In Chapters 11 and 12, students learn how to create SQL Server databases and then use them
in applications. They also learn how to use Structured Query Language (SQL) to access specific
fields and records from the database and also to create calculated fields. Chapter 13 shows
students how to create both static and dynamic Web Site applications.
Appendix A contains a summary of the GUI design guidelines mentioned in the chapters.
Appendix B contains additional topics that can be covered along with (or anytime after) a
specified chapter. Appendix C teaches students how to locate and correct errors in their
code. The appendix shows students how to step through their code and also how to create
breakpoints. The Visual Basic 2017 Cheat Sheet contained in Appendix D summarizes
important concepts covered in the chapters, such as the syntax of statements, methods, and
so on. The Cheat Sheet provides a convenient place for students to locate the information they
need as they are creating and coding their applications. Appendix E contains Case Projects that
can be assigned after completing specific chapters in the book.

Approach
Each chapter in Programming with Microsoft Visual Basic 2017, Eighth Edition contains two
lessons titled Focus on the Concepts and Apply the Concepts. Each lesson has its own set of
objectives. The Focus lessons concentrate on programming concepts, using examples along with
sample applications designed to reinforce the concepts being taught. The Apply the Concepts
lessons show students how to apply the concepts from the chapter’s Focus lesson in different
ways. The Apply lessons also expand on the concepts taught in the Focus lesson. Both lessons
provide tutorial-style steps that guide the student on coding, running, and testing applications.
Each sample application allows the student to observe how the current concept can be used
before the next concept is introduced.

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xv
Organization and Coverage 

Features
Programming with Microsoft Visual Basic 2017, Eighth Edition is an exceptional textbook
because it also includes the following features:
READ THIS BEFORE YOU BEGIN This section is consistent with Cengage Learning’s
unequaled 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 instructors save time and eliminate unnecessary
aggravation.
YOU DO IT! BOXES These boxes provide simple applications that allow students to
demonstrate their understanding of a concept before moving on to the next concept.
OPTION STATEMENTS All applications include the Option Explicit, Option Strict, and
Option Infer statements.
START HERE ARROWS These arrows indicate the beginning of a tutorial steps section in the
book.
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.
TIP These notes provide additional information about the current concept. Examples
include alternative ways of writing statements or performing tasks, as well as warnings
about common mistakes made when using a particular command and reminders of related
concepts learned in previous chapters.
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 list 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.

New to This Edition!


NEW CHAPTERS All of the chapters in the book have been revamped. A list of the changes
made to the chapters is available via the optional MindTap for this text.
LESSONS Each chapter is divided into two lessons: Focus on the Concepts and Apply the
Concepts. Each lesson has its own set of objectives. The Focus lessons introduce programming
concepts, which are illustrated with code examples and sample applications. The Apply lessons
show students how to apply the concepts from the chapter’s Focus lesson in different ways. The
Apply lessons also expand on the concepts taught in the Focus lesson. Both lessons provide
tutorial-style steps that guide the student on coding, running, and testing applications. The
applications allow students to observe how the current concept can be used before the next
concept is introduced.
MINI-QUIZ BOXES Mini-quiz boxes are strategically placed to test students’ knowledge at
various points in the chapter. Answers to the quiz questions are printed upside down in the
boxes, allowing students to determine whether they have mastered the material covered thus
far before continuing with the chapter.

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xvi
P reface Instructor Resources

SQL SERVER DATABASES AND SQL The book includes two chapters (Chapters 11 and 12)
on SQL Server databases and SQL.
NEW 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 INTRODUCTORY, INTERMEDIATE, ADVANCED, ON
YOUR OWN, and FIX IT. The ON YOUR OWN Exercises encourage students to challenge and
independently develop their own programming skills while exploring the capabilities of Visual
Basic 2017. Students are given minimum guidelines to follow when creating the ON YOUR
OWN applications. The FIX IT Exercises provide an opportunity for students to detect and
correct errors in an application’s code.
APPENDICES Appendix A summarizes the GUI design guidelines mentioned in the chapters,
making it easier for the student to follow the guidelines when designing an application’s interface.
Appendix B contains additional topics that can be covered along with (or anytime after) a
specified chapter. Appendix C teaches students how to locate and correct errors (syntax, logic,
and run time) in their code. The appendix shows students how to step through their code and
also how to create breakpoints. Appendix D contains a Cheat Sheet that summarizes important
concepts covered in the chapters, such as the syntax of statements, methods, and so on. The
Cheat Sheet provides a convenient place for students to locate the information they need as
they are creating and coding their applications. Appendix E contains Case Projects that can be
assigned after completing specific chapters in the book.
UPDATED VIDEOS These notes direct students to videos that accompany many
chapters in the book. The videos explain and/or demonstrate one or more of the
chapter’s concepts. The videos have been revised from the previous edition and are
available via the optional MindTap for this text.

Steps and Figures


The tutorial-style steps and figures in the book assume you are using Microsoft Visual Studio
Community 2017 and a system running Microsoft Windows 10. Your screen may appear slightly
different in some instances if you are using a different version of Microsoft Windows.

Instructor Resources
The following teaching tools are available for download at our Instructor Companion Site.
Simply search for this text at sso.cengage.com. An instructor login is required.
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.
TEST BANK Cengage Learning Testing Powered by Cognero is a flexible, online system that
allows you to:
•• Author, edit, and manage test bank content from multiple Cengage Learning solutions
•• Create multiple test versions in an instant
•• Deliver tests from your LMS, your classroom or wherever you want

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xvii
Acknowledgments 

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.
SOLUTION FILES Solutions to the chapter applications and the end-of-chapter Review
Questions and Exercises are provided.
DATA FILES Data Files are necessary for completing the computer activities in this book. Data
Files can also be downloaded by students at CengageBrain.com.

MindTap
MindTap is a personalized teaching experience with relevant assignments that guide students to
analyze, apply, and improve thinking, allowing you to measure skills and outcomes with ease.
•• Personalized teaching: Becomes yours with a Learning Path that is built with key student
objectives. Control what students see and when they see it. Use it as-is or match to your
syllabus exactly—hide, rearrange, add, and create your own content.
•• Guide students: A unique learning path of relevant readings, multimedia and activities that
move students up the learning taxonomy from basic knowledge and comprehension to
analysis and application.
•• Promote better outcomes: Empower instructors and motivate students with analytics and
reports that provide a snapshot of class progress, time in course, engagement and completion
rates.
The MindTap for Programming with Microsoft Visual Basic 2017 includes videos, study tools,
and interactive quizzing, all integrated into a full eReader that contains the full content from the
printed text.

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 (Senior Content Project
Manager), Prathiba Rajagopal (Senior Project Manager), Nicole Spoto (Quality Assurance),
Alyssa Pratt (Senior Content Developer), Brianna Vorce (Associate Content Developer),
and the compositors at SPi Global. Thank you for your support, enthusiasm, patience, and
hard work. And a special thank you to all of the past and present reviewers, as well as to
Sally Douglas (College of Central Florida), who suggested the YOU DO IT! boxes several
editions ago.
Diane Zak

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xviii

Read This Before


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 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 VB2017 folder. The files for Chapter 1 are stored in the VB2017\Chap01 folder.
Similarly, the files for Chapter 2 are stored in the VB2017\Chap02 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 steps 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:
•• A Pentium® 4 processor, 1.6 GHz or higher, personal computer running Microsoft Windows.
This book was written and Quality Assurance tested using Microsoft Windows 10.
•• Microsoft Visual Studio 2017 installed on your computer. (You need to install the .NET
desktop development component to complete Chapters 1 through 12. You need to install
the ASP.NET and web development component to complete Chapter 13.) This book was
written and Quality Assurance tested using Microsoft Visual Studio Community 2017.
At the time of this writing, you can download a free copy of the Community Edition at
https://www.visualstudio.com/downloads.

To control the display of filename extensions in Windows 10:


1. Press and hold down the Windows logo key on your keyboard as you tap the letter x.
(Or, right-click the Windows Start button on the taskbar.) Click Control Panel, click
Appearance and Personalization, click File Explorer Options, and then click the
View tab.
2. Deselect the Hide extensions for known file types check box to show the extensions; or,
select the check box to hide them. Click the OK button and then close the Appearance
and Personalization window.

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
xix
Technical Information 

To always display the underlined letters (called access keys)


in Windows 10:
1. Press and hold down the Windows logo key on your keyboard as you tap the letter x.
(Or, right-click the Windows Start button on the taskbar.) Click Control Panel and then
click Appearance and Personalization.
2. In the Ease of Access Center section, click Turn on easy access keys, and then select the
Underline keyboard shortcuts and access keys check box. Click the OK button and then
close the Ease of Access Center window.

To start and configure Visual Studio to match the figures


and tutorial steps in this book:
1. Use the steps on Pages 9 through 11 in Chapter 1.
2. If you are using the Professional or Enterprise editions of Visual Studio, you may
also need to click Tools, click Options, expand the Text Editor node, expand the
All Languages node, click CodeLens, and then deselect Enable CodeLens.

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

Visit Our Web Site


Additional materials designed for this textbook might be available at 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 on the Instructor Companion Site or at CengageBrain.com.
The material in this book was written and Quality Assurance tested using Microsoft Visual
Studio Community 2017 on a Microsoft Windows 10 system.

Copyright 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-203
Another random document with
no related content on Scribd:
the dry plain, were accompanied by inarticulate noises, like the cries
of bloodhounds. Kaweah comprehended the situation. I could feel
his grand legs gather under me, and the iron muscles contract with
excitement; he tugged at the bit, shook his bridle-chains, and flung
himself impatiently into the air.
It flashed upon me that perhaps they had confederates concealed
in some ditch far in advance of me, and that the plan was to crowd
me through at fullest speed, giving up the chase to new men and
fresh horses; and I resolved to save Kaweah to the utmost, and only
allow him a speed which should keep me out of gunshot. So I held
him firmly, and reserved my spur for the last emergency. Still we
fairly flew over the plain, and I said to myself, as the clatter of hoofs
and din of my pursuers rang in my ears now and then, as the
freshening breeze hurried it forward, that, if those brutes got me,
there was nothing in blood and brains; for Kaweah was a prince
beside their mustangs, and I ought to be worth two villains.
For the first twenty minutes the road was hard and smooth and
level; after that gentle, shallow undulations began, and at last, at
brief intervals, were sharp, narrow arroyos (ditches eight or nine feet
wide). I reined Kaweah in, and brought him up sharply on their
bottoms, giving him the bit to spring up on the other side; but he
quickly taught me better, and, gathering, took them easily, without
my feeling it in his stride.
The hot sun had arisen. I saw with anxiety that the tremendous
speed began to tell painfully on Kaweah. Foam tinged with blood fell
from his mouth, and sweat rolled in streams from his whole body,
and now and then he drew a deep-heaving breath. I leaned down
and felt of the cinch to see if it had slipped forward, but, as I had
saddled him with great care, it kept its true place, so I had only to
fear the greasers behind, or a new relay ahead. I was conscious of
plenty of reserved speed in Kaweah, whose powerful run was
already distancing their fatigued mustangs.
As we bounded down a roll of the plain, a cloud of dust sprang
from a ravine directly in front of me, and two black objects lifted
themselves in the sand. I drew my pistol, cocked it, whirled Kaweah
to the left, plunging by them and clearing by about six feet; a thrill of
relief came as I saw the long, white horns of Spanish cattle gleam
above the dust.
Unconsciously I restrained Kaweah too much, and in a moment
the Spaniards were crowding down upon me at a fearful rate. On
they came, the crash of their spurs and the clatter of their horses
distinctly heard; and as I had so often compared the beats of
chronometers, I unconsciously noted that while Kaweah’s, although
painful, yet came with regular power, the mustangs’ respiration was
quick, spasmodic, and irregular. I compared the intervals of the two
mustangs, and found that one breathed better than the other, and
then, upon counting the best mustang with Kaweah, found that he
breathed nine breaths to Kaweah’s seven. In two or three minutes I
tried it again, finding the relation ten to seven; then I felt the victory,
and I yelled to Kaweah. The thin ears shot flat back upon his neck;
lower and lower he lay down to his run. I flung him a loose rein, and
gave him a friendly pat on the withers. It was a glorious burst of
speed; the wind rushed by and the plain swept under us with
dizzying swiftness. I shouted again, and the thing of nervous life
under me bounded on wilder and faster, till I could feel his spine thrill
as with shocks from a battery. I managed to look round—a delicate
matter of speed—and saw, far behind, the distanced villains, both
dismounted, and one horse fallen.
In an instant I drew Kaweah into a gentle trot, looking around
every moment, lest they should come on me unawares. In a half-mile
I reached the station, and I was cautiously greeted by a man who sat
by the barn door, with a rifle across his knees. He had seen me
come over the plain, and had also seen the Spanish horse fall. Not
knowing but he might be in league with the robbers, I gave him a
careful glance before dismounting and was completely reassured by
an expression of terror which had possession of his countenance.
I sprang to the ground and threw off the saddle, and after a word
or two with the man, who proved to be the sole occupant of this
station, we fell to work together upon Kaweah, my cocked pistol and
his rifle lying close at hand. We sponged the creature’s mouth, and,
throwing a sheet over him, walked him regularly up and down for
about three-quarters of an hour, and then taking him upon the open
plain, where we could scan the horizon in all directions, gave him a
thorough grooming. I never saw him look so magnificently as when
we led him down to the creek to drink: his skin was like satin, and the
veins of his head and neck stood out firm and round like whip-cords.
—From “Mountaineering in the Sierra Nevada.” Copyright and used
by kind permission of the publishers, Chas. Scribner’s Sons, New
York.

A HERO OF THE FURNACE-ROOM


Anonymous
The duty of the boiler-makers on warships is of the most
dangerous nature. In action, between actions, and out of action the
repairs that they are called upon at a moment’s notice to effect are
sufficient to send a chill of fear through the hearts of most men. They
will creep right inside a boiler or furnace which had but a few
moments before been full of boiling liquid or hot coals. They will
screw up nuts and fasten bolts or repair leaking pipes or joints in
places that other men would consider impossible to approach. While
the ship’s big guns are making the vessel tremble, and the enemy’s
shells are bursting in every direction, these men, with positively
reckless fearlessness, will venture down into the bowels of the
fighting ship, amid roaring machinery, hissing steam, and flaming
fires, to rectify an accident which, unrepaired, might send the ship
and all her human freight to the bottom more easily and more surely
and more quickly than shell or shot from the best guns of the enemy.
These men are heroes.
The Castine, when she went to work to batter the walls of San
Juan, carried on board three of these boiler-makers, Fish, another,
and one Huntley, of Norfolk, Virginia. The Castine went into action
under full steam, her triple screws revolving at the fullest speed, and
her battery of eight guns started her quivering with excitement and
the fierce delight of battle. The furnaces were heated almost to white
heat, and the forced draught was urging the flames to greater heat,
the boiling water to the higher production of steam, the engines to
increasing revolutions. Suddenly, without expectation, without
warning, far down in the furnace hole, unheard by officer or man,
amid the din of battle, the thundering reverberations of exploding
gun-powder, there arose a fierce hissing noise right inside one of the
furnaces; and all those who heard it trembled as no guns or shot or
shell had power to make them tremble.
A socket bolt in the back connection at the very farthest interior
extremity of the furnace had become loose. A leak had been sprung;
the steam was pouring in upon the fire, threatening in a few
moments to put it out and stop the progress of the ship if it did not
have the more awful effect of causing a terrible explosion and
annihilation!
The faces of the men below, in that moment of terrible suspense,
blanched beneath the grime that covered them. None knew what to
do save to wait the awful coming of the shock they knew must come.
None? Nay, but there was one! The first to pull himself together,
the first to whom returned the fear-driven senses, was boiler-maker
Huntley. His name does not appear on the navy list. Even his first
name was unknown to his confrère, Fish. Only boiler-maker Huntley,
of Norfolk, Virginia. But that is enough, and the annals of fame
whenever and wherever the story of the United States and her navy
is told.
One instant of startled horror—then, without hesitation, without
trepidation, with stern-set jaws and fierce, devoted determination on
every line of face and form—
“Turn off the forced draught!” he cried.
“Goodness, Huntley, what are you going to do?”
“Bank the fire! Quick!”
“It’s certain death!”
“For one—unless, for all! Turn off the draught! Bank the fire!”
The orders were carried out feverishly.
“Now a plank!”
And before they could stop him this hero had flung the plank into
the furnace, right on top of the black coal with which it was banked,
and had himself climbed and crawled over the ragged mass, far back
to where the steam was rushing like some hissing devil from the
loosened socket.
For three minutes he remained inside that fearful place, and then
the work was done—the ship was saved—and his friends drew him
out at the door. The forced draught went to its work again, and in an
instant the furnace was once more raging.
But what of Huntley? Scorched, scalded, insensible, well-nigh
dead, he lay upon the iron floor of the furnace room, while around
him stood his mates dousing him with water, and using every known
means for his resuscitation. He did not die, but when once more he
opened his eyes, and was able to be carefully lifted into daylight,
there arose such cheers from the throats of those dirty, grimy mates
as never greeted taking of city or sinking of fleet.
The story is briefly chronicled in the log of the Castine, and
Huntley simply claims that he “did his duty.” But while the United
States remains a nation; so long as the banner bearing the silver
stars on the field of blue, above alternate stripes of red and white,
remains the symbol of purity, bravery, and patriotism to American
hearts the whole world over; so long, when her heroes are spoken
of, one name should never be omitted—that of Boiler-maker Huntley,
of Norfolk, Virginia.—From The Toledo Blade.

THE DEATH IN THE WHEAT


By Frank Norris
S. Behrman soon discovered his elevator. It was the largest
structure discernible, and upon its red roof, in enormous white
letters, was his own name. Thither, between piles of grain bags,
halted drays, crates and boxes of merchandise, with an occasional
pyramid of salmon cases, S. Behrman took his way. Cabled to the
dock, close under his elevator, lay a great ship with lofty masts and
great spars. Her stern was toward him as he approached, and upon
it, in raised golden letters, he could read the words, “Swanhilda—
Liverpool.”
He went aboard by a very steep gangway and found the mate on
the quarter deck. S. Behrman introduced himself.
“Well,” he added, “how are you getting on?”
“Very fairly, sir,” returned the mate, who was an Englishman. “We’ll
have her all snugged down tight by this time day after to-morrow. It’s
a great saving of time shunting the stuff in her like that, and three
men can do the work of seven.”
“I’ll have a look ’round, I believe,” returned S. Behrman.
“Right-o,” answered the mate with a nod.
S. Behrman went forward to the hatch that opened down into the
vast hold of the ship. A great iron chute connected this hatch with the
elevator, and through it was rushing a veritable cataract of wheat.
It came from some gigantic bin within the elevator itself, rushing
down the confines of the chute to plunge into the roomy, gloomy
interior of the hold with an incessant, metallic roar, persistent, steady,
inevitable. No men were in sight. The place was deserted. No human
agency seemed to be back of the movement of the wheat. Rather,
the grain seemed impelled with a force of its own, a resistless, huge
force, eager, vivid, impatient for the sea.
S. Behrman stood watching, his ears deafened with the roar of the
hard grains against the metallic lining of the chute. He put his hand
once into the rushing tide, and the contact rasped the flesh of his
fingers and like an undertow drew his hand after it in its impetuous
dash.
Cautiously he peered down into the hold. A musty odor rose to his
nostrils, the vigorous, pungent aroma of the raw cereal. It was dark.
He could see nothing; but all about and over the opening of the
hatch the air was full of a fine, impalpable dust that blinded the eyes
and choked the throat and nostrils.
As his eyes became used to the shadows of the cavern below him,
he began to distinguish the gray mass of the wheat, a great
expanse, almost liquid in its texture, which, as the cataract from
above plunged into it, moved and shifted in long, slow eddies. As he
stood there, this cataract on a sudden increased in volume. He
turned about, casting his eyes upward toward the elevator to
discover the cause. His foot caught in a coil of rope, and he fell
headforemost into the hold.
The fall was a long one and he struck the surface of the wheat
with the sodden impact of a bundle of damp clothes. For the moment
he was stunned. All the breath was driven from his body. He could
neither move nor cry out. But, by degrees, his wits steadied
themselves and his breath returned to him. He looked about and
above him. The daylight in the hold was dimmed and clouded by the
thick chaff-dust thrown off by the pour of grain, and even this
dimness dwindled to twilight at a short distance from the opening of
the hatch, while the remotest quarters were lost in impenetrable
blackness. He got upon his feet only to find he sunk ankle deep in
the loose packed mass underfoot.
“Hell,” he muttered, “here’s a fix.”
Directly underneath the chute, the wheat, as it poured in, raised
itself in a conical mound, but from the sides of this mound it shunted
away incessantly in thick layers, flowing in all directions with the
nimbleness of water. Even as S. Behrman spoke, a wave of grain
poured around his legs and rose rapidly to the level of his knees. He
stepped quickly back. To stay near the chute would soon bury him to
the waist.
No doubt, there was some other exit from the hold, some
companion ladder that led up to the deck. He scuffled and waddled
across the wheat, groping in the dark with outstretched hands. With
every inhalation he choked, filling his mouth and nostrils more with
dust than with air. At times he could not breathe at all, but gagged
and gasped, his lips distended. But search as he would, he could
find no outlet to the hold, no stairway, no companion ladder. Again
and again, staggering along in the black darkness, he bruised his
knuckles and forehead against the iron sides of the ship. He gave up
the attempt to find any interior means of escape and returned
laboriously to the space under the open hatchway. Already he could
see that the level of the wheat was raised.
“God,” he said, “this isn’t going to do at all.” He uttered a great
shout. “Hello, on deck there, somebody. For God’s sake.”
The steady, metallic roar of the pouring wheat drowned out his
voice. He could scarcely hear it himself above the rush of the
cataract. Beside this, he found it impossible to stay under the hatch.
The flying grains of wheat, spattering as they fell, stung his face like
wind-driven particles of ice. It was a veritable torture; his hands
smarted with it. Once he was all but blinded. Furthermore, the
succeeding waves of wheat, rolling from the mound under the chute,
beat him back, swirling and dashing against his legs and knees,
mounting swiftly higher, carrying him off his feet.
Once more he retreated, drawing back from beneath the hatch. He
stood still for a moment and shouted again. It was in vain. His voice
returned upon him, unable to penetrate the thunder of the chute, and
horrified, he discovered that so soon as he stood motionless upon
the wheat, he sank into it. Before he knew it, he was knee-deep
again, and a long swirl of grain sweeping outward from the ever-
breaking, ever-reforming pyramid below the chute, poured around
his thighs, immobilizing him.
A frenzy of terror suddenly leaped to life within him. The horror of
death, the Fear of The Trap, shook him like a dry reed. Shouting, he
tore himself free of the wheat and once more scrambled and
struggled towards the hatchway. He stumbled as he reached it and
fell directly beneath the pour. Like a storm of small shot, mercilessly,
pitilessly, the unnumbered multitude of hurtling grains flagellated and
beat and tore his flesh. Blood streamed from his forehead and,
thickening with the powder-like chaff-dust, blinded his eyes. He
struggled to his feet once more. An avalanche from the cone of
wheat buried him to his thighs. He was forced back and back and
back, beating the air, falling, rising, howling for aid. He could no
longer see; his eyes crammed with dust, smarted as if transfixed with
needles whenever he opened them. His mouth was full of the dust;
his lips were dry with it; thirst tortured him, while his outcries choked
and gagged in his rasped throat.
And all the while without stop, incessantly, inexorably, the wheat,
as if moving with a force all its own, shot downward in a prolonged
roar, persistent, steady, inevitable.
He retreated to a far corner of the hold and sat down with his back
against the iron hull of the ship and tried to collect his thoughts, to
calm himself. Surely there must be some way of escape; surely he
was not to die like this, die in this dreadful substance that was
neither solid nor fluid. What was he to do? How make himself heard?
But even as he thought about this, the cone under the chute broke
again and sent a great layer of grain rippling and tumbling toward
him. It reached him where he sat and buried his hand and one foot.
He sprang up trembling and made for another corner.
“My God,” he cried, “my God, I must think of something pretty
quick!”
Once more the level of the wheat rose and the grains began piling
deeper about him. Once more he retreated. Once more he crawled,
staggering to the foot of the cataract, screaming till his ears sang
and his eyeballs strained in their sockets, and once more the
relentless tide drove him back.
Then began that terrible dance of death; the man dodging,
doubling, squirming, hunted from one corner to another; the wheat
slowly, inexorably flowing, rising, spreading to every angle, to every
nook and cranny. It reached his middle. Furious and with bleeding
hands and broken nails, he dug his way out to fall backward, all but
exhausted, gasping for breath in the dust-thickening air. Roused
again by the slow advance of the tide, he leaped up and stumbled
away, blinded with the agony in his eyes, only to crash against the
metal hull of the vessel. He turned about, the blood streaming from
his face; he paused to collect his senses, and with a rush, another
wave swirled about his ankles and knees. Exhaustion grew upon
him. To stand still meant to sink; to lie or sit meant to be buried the
quicker; and all this in the dark, all this in the air that could not be
breathed, all this while he fought an enemy that could not be
gripped, toiling in a sea that could not be stayed.
Guided by the sound of the falling wheat, S. Behrman crawled on
hands and knees toward the hatchway. Once more he raised his
voice in a shout for help. His bleeding throat and raw, parched lips
refused to utter but a wheezing moan. Once more he tried to look
toward the one patch of faint light above him. His eyelids, clogged
with chaff, could no longer open. The wheat poured about his waist
as he raised himself upon his knees.
Reason fled. Deafened with the roar of the grain, blinded and
made dumb with its chaff, he threw himself forward with clutching
fingers, rolling upon his back, and lay there, moving feebly, the head
rolling from side to side. The wheat, leaping continuously from the
chute, poured around him. It filled the pockets of the coat, it crept up
the sleeves and trouser legs, it covered the great, protuberant
stomach, it ran at last in rivulets into the distended, gasping mouth. It
covered the face.
Upon the surface of the wheat, under the chute, nothing moved
but the wheat itself. There was no sign of life. Then, for an instant,
the surface stirred. A hand, fat, with short fingers and swollen veins,
reached up, clutching, then fell limp and prone. In another instant it
was covered. In the hold of the Swanhilda there was no movement
but the widening ripples that spread flowing from the ever-breaking,
ever-reforming cone; no sound, but the rushing of the wheat that
continued to plunge incessantly from the iron chute in a prolonged
roar, persistent, steady, inevitable.—From “The Octopus.” Copyright
and used by kind permission of the publishers, Doubleday, Page &
Co., New York.
DIALECT SELECTIONS

BOY WANTED
By Madge Elliot
One 24th of December, Mr. Oscar Blunt, who kept a large hat
store in the lower part of Broadway, was writing at his desk, which
was at the very end of the store, when somebody touched his elbow
softly, and, looking up, was much astounded to see a ragged boy,
whose old broad-brimmed hat almost hid his face, standing beside
him. He was so much astonished, in fact, that he dropped his pen
upon his paper, and thereby made a blot instead of a period.
“Why, my lad, how came you here?”
“I slid past some of the fellers. Wot a woppin’ big store dis is, and
wot lots of fellers it takes to stan’ ’roun’, an’ I cheeked some an’ I tole
de odders I had somethin’ most awful partiklar to say to de big boss.”
“And what have you most awful particular to say to me?” said the
“big boss” in a kinder voice than that in which he had spoken at first,
for there was something in the boy’s dark gray eyes that made him
think of a darling little son he had buried only a year ago in the same
grave where he had buried his wife the year before.
“Well, I seen in yer window a sigh wot reads, ‘Boy Wanted.’ An’ I’m
a boy; an’ as nobody never wanted me yet, sez I to myself, sez I,
‘Dusty, ole feller, p’r’haps there’s your chance at last,’ sez I, an’ in I
comes.”
“Sorry, but you won’t suit at all, my boy.”
“How do you know ’fore you try a feller? I know I ain’t worry pooty,
nor I hain’t got no fashnoble clothes, but I’m smart, I am. I’ve been to
night-school two winters, I have, an’ got a sixth ’ward of merit, I did,
wunst, an’ I kin read readin’ fust rate wen it’s only two syllabubbles
an’ I kin spell it out wen it’s three syllabubbles, an’ I kin speak some
four syllabubbles, an’ I can read writin’ wen it’s print-letters, an’ I kin
wissel you or any oder man in des ’ere tre-men-yu-ous (four
syllabubbles) old hat-box outer his boots.” And he began to whistle a
lively tune so loudly, clearly and sweetly that everybody in the large
store turned in amazement toward the desk, and listened.
“Yes, yes, I see you whistle remarkably well, but we don’t want a
boy to whistle.”
“I kin dance too. I danced for Johnny Sniffs ben’fit when he fell
inter wun of dem cole-holes in de sidewalk, and broke his leg off
short, I did, ’midst thunders of applause.” And cutting a double
shuffle he went off into a rollicking break-down, his big shoes
wobbling about, and the broad brim of his hat flopping up and down
at every step.
“Stop, stop! I tell you! I don’t want a boy to dance. You won’t do,
my boy; you won’t do, as I’ve told you before. Here’s a quarter for
you, and now go away.”
“I don’t want de quarter; nor I don’t want to go ’way,” persisted the
boy. “I didn’t come ’way from Fishhead Alley to dis swell street to go
’way so soon. I want a sit-u-wa-tion (four syllabubbles), I do. An’ de
fust thing I seen, wen I comes round de corner, was dat sign, ‘Boy
Wanted.’ ‘An’ dat’s good luck,’ sez I. ‘Go in, Dusty ole feller,’ sez I.
An’ I ain’t tole you haff what I kin do. Jess yez hole on a minnit. I kin
see a cop furder nor any our gang; an’ wen one comes in de front
door arter you, I kin give you de wink, quicker’n lightenin’, an’ out de
back door you pops. An’ I kin speak pieces, I kin—‘A hoss! A hoss!
my kingdom fer a hoss! Dere’s sixty Richmons in de field to-day, an’
I’ve killed every wun of dem. A hoss—’”
“Silence!” commanded Mr. Blunt; and then in spite of himself he
burst into a fit of laughter and laughed until he shook again, and
there was a great deal of him to shake—two hundred pounds at the
very least. “Tell me something about yourself, my boy, but mind, no
more performances of any kind. What is your name, and where do
you live, to begin with?”
“Dusty’s my name. I don’t know no odder. One feller, he’s from the
country, he is—calls me ‘Dusty Miller’; he sez ’cause dey’s a flower
wot dey calls ‘Dusty Miller’ dare. I believe he’s foolin’. But if I’m de
boy wot’s wanted, I must get a nobbier name dan dat. Wot’s your
name, boss?”
“Mr. Oscar Blunt.”
“Well, you might call me dat, too, without de mister. It soun’s werry
nice—‘Hoss car Blunt,’ or you might keep de Hoss car, an I’d be de
El-e-wa-ted (four syllabubbles) Road Blunt. Any way you’ve mind to.
You pay your money, and takes your choice. An’ I lives roun’
anywhere sence Aunt Kate died.”
“Aunt Kate? And was Aunt Kate your only relation? Have you no
father and mother?” asked Mr. Blunt.
“Nope; never had none, ’cept Aunt Kate. An’ I ain’t no frien’s, ’cept
Straw Hat. He keeps a paper stan’, he does; an’ onst he giv a party,
he did, in a charcoal-box. I wos dere, an’ it wuz bully, you bet. An’
I’ve got a little brudder.”
“A little brother?”
“Yep, sir. He wuz my cousin wunst, ’fore dey took Aunt Kate away;
but he’s my brudder now, an’ I got to take care of him. He jess
gobbles bread and milk, an’ dat’s w’y I’m lookin’ for a sit-i-wa-tion
—’nother four syllabubbles. Crackey! I’m as full of big words as a
diction’ry, I am. An’ Straw Hat he sez to me, sez he, ‘If you want me
to say you’re honest an’ sober an’ ’dustyous, I’ll say it,’ says he. He’s
a bully good feller, he is, an’ I ain’t givin’ taffy, neider. He’s took care
of me an’ my little brudder sence Aunt Kate died—dat’s lass week—
but he can’t do it forev’r’n’ever.”
“And where is this little brother now?”
“Sittin’ on your stoop, waitin’ till I come out.”
“Sitting on my stoop? Why he must be half frozen, poor little fellow.
Go and bring him in directly.”
The boy flew, and in a moment returned, leading by the hand a
wee child, who could just walk, and whose very small nose was blue
with cold, and who was wrapped in an old shawl, the ends of which
dragged behind him.
“He’s a boy too, an’ he’s real pooty, an’ if he’s the kind of boy yer
want, you may have him; but you must be awful good to him, an’ let
me come and see him. Say, boss, to-morrer’s Chrismus day!”
“Well, and what then?”
“Wen folks all gits presents, an’ fellers wot’s got stockin’s hangs
’em up, an’ spose, boss—jess fer fun—you let me an’ my little
brudder be your Chrismus present?”
“Done!” said Mr. Blunt, conquered at last by the boy’s patient and
persistent coaxing. “I’ll make believe I found one in each stocking.
But mind, Dusty, you must be the best of boys, and stop using slang,
or I won’t keep you.”
“You kin bet you bottom dollar I’ll do everything you want me to.
Horay! ain’t dis a bully racket? I’m de boy wot’s wanted in dis es-tab-
lish-ment (four syllabubbles) an’ I mean to be in-wal-u-a-ble—five
syllabubbles, by gracious! Mind my little brudder a minnit till I run an’
tell Straw Hat.” And before Mr. Blunt could say a word, the crown of
the hat was on his head, and he was out of the store and away.
And when he returned with Straw Hat the baby was sitting in the
lap of the good natured colored woman who kept the store clean, as
happy as any baby could be who had just eaten four sugar cakes
and a stick of candy.
And Dusty E. Road proved himself to be, as he himself said he
would be, the very boy wanted in that establishment.

THE HIEROGLYPHICS OF LOVE


By Amanda Mathews
The mother of Teodota sat in the doorway with a bowl of meat in
her lap. Her greasy black dress wrinkled latitudinally about her
shapeless figure. Her countenance was smooth, blank, and oily. As
she cut the meat into bits for the tamales, an impotent dribble of
monologue flowed from her flabby, pendulous lips. While awake,
talking was a function as natural and continuous as respiration or
digestion, and was interrupted only when her present husband
exerted himself to beat or kick her into a brief interval of sniffling
repression. On this particular afternoon Señor Garcia was not
interested in damming the sluggish but endless current of his wife’s
conversation, for he lay in drunken sleep on a filthy blanket in a
corner of the rough board pen, a Mexican Caliban, swart,
lowbrowed, bestial.
Teodota knelt behind the metate grinding corn to be mixed with
chile in the pungent tamales. She had dragged the clumsy stone
implement to a position where she could see that her stepfather still
slept, notwithstanding his frightful inarticulate gulps and growls. A
thin, flat-chested slip of a girl was Teodota, with great, piteous brown
eyes, high cheek bones, small, pointed chin, and a complexion of tan
satin. She was not beautiful; rather was she an intaglio of beauty
with hollows where there should have been roundness. Her untidy
black braids had been slept on many times since they had known a
comb; the scant, tattered calico gown fell away from the upturned
leathery soles of her bare feet. She guided the heavy stone roller
with languid, perfunctory movements, while some clockwork in her
brain prompted the periodical “Si, madre,” that fully satisfied her
mother’s conversational requirements.
The real Teodota was back in Old Mexico. Certainly she was not
driven thither by any lack of familiar environment in the Mexican
quarter of Los Angeles. Nor would it seem necessary for Teodota to
keep tryst in Mexico with a lover who had not preceded her to the
United States, but they had not found each other yet and she could
meet her Pablo only at the plaza fountain in Texcoco.
Suddenly into the dream, but not of it, a white folded paper
fluttered through the open window and lay on the floor beside the
metate. The girl examined it curiously.
“What is it, daughter?” inquired the elder woman.
“I do not know, mother. It looks like drawing; I am sure it isn’t
writing.”
“I can use it to light my cigarette.”
“No, mamacita, I want it.”
“For what?”
“I don’t know.”
The girl hid the paper where billows of a not overclean chemise
escaped at long gaps between buttons, and returned to her labor,
but the apparently trifling incident had taken a certain hold on her
listless, stunted intelligence. Recklessly, she pushed a handful of
corn off the end of the metate and edged about on her knees as if to
pick it up, in order to study the document with her back to her
mother. The unlettered brain, not accustomed to flat symbols for the
appearance of things, was slow to find any significance in the lines.
Very gradually did she achieve recognition of a railway train and the
human figures, male and female.
As her stepfather pulled himself into a sitting posture she thrust
the paper back into her bosom, trembling lest he had seen it, and still
more lest he beat her for the unground corn.
“Caramba!” he growled. “May the roof fall upon the Labor Union.”
Mother and daughter exchanged glances of relief that, so far, the
object of his wrath was remote and intangible.
“They told me in Mexico,” he continued, “of a fine thing here in
America called the Labor Union that pays a man when he does not
work, that throws stones at him if he is such a fool as to desire work,
and calls him—calls him—a pest overtake their speech that is hard
as rocks in the mouth—”
“Scabe, padre,” supplied Teodota, timidly.
“I come here with my innocent family. I seek out this Labor Union
and say, ‘Here am I, Juan Garcia, who is no—no—’”
“Scabe, padre,” ventured the girl again.
“But hates work like the very devil. Do they embrace me? Do they
put money in my hand? Ah-h-h!”
His memory of the rest of that painful interview, when a muscular
labor leader chose to consider that he was being trifled with, vented
itself in a shrill howl of rage.
Teodota caught up a brown earthen pitcher, and slipping out as
though to bring water from the hydrant, hid herself behind a scrubby
red geranium in the angle between the last tenement and the high
board fence. At first she crouched in wretched fear of being dragged
forth to receive a beating, or witness one bestowed upon her mother,
but the minutes slipped by without pursuit.
It was not because she needed to exercise her reposeful wits
during this period of hiding that she fell to studying the paper again,
but rather on account of a pleasant stir in some rudimentary faculty
that under happier circumstances might have been imagination.
Man, boy, woman, train, mules, she identified with growing ease and
satisfaction. For her, it was a notable mental achievement when she
perceived relations among the members of the groups of objects.
That man was kissing the hand of the maiden with a water-jar on
her shoulder. Even so had Pablo kissed her hand under the portales
that last morning, and when she inquired saucily if she were his
grandmother, he snatched her to him and kissed both cheeks and
called her queridita. In the next square the same girl was being
flogged. Even so had she been used by her stepfather, who wished
her to have no lover, but to continue making tamales for his support.
Her beloved had left for the United States in just such a train.
This was a communication from Pablo! That supreme illumination
in her dim intellect was a blessed miracle of love. She kissed the
picture-letter and rocked back and forth, hugging it, while her heart
nearly leaped out of her joy. Then she fell to studying it anew. The
square showing forth a man driving a team of mules hitched to a
scraper was beyond her comprehension, as she was unfamiliar with
grading camps.
At the bottom of the sheet the boy with the shirt-waist and
simulated fur cap was receiving a letter, running with it, and in the
last square, delivering it to the maiden. Dear Pablo evidently
believed that this boy was the messenger between them, whereas it
must have been the angels or the saints, for had she not seen the
boy looking as innocent and indifferent as you please?
When Teodota returned to the squalid room her stepfather had a
more immediate grievance.
“You impudent, lazy hussy! You sin verguenza! I’ll teach you to
leave your work and gad about the court!”
“If you touch me again,” blazed the girl, “you’d better keep awake.
I’ll kill you if I ever catch you asleep!”
A rabbit at bay is at least a surprise, and the brute’s jaw dropped,
the upraised arm fell back, and cursing and blustering, he strolled
forth into the court. With a champion hovering near, there had
suddenly come to the girl the power to hate bravely. Heretofore she
had feared her stepfather as the savage who dares not hate the evil
powers moving in the darkness lest they perceive his hatred and
smite him afresh.
“Daughter! daughter!” wailed the frightened mother, “that was not a
respectful manner to address a parent. When I was a girl it was the
custom—”
“Si, madre,” responded Teodota, patiently, as she indited her
answer to her lover with a burnt match on a scrap of wrapping paper.
Roughly, but eloquently, she sketched two little imploring hands, and
flung the epistle from the window with childlike confidence that
whatever powers had brought Pablo’s letter would convey her reply.
It was a transformed Teodota that stood just out of the heavy
wooden gates of the court the next morning, apparently loitering in
idle contemplation of the street, where Latin infants disported
themselves on the sidewalks, and soft Spanish speech was heard in
every doorway, but in reality her whole body was charged with
excitement and impatience. Personal neatness in a board pen
devoted chiefly to the manufacture of tamales could not be expected
to attain any high standard, but her appearance this morning bore
eloquent testimony to the civilizing power of love. Her abundant
black hair, moist and glossy, rippled on her shoulders, with a red
geranium glowing in its shadows. The billows of chemise between
the distant buttons were snowy white, the worst rents in the tattered
pink gown had been roughly mended, and even the blue rebozo
lying across her shoulders had taken on a faded purity.
As though to set the seal of heavenly approval on such
cleanliness, another communication from Pablo was found pinned to
the rebozo when she drew it in from the window where it had swung
to dry. That the small boy was not in sight was ample proof that it
had come by supernatural agency.
This last letter said more eloquently than mere words could have
done: “I await thee at the tunnel.” Yet with seeming nonchalance,
Teodota watched the squat, receding figure of her stepfather abroad
on the only tasks compatible with his dignity and tastes—the delivery
of the tamales to a dealer down the street, and the collection of the
revenue therefrom. The very instant, however, that he disappeared
into a doorway, she was off in the opposite direction, wrapping her
rebozo about her head as she went, and giving the end a final fling
over her shoulder.
At the Mexican end of the tunnel, just beyond the Chinese laundry,
but before one enters the cavernous chill and shadow, stands an
unroofed adobe[8] hovel close to the highway. Teodota, hurrying by
this ruin, thrilled from head to foot to hear her name.
“Pablo!” she gasped. Her soul rode the wave of joy to its crest;
then dropped back into the trough of despair. “I took you for gente
decente! How fine you are! How elegant! A grand señor!”
The tall, handsome Aztec looked down complacently at his black
suit and the ends of his red tie, not displeased at the impression he
made.
“Didst think, queridita,” he laughed, kissing her cheeks as he had
done under the portales, “that here in America I would be wearing
white cotton trousers and leather sandals? No, indeed! This is
another day.”
“But I, Señor—”
“Call me not ‘Señor,’ but Pablo and thy sweetheart,” he cried,
swinging her to the top of a crumbling wall, where she was obliged to
cling to him most deliciously.
“You will be ashamed of me.”
“Nay, little one, we will soon mend thy distress. I know of a store
not far from here with a sign—I cannot speak the strange word, but it
looks thus.” With a pencil he scrawled on a bit of plaster still clinging
to the adobe: RUMMAGE SALE.
“This is a strange country, Teodota. At home it is the poor who sell
their clothes—mostly in the pawn-shops, though my uncle had six
serapes bought off his back by gringo tourists. Here, it is the
aristocrats who sell their garments to the poor, and very cheap,
though, of course, one offers the half. Poor rich, to lose their pretty
clothes, but I suppose the rents are high where they live, and they
must have plenty to eat, being so accustomed. I can buy thee silk
and velvet and thou shalt be a grand señora, as I am a grand señor.”
“Dear Pablo, you are as good as the blessed saints who brought
me your letters.”
“It was a little boy, Teodota, whose father works in the same
camp.”
“He seemed not to be concerned in the matter, and I was sure it
was the saints. I must go back now or my stepfather will beat me.”
“Back, little one? Never! Come with me instead. The beast shall
never beat thee again.”
“But the tamales?”
“I like tamales. You shall make them for me.”
“What would my poor mother say?”
“We can let her know later, and she will be glad to have thee free
from that cochino. Listen, lindita: Beyond this tunnel is a big red
house that they say is the National Palace of Los Angeles, and here
one must get a permit to marry, though the priest really does the
work. Let us seek the red house.”
“Oh, Pablo! Now?”

You might also like