100% found this document useful (2 votes)
81 views

Download full Programming with Microsoft Visual Basic 2015 7th Edition Diane Zak ebook all chapters

Zak

Uploaded by

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

Download full Programming with Microsoft Visual Basic 2015 7th Edition Diane Zak ebook all chapters

Zak

Uploaded by

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

Download the full version of the textbook now at textbookfull.

com

Programming with Microsoft Visual Basic 2015


7th Edition Diane Zak

https://textbookfull.com/product/programming-with-
microsoft-visual-basic-2015-7th-edition-diane-zak/

Explore and download more textbook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Programming with Microsoft Visual Basic 2017 Diane Zak

https://textbookfull.com/product/programming-with-microsoft-visual-
basic-2017-diane-zak/

textbookfull.com

Visual Basic in easy steps Covers Visual Basic 2015 4th


Edition Mike Mcgrath

https://textbookfull.com/product/visual-basic-in-easy-steps-covers-
visual-basic-2015-4th-edition-mike-mcgrath/

textbookfull.com

Practical Microsoft Visual Studio 2015 1st Edition Peter


Ritchie (Auth.)

https://textbookfull.com/product/practical-microsoft-visual-
studio-2015-1st-edition-peter-ritchie-auth/

textbookfull.com

Optimal Transport for Applied Mathematicians Calculus of


Variations PDEs and Modeling 1st Edition Filippo
Santambrogio (Auth.)
https://textbookfull.com/product/optimal-transport-for-applied-
mathematicians-calculus-of-variations-pdes-and-modeling-1st-edition-
filippo-santambrogio-auth/
textbookfull.com
Vegetable Crop Science 1st Edition Rana

https://textbookfull.com/product/vegetable-crop-science-1st-edition-
rana/

textbookfull.com

The Philosophy Major s Introduction to Philosophy Ken


Akiba

https://textbookfull.com/product/the-philosophy-major-s-introduction-
to-philosophy-ken-akiba/

textbookfull.com

Introduction to Complex Theory of Differential Equations


Savin

https://textbookfull.com/product/introduction-to-complex-theory-of-
differential-equations-savin/

textbookfull.com

National Geographic History November December 2017 6th


Edition National Geographic

https://textbookfull.com/product/national-geographic-history-november-
december-2017-6th-edition-national-geographic/

textbookfull.com

Suicide among gifted children and adolescents:


understanding the suicidal mind Cross

https://textbookfull.com/product/suicide-among-gifted-children-and-
adolescents-understanding-the-suicidal-mind-cross/

textbookfull.com
A Critical Introduction to the Study of Religion 2nd
Edition Craig Martin

https://textbookfull.com/product/a-critical-introduction-to-the-study-
of-religion-2nd-edition-craig-martin/

textbookfull.com
PROGRAMMING WITH
MICROSOFT® VISUAL BASIC® 2015

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

PROGRAMMING
WITH MICROSOFT®
VISUAL BASIC® 2015

DIANE ZAK

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

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
This is an electronic version of the print textbook. Due to electronic rights restrictions,
some third party content may be suppressed. Editorial review has deemed that any suppressed
content does not materially affect the overall learning experience. The publisher reserves the right
to remove content from this title at any time if subsequent rights restrictions require it. For
valuable information on pricing, previous editions, changes to current editions, and alternate
formats, please visit www.cengage.com/highered to search by ISBN#, author, title, or keyword for
materials in your areas of interest.

Important Notice: Media content referenced within the product description or the product
text may not be available in the eBook version.

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Programming with Microsoft® Visual Basic® © 2016 Cengage Learning
2015, Seventh Edition
WCN: 02-200-203
Diane Zak
Product Director: Kathleen McMahon 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
Product Team Manager: Kristin McNary any means graphic, electronic, or mechanical, including but not limited to
Senior Product Manager: Jim Gish photocopying, recording, scanning, digitizing, taping, Web distribution,
Senior Content Developer: Alyssa Pratt information networks, or information storage and retrieval systems, except
as permitted under Section 107 or 108 of the 1976 United States Copyright
Product Assistant: Abigail Pufpaff
Act, without the prior written permission of the publisher.
Marketing Manager: Eric LaScola
Senior Production Director:
For product information and technology assistance, contact us at
Wendy Troeger Cengage Learning Customer & Sales Support, 1-800-354-9706
Production Director: Patty Stephan For permission to use material from this text or product, submit all
Senior Content Project Manager: requests online at www.cengage.com/permissions
Jennifer K. Feltri-George Further ­permissions ­questions can be emailed to
[email protected]
Managing Art Director: Jack Pendleton
Cover image(s):
Library of Congress Control Number: 2015940168
© Rudchenko Liliia/Shutterstock.com
ISBN: 978-1-285-86026-8
Unless otherwise noted all screenshots are
Cengage Learning
courtesy of Microsoft Corporation
20 Channel Center Street
Open Clip art source: OpenClipArt Boston, MA 02210
USA

Cengage Learning is a leading provider of customized learning solutions


with employees residing in nearly 40 different countries and sales in more
than 125 countries around the world. Find your local representative at
www.cengage.com

Cengage Learning products are represented in Canada by


Nelson Education, Ltd.

For your course and learning solutions, 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 informa-
tion 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
not be liable for any special, consequential, or exemplary damages resulting, in
whole or part, from the readers’ use of, or reliance upon, this material.

Printed in the United States of America


Print Number: 01 Print Year: 2016

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

Brief Contents

Pref ace . . . . . . . . . . . . . . . . . . . . . . . . . xv i i
Read T h is B ef o re You Begi n . . . . . . . . . . . . . . . . xxi i
O verview An In t ro du ct io n to Programmi ng . . . . . . . . . . . . . . . 1
Chapter 1 An In t ro du ct io n to V i sual Basi c 2 0 1 5 . . . . . . . . . . . . . 9
Chapter 2 Des ig n in g Applicati ons . . . . . . . . . . . . . . . . . . 59
Chapter 3 U s in g Var iables and Constants . . . . . . . . . . . . . . . 111
Chapter 4 T h e Select io n Structure . . . . . . . . . . . . . . . . . . 179
Chapter 5 M o re o n t h e Selecti on Structure . . . . . . . . . . . . . . 247
Chapter 6 T h e Repet it io n Structure . . . . . . . . . . . . . . . . . 315
Chapter 7 Su b an d F u n ct ion Procedures . . . . . . . . . . . . . . . 389
Chapter 8 St r in g M an ipu lati on . . . . . . . . . . . . . . . . . . . . 449
Chapter 9 Ar r ays . . . . . . . . . . . . . . . . . . . . . . . . . 499
Chapter 10 St r u ct u res an d Sequenti al Access Fi l es . . . . . . . . . . . 559
Chapter 11 Clas s es an d Obj ects . . . . . . . . . . . . . . . . . . . 609
Chapter 12 Web Applicat io ns . . . . . . . . . . . . . . . . . . . . . 671
Chapter 13 Wo r k in g w it h Access Databases and LI NQ . . . . . . . . . . 723
Chapter 14 Acces s Dat abases and SQL . . . . . . . . . . . . . . . . 777
A ppendix A F in din g an d F ixing Program Errors . . . . . . . . . . . . . 821
A ppendix B GU I Des ig n Gu idel i nes . . . . . . . . . . . . . . . . . . 839
A ppendix C V is u al B as ic Co nv ersi on Functi ons . . . . . . . . . . . . . 845
A ppendix D V is u al B as ic 201 5 Cheat Sheet . . . . . . . . . . . . . . 847
A ppendix E Cas e Pro ject s . . . . . . . . . . . . . . . . . . . . . . 865
A ppendix F M u lt iple F o r m s and Di al og Box es . . . . . . . . . . . . O nl i ne
Index . . . . . . . . . . . . . . . . . . . . . . . . . . 869

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

Contents

P ref ace . . . . . . . . . . . . . . . . . . . . . . . . . xvi i


R ead T h is B ef o re Yo u Begi n . . . . . . . . . . . . . . . . xxi i

OVERVIEW A n In t ro du ct io n t o Pro grammi ng . . . . . . . . . . . . . . . 1


Programming a Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
The Programmer’s Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Employment Opportunities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Visual Basic 2015 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
A Visual Basic 2015 Demonstration . . . . . . . . . . . . . . . . . . . . . . . 4
Using the Chapters Effectively . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

C HAPTER 1 A n In t ro du ct io n t o V is ual Basi c 2 0 1 5 . . . . . . . . . . . . . 9


L ESS ON A The Splash Screen Application . . . . . . . . . . . . . . . . . . . . . 11
Managing the Windows in the IDE . . . . . . . . . . . . . . . . . . . . . . . 14
The Windows Form Designer Window . . . . . . . . . . . . . . . . . . . . . . 15
The Solution Explorer Window . . . . . . . . . . . . . . . . . . . . . . . . . 16
The Properties Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Properties of a Windows Form . . . . . . . . . . . . . . . . . . . . . . . . . . 19
The Name Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
The Text Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
The StartPosition Property . . . . . . . . . . . . . . . . . . . . . . . . . . 20
The Font Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
The Size Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Setting and Restoring a Property’s Value . . . . . . . . . . . . . . . . . . . . . 21
Saving a Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Closing the Current Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Opening an Existing Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Exiting Visual Studio 2015 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

LESSON B The Toolbox W indow . . . . . . . . . . . . . . . . . . . . . . . . . . 28


The Label Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Setting the Text Property . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Setting the Location Property . . . . . . . . . . . . . . . . . . . . . . . . . 31

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

Changing a Property for Multiple Controls . . . . . . . . . . . . . . . . . . . . 31


Using the Format Menu’s Order Option . . . . . . . . . . . . . . . . . . . . . 32
The PictureBox Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Using the Format Menu to Align and Size . . . . . . . . . . . . . . . . . . . . 35
The Button Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Starting and Ending an Application . . . . . . . . . . . . . . . . . . . . . . . . 36
The Code Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
The Me.Close() Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

LESSON C Using the Timer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . 48


Setting the FormBorderStyle Property . . . . . . . . . . . . . . . . . . . . . . 50
The MinimizeBox, MaximizeBox, and ControlBox Properties . . . . . . . . . . . . 50
Printing the Application’s Code and Interface . . . . . . . . . . . . . . . . . . . 51
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

CHAPTER 2 Des ig n in g Applicati ons . . . . . . . . . . . . . . . . . . 59


L ESS ON A Creating an Object-Oriented Application . . . . . . . . . . . . . . . . . 62
Planning an Object-Oriented Application . . . . . . . . . . . . . . . . . . . . . 62
Identifying the Application’s Tasks . . . . . . . . . . . . . . . . . . . . . . . 63
Identifying the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Identifying the Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Drawing a Sketch of the User Interface . . . . . . . . . . . . . . . . . . . . . 66
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

L ESSON B Building the User Inter face . . . . . . . . . . . . . . . . . . . . . . . 72


Including Graphics in the User Interface . . . . . . . . . . . . . . . . . . . . 73
Selecting Fonts for the Interface . . . . . . . . . . . . . . . . . . . . . . . . 73
Adding Color to the Interface . . . . . . . . . . . . . . . . . . . . . . . . . 74
The BorderStyle, AutoSize, and TextAlign Properties . . . . . . . . . . . . . . . 75
Adding a Text Box to the Form . . . . . . . . . . . . . . . . . . . . . . . . . 76
Locking the Controls on a Form . . . . . . . . . . . . . . . . . . . . . . . . . 77
Assigning Access Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Controlling the Tab Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

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

L ESS ON C Coding the Application . . . . . . . . . . . . . . . . . . . . . . . . . 86


Using Pseudocode to Plan a Procedure . . . . . . . . . . . . . . . . . . . . . 87
Using a Flowchart to Plan a Procedure . . . . . . . . . . . . . . . . . . . . . 88
Coding the btnClear_Click Procedure . . . . . . . . . . . . . . . . . . . . . . . 89
Assigning a Value to a Property During Run Time . . . . . . . . . . . . . . . . 90
Using the Focus Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Internally Documenting the Program Code . . . . . . . . . . . . . . . . . . . 92
Coding the btnPrint_Click Procedure . . . . . . . . . . . . . . . . . . . . . . . 93
Showing and Hiding a Control . . . . . . . . . . . . . . . . . . . . . . . . . 94
Writing Arithmetic Expressions . . . . . . . . . . . . . . . . . . . . . . . . . 95
Coding the btnCalc_Click Procedure . . . . . . . . . . . . . . . . . . . . . . . 97
The Val Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
The Format Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Testing and Debugging the Application . . . . . . . . . . . . . . . . . . . . . .101
Assembling the Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 103
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .107
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

CHAPTER 3 U s in g Var iables an d Constants . . . . . . . . . . . . . . . 111


L ESS ON A Using Variables to Store Information . . . . . . . . . . . . . . . . . . 114
Selecting a Data Type for a Variable . . . . . . . . . . . . . . . . . . . . . .114
Selecting a Name for a Variable . . . . . . . . . . . . . . . . . . . . . . . .116
Declaring a Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Assigning Data to an Existing Variable . . . . . . . . . . . . . . . . . . . . . .118
The TryParse Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
The Convert Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
The Scope and Lifetime of a Variable . . . . . . . . . . . . . . . . . . . . . . .123
Variables with Procedure Scope . . . . . . . . . . . . . . . . . . . . . . . .123
Variables with Class Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Static Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Named Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Option Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Option Explicit and Option Infer . . . . . . . . . . . . . . . . . . . . . . . . 133
Option Strict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .138
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140

LESSON B Modifying the Meyer’s Purp le Bakery Application . . . . . . . . . . . . 144


Modifying the Calculate Button’s Code . . . . . . . . . . . . . . . . . . . . . .145
Using the ToString Method to Format Numbers . . . . . . . . . . . . . . . . . .152
Concatenating Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
The InputBox Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
The ControlChars.NewLine Constant . . . . . . . . . . . . . . . . . . . . . . .158
Designating a Default Button . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
ix
 

Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162


Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .163
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

LESSON C Modifying the Load and Click Event Procedures . . . . . . . . . . . . . 167


Coding the TextChanged Event Procedure . . . . . . . . . . . . . . . . . . . . 170
Associating a Procedure with Different Objects and Events . . . . . . . . . . . . .170
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

CHAPTER 4 T h e Select io n Structure . . . . . . . . . . . . . . . . . . 179


L ESS ON A Making Decisions in a Program . . . . . . . . . . . . . . . . . . . . 182
Flowcharting a Selection Structure . . . . . . . . . . . . . . . . . . . . . . . .185
Coding Selection Structures in Visual Basic . . . . . . . . . . . . . . . . . . . .187
Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
Using Comparison Operators: Swapping Numeric Values . . . . . . . . . . . . .191
Using Comparison Operators: Displaying Net Income or Loss . . . . . . . . . . .194
Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Using the Truth Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Comparing Strings Containing One or More Letters . . . . . . . . . . . . . . . .203
Converting a String to Uppercase or Lowercase . . . . . . . . . . . . . . . . . .205
Using the ToUpper and ToLower Methods: Displaying a Message . . . . . . . . . 206
Summary of Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .211
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213

LESSON B Creating the Treeline Resor t Application . . . . . . . . . . . . . . . . 216


Adding a Group Box to the Form . . . . . . . . . . . . . . . . . . . . . . . .216
Coding the Treeline Resort Application . . . . . . . . . . . . . . . . . . . . . .218
Coding the btnCalc Control’s Click Event Procedure . . . . . . . . . . . . . . .219
The MessageBox.Show Method . . . . . . . . . . . . . . . . . . . . . . . . . 222
Completing the btnCalc_Click Procedure . . . . . . . . . . . . . . . . . . . . .226
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .230
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

L ESSON C Coding the KeyPress Event Procedures . . . . . . . . . . . . . . . . 233


Coding the Enter Event Procedures . . . . . . . . . . . . . . . . . . . . . . . 235
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .240
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

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

C HAPTER 5 M ore o n t h e Select io n Structure . . . . . . . . . . . . . . 247


L ESS ON A Nested Selection Structures . . . . . . . . . . . . . . . . . . . . . 250
Flowcharting a Nested Selection Structure . . . . . . . . . . . . . . . . . . . .252
Coding a Nested Selection Structure . . . . . . . . . . . . . . . . . . . . . . .255
Logic Errors in Selection Structures . . . . . . . . . . . . . . . . . . . . . . .257
First Logic Error: Using a Compound Condition Rather than a Nested
Selection Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
Second Logic Error: Reversing the Outer and Nested Decisions . . . . . . . . . .261
Third Logic Error: Using an Unnecessary Nested Selection Structure . . . . . . . 262
Fourth Logic Error: Including an Unnecessary Comparison in a Condition . . . . . 263
Multiple-Alternative Selection Structures . . . . . . . . . . . . . . . . . . . . .264
The Select Case Statement . . . . . . . . . . . . . . . . . . . . . . . . . . .267
Specifying a Range of Values in a Case Clause . . . . . . . . . . . . . . . . . 269
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .272
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275

LESSON B Modifying the Treeline Resor t Application . . . . . . . . . . . . . . . . 280


Adding a Radio Button to the Interface . . . . . . . . . . . . . . . . . . . . .282
Adding a Check Box to the Interface . . . . . . . . . . . . . . . . . . . . . .283
Modifying the Calculate Button’s Code . . . . . . . . . . . . . . . . . . . . . .285
Comparing Boolean Values . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Modifying the ClearLabels Procedure . . . . . . . . . . . . . . . . . . . . . . .291
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .295
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

LESSON C Using the TryParse Method for Data Validation . . . . . . . . . . . . . 300


Generating Random Integers . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Completing the Roll ‘Em Game Application . . . . . . . . . . . . . . . . . . . . 306
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .309
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

CHAPTER 6 T h e Repet it io n St r u ct u re . . . . . . . . . . . . . . . . . 315


L ESS ON A Repeating Program Instructions . . . . . . . . . . . . . . . . . . . . 317
The Projected Sales Application . . . . . . . . . . . . . . . . . . . . . . . . .320
The Do...Loop Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
Coding the Modified Projected Sales Application . . . . . . . . . . . . . . . . .325
Counters and Accumulators . . . . . . . . . . . . . . . . . . . . . . . . . . .328
The Addition Application . . . . . . . . . . . . . . . . . . . . . . . . . . . .330
Arithmetic Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . 333
The For...Next Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . .335
A Different Version of the Projected Sales Application . . . . . . . . . . . . . .337
Comparing the For...Next and Do...Loop Statements . . . . . . . . . . . . . . .340
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .340

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

Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341


Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .342
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345

LESSON B Creating the Monthly Payment Application . . . . . . . . . . . . . . . 350


Including a List Box in an Interface . . . . . . . . . . . . . . . . . . . . . . . .351
Adding Items to a List Box . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Clearing the Items from a List Box . . . . . . . . . . . . . . . . . . . . . . .353
The Sorted Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Coding the Monthly Payment Application . . . . . . . . . . . . . . . . . . . . .355
The SelectedItem and SelectedIndex Properties . . . . . . . . . . . . . . . . .356
The SelectedValueChanged and SelectedIndexChanged Events . . . . . . . . . .358
Coding the Calculate Button’s Click Event Procedure . . . . . . . . . . . . . . .358
The Financial.Pmt Method . . . . . . . . . . . . . . . . . . . . . . . . . . . .359
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .364
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

LESSON C The Electric Bill Application . . . . . . . . . . . . . . . . . . . . . 371


Nested Repetition Structures . . . . . . . . . . . . . . . . . . . . . . . . . . 376
The Refresh and Sleep Methods . . . . . . . . . . . . . . . . . . . . . . . . .378
Trixie at the Diner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
The Savings Account Application . . . . . . . . . . . . . . . . . . . . . . . .380
A Caution About Real Numbers . . . . . . . . . . . . . . . . . . . . . . . . .382
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .385
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

CHAPTER 7 Su b an d F u n ct ion Procedures . . . . . . . . . . . . . . . 389


L ESS ON A Sub Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Passing Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Passing Variables by Value . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Passing Variables by Reference . . . . . . . . . . . . . . . . . . . . . . . . 397
Function Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .412
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .413
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .416

L ESSON B Including a Combo Box in an Inter face . . . . . . . . . . . . . . . . . 420


Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .424
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .425
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .425
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

L ESSON C Creating the Cerruti Company Application . . . . . . . . . . . . . . . 428


Coding the FormClosing Event Procedure . . . . . . . . . . . . . . . . . . . . .429

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

Coding the btnCalc_Click Procedure . . . . . . . . . . . . . . . . . . . . . . .431


Creating the GetFwt Function . . . . . . . . . . . . . . . . . . . . . . . . . 433
Completing the btnCalc_Click Procedure . . . . . . . . . . . . . . . . . . . . .437
Rounding Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .437
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .444
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .445
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .445
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

C HAPTER 8 S t r in g M an ipu lat io n . . . . . . . . . . . . . . . . . . . 449


L ESS ON A Working with Strings . . . . . . . . . . . . . . . . . . . . . . . . . 452
Determining the Number of Characters in a String . . . . . . . . . . . . . . . . .452
Removing Characters from a String . . . . . . . . . . . . . . . . . . . . . . . 453
The Product ID Application . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Inserting Characters in a String . . . . . . . . . . . . . . . . . . . . . . . . .455
Aligning the Characters in a String . . . . . . . . . . . . . . . . . . . . . . .456
The Net Pay Application . . . . . . . . . . . . . . . . . . . . . . . . . . . .457
Searching a String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .458
The City and State Application . . . . . . . . . . . . . . . . . . . . . . . . .460
Accessing the Characters in a String . . . . . . . . . . . . . . . . . . . . . . .461
The Rearrange Name Application . . . . . . . . . . . . . . . . . . . . . . . .462
Using Pattern Matching to Compare Strings . . . . . . . . . . . . . . . . . . . .464
Modifying the Product ID Application . . . . . . . . . . . . . . . . . . . . . . .466
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .468
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .469
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .472

LESSON B Adding a Menu to a Form . . . . . . . . . . . . . . . . . . . . . . . 475


Assigning Shortcut Keys to Menu Items . . . . . . . . . . . . . . . . . . . . .478
Coding the Exit Menu Item . . . . . . . . . . . . . . . . . . . . . . . . . . .480
Coding the txtLetter Control’s KeyPress Event . . . . . . . . . . . . . . . . . .480
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .481
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .481
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .481
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

LESSON C Completing the Pizza Game Application . . . . . . . . . . . . . . . . 483


Coding the File Menu’s New Game Option . . . . . . . . . . . . . . . . . . . . .484
Completing the Check Button’s Click Event Procedure . . . . . . . . . . . . . .487
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .493
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .494
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .494
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495

CHAPTER 9 A rr ays . . . . . . . . . . . . . . . . . . . . . . . . . 499


L ESS ON A Ar rays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
One-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . .502
Declaring a One-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . .502

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

Storing Data in a One-Dimensional Array . . . . . . . . . . . . . . . . . . . . 504


Determining the Number of Elements in a One-Dimensional Array . . . . . . . . .505
Determining the Highest Subscript in a One-Dimensional Array . . . . . . . . . . 505
Traversing a One-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . 506
The For Each...Next Statement . . . . . . . . . . . . . . . . . . . . . . . . . 507
Calculating the Average Stock Price . . . . . . . . . . . . . . . . . . . . . . .508
Finding the Highest Value . . . . . . . . . . . . . . . . . . . . . . . . . . . .511
Sorting a One-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . . . .515
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .517
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .518
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .521

LESS ON B Arrays and Collections . . . . . . . . . . . . . . . . . . . . . . . . 525


Accumulator and Counter Arrays . . . . . . . . . . . . . . . . . . . . . . . . .528
Parallel One-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . .532
The Die Tracker Application . . . . . . . . . . . . . . . . . . . . . . . . . . .536
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .540
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .540
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .541
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541

LESS ON C Two-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . 544


Traversing a Two-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . 547
Totaling the Values Stored in a Two-Dimensional Array . . . . . . . . . . . . . . .548
Searching a Two-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . . 550
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .553
Lesson C Key Term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .554
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .554
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555

CHAPTER 10 St r u ct u res an d Sequenti al Access Fi l es . . . . . . . . . . . 559


L ESS ON A Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Declaring and Using a Structure Variable . . . . . . . . . . . . . . . . . . . . .563
Passing a Structure Variable to a Procedure . . . . . . . . . . . . . . . . . . . 564
Creating an Array of Structure Variables . . . . . . . . . . . . . . . . . . . . .568
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .573
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .573
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .574

LESSON B Sequential Access Files . . . . . . . . . . . . . . . . . . . . . . . 578


Writing Data to a Sequential Access File . . . . . . . . . . . . . . . . . . . . .578
Closing an Output Sequential Access File . . . . . . . . . . . . . . . . . . . . .581
Reading Data from a Sequential Access File . . . . . . . . . . . . . . . . . . . 582
Closing an Input Sequential Access File . . . . . . . . . . . . . . . . . . . . . 586
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .589
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .589
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .590
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

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

L ESS ON C Coding the eBook Collection Application . . . . . . . . . . . . . . . . 594


Coding the frmMain_Load Procedure . . . . . . . . . . . . . . . . . . . . . . .595
Coding the btnAdd_Click Procedure . . . . . . . . . . . . . . . . . . . . . . . 597
Aligning Columns of Information . . . . . . . . . . . . . . . . . . . . . . . . .598
Coding the btnRemove_Click Procedure . . . . . . . . . . . . . . . . . . . . . 600
Coding the frmMain_FormClosing Procedure . . . . . . . . . . . . . . . . . . . 601
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .605
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .605
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .606
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606

CHAPTER 11 C las s es an d Object s . . . . . . . . . . . . . . . . . . . 609


L ESS ON A Object-Oriented Programming Terminology . . . . . . . . . . . . . . . 612
Creating a Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .613
Example 1—A Class That Contains Public Variables Only . . . . . . . . . . . . . .614
Example 2—A Class That Contains Private Variables, Public Properties, and Methods . 618
Private Variables and Property Procedures . . . . . . . . . . . . . . . . . . . 620
Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .623
Methods Other than Constructors . . . . . . . . . . . . . . . . . . . . . . . 625
Coding the Sunnyside Decks Application . . . . . . . . . . . . . . . . . . . . 626
Example 3—A Class That Contains a Parameterized Constructor . . . . . . . . . .629
Example 4—Reusing a Class . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .636
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .638
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .639

LESSON B Example 5—A Class That Contains a ReadOnly Property . . . . . . . . . . . . . 644


Example 6—A Class That Contains Auto-Implemented Properties . . . . . . . . . .649
Example 7—A Class That Contains Overloaded Methods . . . . . . . . . . . . . .651
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .657
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .658
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .658
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658

LESSON C Example 8—Using a Base Class and a Derived Class . . . . . . . . . . . 662


Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .668
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .668
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .668
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669

CHAPTER 12 We b Applicat io n s . . . . . . . . . . . . . . . . . . . . 671


L ESS ON A Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Adding the Default.aspx Web Page to the Application . . . . . . . . . . . . . . . 677
Including a Title on a Web Page . . . . . . . . . . . . . . . . . . . . . . . . 679
Adding Static Text to a Web Page . . . . . . . . . . . . . . . . . . . . . . . 679
Adding Another Web Page to the Application . . . . . . . . . . . . . . . . . . . 681
Adding a Hyperlink Control to a Web Page . . . . . . . . . . . . . . . . . . . . 681

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

Starting a Web Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 683


Adding an Image to a Web Page . . . . . . . . . . . . . . . . . . . . . . . . .685
Closing and Opening an Existing Web Application . . . . . . . . . . . . . . . . .687
Repositioning a Control on a Web Page . . . . . . . . . . . . . . . . . . . . . .688
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .689
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .691
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .692

LESSON B Dynamic Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . 695


Coding the Submit Button’s Click Event Procedure . . . . . . . . . . . . . . . . .699
Validating User Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .701
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .704
Lesson B Key Term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .705
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .705
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705

LESS ON C Creating the Satellite Radio Application . . . . . . . . . . . . . . . . 709


Using the RadioButtonList Tool . . . . . . . . . . . . . . . . . . . . . . . . .710
Using the CheckBox Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Coding the Calculate Button’s Click Event Procedure . . . . . . . . . . . . . . . 712
Clearing the Previous Subscription Costs . . . . . . . . . . . . . . . . . . . . .715
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .717
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .718
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .718
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719

CHAPTER 13 Wo r k in g w it h Access Databases and LI NQ . . . . . . . . . . 723


L ESS ON A Database Terminology . . . . . . . . . . . . . . . . . . . . . . . . 726
Connecting an Application to a Microsoft Access Database . . . . . . . . . . . . .728
Previewing the Contents of a Dataset . . . . . . . . . . . . . . . . . . . . . .731
Binding the Objects in a Dataset . . . . . . . . . . . . . . . . . . . . . . . . .732
Having the Computer Create a Bound Control . . . . . . . . . . . . . . . . . .733
The DataGridView Control . . . . . . . . . . . . . . . . . . . . . . . . . . .736
Visual Basic Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
Handling Errors in the Code . . . . . . . . . . . . . . . . . . . . . . . . . .740
The Copy to Output Directory Property . . . . . . . . . . . . . . . . . . . . . .743
Binding to an Existing Control . . . . . . . . . . . . . . . . . . . . . . . . . .744
Coding the Next Record and Previous Record Buttons . . . . . . . . . . . . . . .747
Formatting the Data Displayed in a Bound Label Control . . . . . . . . . . . . . .748
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .749
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .751
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .752

LESSON B Creating a Query . . . . . . . . . . . . . . . . . . . . . . . . . . 754


Customizing a BindingNavigator Control . . . . . . . . . . . . . . . . . . . . . 758
Using the LINQ Aggregate Operators . . . . . . . . . . . . . . . . . . . . . . .760
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .763
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .763

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

Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .764


Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765

LESSON C Completing the Games Galore Application . . . . . . . . . . . . . . . 767


Coding the Games Galore Application . . . . . . . . . . . . . . . . . . . . . . 769
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .771
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .771
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .771
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773

CHAPTER 14 A c ces s Dat abas es an d SQL . . . . . . . . . . . . . . . . 777


L ESS ON A Adding Records to a Dataset . . . . . . . . . . . . . . . . . . . . . 780
Sorting the Records in a Dataset . . . . . . . . . . . . . . . . . . . . . . . . 785
Deleting Records from a Dataset . . . . . . . . . . . . . . . . . . . . . . . . 786
Lesson A Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .790
Lesson A Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
Lesson A Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .791
Lesson A Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .792

LESSON B Structured Query Language . . . . . . . . . . . . . . . . . . . . . . 794


The SELECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . .794
Creating a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .796
Lesson B Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .801
Lesson B Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .801
Lesson B Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .802
Lesson B Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803

LESSON C Parameter Queries . . . . . . . . . . . . . . . . . . . . . . . . . 805


Saving a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .807
Invoking a Query from Code . . . . . . . . . . . . . . . . . . . . . . . . . . .809
The INSERT and DELETE Statements . . . . . . . . . . . . . . . . . . . . . . .811
Lesson C Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .818
Lesson C Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .819
Lesson C Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . .819
Lesson C Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820

Appendix A F in din g an d F ixin g Pro gram Errors . . . . . . . . . . . . . 821

A ppendix B GUI Des ig n Gu idelin es . . . . . . . . . . . . . . . . . . 839

APPENDIX C V is u al B as ic Co n ver s ion Functi ons . . . . . . . . . . . . . 845

APPENDIX D V i s u al B as ic 2012 Ch eat Sheet . . . . . . . . . . . . . . 847

APPENDIX E C as e Pro ject s . . . . . . . . . . . . . . . . . . . . . . 865

APPENDIX F M ult iple F o r m s an d Dial og Box es . . . . . . . . . . . . On l i ne

I n dex . . . . . . . . . . . . . . . . . . . . . . . . . . 869

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

Preface

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

Organization and Coverage


Programming with Microsoft Visual Basic 2015, Seventh Edition contains an Overview and 14
chapters that present hands-on instruction; it also contains five appendices (A through E).
An additional appendix (Appendix F) covering multiple-form applications and the FontDialog,
ColorDialog, and TabControl tools is available online at CengageBrain.com.
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 TOE charts, pseudocode, and flowcharts) are emphasized throughout 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, structures, classes,
and arrays. Chapter 12 shows students how to create both static and dynamic Web applications.
In Chapter 13, students learn how to connect an application to a Microsoft Access database,
and then use Language-Integrated Query (LINQ) to query the database. Chapter 14 continues
the coverage of databases, introducing the student to more advanced concepts and Structured
Query Language (SQL).
Appendix A, which can be covered after Chapter 3, 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. Appendix B recaps the GUI design guidelines mentioned in the chapters,
and Appendix C lists the Visual Basic conversion functions. The Visual Basic 2015 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
Programming with Microsoft Visual Basic 2015, Seventh Edition teaches programming concepts
using a task-driven rather than a command-driven approach. By working through the chapters,
which are each motivated by a realistic case, students learn how to develop applications they
are likely to encounter in the workplace. This is much more effective than memorizing a list of
commands out of context. The book motivates students by demonstrating why they need to
learn the concepts and skills covered in each chapter.

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

Features
Programming with Microsoft Visual Basic 2015, Seventh 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. The YOU
DO IT! boxes are located almost exclusively in Lesson A of each chapter.
VISUAL STUDIO 2015 METHODS The book focuses on Visual Studio 2015 methods rather
than on Visual Basic functions. Exceptions to this are the Val and Format functions, which are
introduced in Chapter 2. These functions are covered in the book simply because it is likely that
students will encounter them in existing Visual Basic programs. However, in Chapter 3, the
student is taught to use the TryParse method and the Convert class methods rather than the
Val function. Also in Chapter 3, the Format function is replaced with the ToString method.
OPTION STATEMENTS All programs 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.
DATABASES, LINQ, AND SQL The book includes two chapters (Chapters 13 and 14) on
databases. LINQ is covered in Chapter 13. SQL is covered in Chapter 14.
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.
CHAPTER CASES Each chapter begins with a programming-related problem that students
could reasonably expect to encounter in business, followed by a demonstration of an application
that could be used to solve the problem. Showing the students the completed application before
they learn how to create it is motivational and instructionally sound. By allowing the students to
see the type of application they will be able to create after completing the chapter, the students
will be more motivated to learn because they can see how the programming concepts they are
about to learn can be used and, therefore, why the concepts are important.
LESSONS Each chapter is divided into three lessons—A, B, and C. Lesson A introduces
the programming concepts that will be used in the completed application. The concepts are
illustrated with code examples and sample applications. The user interface for each sample
application is provided to the student. Also provided are tutorial-style steps that guide the
student on coding, running, and testing the application. Each sample application allows the
student to observe how the current concept can be used before the next concept is introduced.
In Lessons B and/or C, the student creates the application required to solve the problem
specified in the Chapter Case.
APPENDICES Appendix A, which can be covered after Chapter 3, 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 B
summarizes the GUI design guidelines taught in the chapters, making it easier for the student to
follow the guidelines when designing an application’s interface. Appendix C lists the Visual Basic

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
xix
Organization and Coverage 

conversion functions. 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. Appendix F, which is available online at CengageBrain.com, covers
multiple-form applications and the FontDialog, ColorDialog, and TabControl tools.
GUI DESIGN TIP BOXES The GUI DESIGN TIP boxes contain guidelines and
recommendations for designing applications that follow Windows standards. Appendix B
provides a summary of the GUI design guidelines covered in the chapters.
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 lesson contains a Summary section that recaps the concepts covered in
the lesson.
KEY TERMS Following the Summary section in each lesson is a listing of the key terms
introduced throughout the lesson, along with their definitions.
REVIEW QUESTIONS Each lesson contains Review Questions designed to test a student’s
understanding of the lesson’s concepts.
EXERCISES The Review Questions in each lesson are followed by Exercises, which provide
students with additional practice of the skills and concepts they learned in the lesson. The
Exercises are designated as INTRODUCTORY, INTERMEDIATE, ADVANCED, DISCOVERY,
and SWAT THE BUGS. The DISCOVERY Exercises encourage students to challenge and
independently develop their own programming skills while exploring the capabilities of Visual
Basic 2015. The SWAT THE BUGS Exercises provide an opportunity for students to detect and
correct errors in an application’s code.

New to This Edition!


U PDATED VIDEOS These notes direct students to videos that accompany each
chapter in the book. The videos explain and/or demonstrate one or more of the
chapter’s concepts. The videos have been revised from the previous edition and are
available via the optional MindTap for this text.
NEW CHAPTER CASES, EXAMPLES, APPLICATIONS, REVIEW QUESTIONS, AND
EXERCISES The chapters contain new Chapter Cases, code examples, sample applications,
Review Questions, and Exercises.
Chapters 2, 5, 6, and 12 The Visible property is now introduced in Chapter 2 rather than
in Chapter 5. Coverage of the priming and update reads was moved from Chapter 6’s Lesson A
to Chapter 6’s Lesson B. The topics covered in Chapter 6’s Lesson B are now covered in its
Lesson C and vice versa. The Financial.Pmt function is covered in Chapter 6’s Lesson B. Chapter 12,
which covers Web applications, has been revamped.

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

Steps and Figures


The tutorial-style steps in the book assume you are using Microsoft Visual Studio Ultimate 2015
and a system running Microsoft Windows 8. The figures in the book reflect how your screen will
look if you are using a Microsoft Windows 8 system. 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

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 Lesson applications and the end-of-lesson 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 2015 includes videos, study tools,
and interactive quizzing, all integrated into a full eReader that contains the full content from
the printed text.

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

Acknowledgments
Writing a book is a team effort rather than an individual one. I would like to take this
opportunity to thank my team, especially Alyssa Pratt (Senior Content Developer), Heidi Aguiar
(Full Service Project Manager), Serge Palladino and John Freitas (Quality Assurance), Jennifer
Feltri-George (Senior Content Project Manager), and the compositors at GEX Publishing
Services. Thank you for your support, enthusiasm, patience, and hard work. Last, but certainly
not least, I want to thank the following reviewers for their invaluable ideas and comments: Cliff
Brozo, Monroe College; Anthony Cameron, Fayetteville Technical Community College, and
Tatyana Feofilaktova, ASA College. And a special thank you to Sally Douglas (College of Central
Florida) for suggesting the YOU DO IT! boxes several editions ago.
Diane Zak

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

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 VB2015 folder. The files for Chapter 1 are stored in the VB2015\Chap01 folder.
Similarly, the files for Chapter 2 are stored in the VB2015\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 using Microsoft Windows 8, and Quality Assurance tested using
Microsoft Windows 10.
•• Either Microsoft Visual Studio Ultimate 2015 or Visual Studio Community Edition
installed on your computer. This book was written and Quality Assurance tested using
Microsoft Visual Studio Ultimate 2015. At the time of this writing, you can download a
free copy of the Community Edition at https://www.visualstudio.com/en-us/downloads/
visual-studio-2015-downloads-vs.

To control the display of filename extensions in Windows 8:


1. Press and hold down the Windows logo key on your keyboard as you tap the letter x.
Click Control Panel, click Appearance and Personalization, click Folder 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 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xxiii
Technical Information 

To always display the underlined letters (called access keys)


in Windows 8:
1. Press and hold down the Windows logo key on your keyboard as you tap the letter x.
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 Page 11 to start Visual Studio.
2. Use the steps on Pages 12 and 13 to configure Visual Studio.

To install Microsoft Visual Basic PowerPacks 12.0:


1. Locate the vb_vbpowerpacks.exe file, which is contained in the VB2015\PowerPacks
folder. Right-click the filename and then click Run as administrator. Click the Yes button.
2. Select the “I agree to the License Terms and Privacy Policy.” check box. Either select
or deselect the check box that asks if you want to join the Visual Studio Experience
Improvement program. Click Install.
3. When the “Setup Successful!” message appears, click the Close button.
4. Start Visual Studio. Open the Toolbox window (if necessary) by clicking View on the
menu bar and then clicking Toolbox. Right-click the Toolbox window and then click
Add Tab. Type Visual Basic PowerPacks and press Enter.
5. Right-click the Visual Basic PowerPacks tab, and then click Choose Items. If necessary,
click the .NET Framework Components tab in the Choose Toolbox Items dialog box.
6. In the Filter box, type PowerPacks. You may see one or more entries for the PrintForm
control. Select Version 12’s PrintForm control, as shown in Figure 1. (Although this
book uses only the PrintForm control, you can also select Version 12’s DataRepeater,
LineShape, OvalShape, and RectangleShape controls.)

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Random documents with unrelated
content Scribd suggests to you:
Catalogues. Catalogo Real Armeria de Madrid.
” The Imperial Collection at Vienna.
” Königliche Historische Museum, Dresden.
” Musée d’Artillerie, Paris.
” Königliche Zeughaus, Berlin.
” Sammlungen des Germanischen Museum, Nuremburg.
” Guida Officiale della Reale Armeria di Torino (Turin).
” Porte de Hal Collection, Brussels.
” National Museum, Munich.
” The Wallace Collection, London.
” The Armouries of the Tower of London.
Caxton’s Book of the Order of Chyvalry and Knyghthode.
Chastelain’s Chronique de Jacques de Lalain.
Chaucer’s Knight’s Tale.
Chronicle of Tours.
Chronicles of: William of Malmesbury. Wace. William of Newbury.
Roger of Hoveden. William Fitzstephen. Matthew Paris. Robert
of Gloucester. Matthew of Westminster. Père Daniel. Trivet.
Thomas of Walsingham. Jocelin of Brakelond. Hardyng.
Monstrelet. Jean le Févre de S. Remi. Hist. de Charles VI. de
Flandres. de Charlemagne (in the Burgundian Library at
Brussels).
Clark’s History of Knighthood.
Clephan, R.
The Defensive Armour, Weapons and
Coltman.
Engines of War of Mediæval Times
and of the “Renaissance.” 1900.

The Wallace Collection of Arms and


Armour. Published by the Verein für
Historische Waffenkunde, Dresden.

Armour Notes: With some Account of


the Tournament. Proceedings of the
Society of Antiquaries of Newcastle,
1915.
Conquêtes de Charlemagne. A MS. in the National Library, Paris.
Cottonian MSS.
Coucy, Matthieu de. Histoire de Charles VII.

Ducange. Glossarium.
Dugdale’s Origines Juridiciales.
Du Guesclin, Bertrand, La Vie de.

Eglington Tournament. The Tournament at Eglington, by James


Aikman, 1839.
” ” The Grand Tournament, by James Bulkeley.
1840.
Ehrenpforte.
Excerpta Historica.

Favine. Honour and Knighthood. 1553.


ffoulkes, Charles. The Armourer and his Craft.
Freydal. Querin von Leitner.
Late Fifteenth Century Illustrated Edition. In British
Froissart’s
Museum. Harl. MS. 4379.
” Chronicles.

Gay. Glossaire Archéologique.


Gurlitt. Deutsche Turniere, etc. Dresden. 1889.

Hall’s Chronicles.
Harleian MSS.
” Miscellany.
Hefner’s Tractenbuch.
Hewitt’s Ancient Armour and Weapons.
Histoire Des Ducs de Bourgogne. Barante.
” de Bretagne.
Hohenzollern Jahrbücher.
Holinshed’s Chronicles.

Jusserand. Les Sports.


Juvenal Des Ursin. Histoire de Charles VI.

La Colombière. Théâtre d’Hon and de Chevalerie.


Lacroix. Military and Religious Life in the Middle Ages and
Renaissance.
Leber. Collection des Traités, etc.
Leland’s Collectanea.
Lingard’s History of England to the Accession of William and Mary.
Livre Des Faicts Jean Le Maingre, Maréschal de France, Dit
Boucicaut.
Lombarde. Perambulations of Kent.

MSS. in Herald’s College, London.


Mémoires. Olivier De La Marche.
” Philippe De Comines.
Mémoires. Le Bon Chevalier Seigneur De Bayart (Bayard).
” Le Sire de Heynin. Société des Bibliophiles Belges. Mons.
1842.
Ménestrier. Traité des Tournois, Justs, Carrousels, etc. Lyons. 1669.
Meyrick. A Critical Enquiry into Antient Armor. 1824.
Montesquieu. Esprit de lois. 28th Book.

Nouvelle Collection Des Mémoires pour servir A L’Histoire De France.


Nugae Antiquae. Park. 1769.

Œuvres du Roi René. Angers. 1845. Edited by M. Paulin-Paris.


Origines Des Chevaliers, Armoiries et Heravx. Par Claude Favchet.

Pisan, Christine de. Le Livre Des Fais et Bonnes Meurs Du Sage Roy
Charles.
Pluvinal, De. Maneige Royal.
Pollock and Maitland. History of English Law.

Roll of Purchases for the Tournament at Windsor Park in 1278. MS.


in the Record Office.
Romances. Romances. Roman de Rou.
” Richard Cœur de Lion.
” Sir Ferumbras.
” Du Roy Miliadus.
” D’Alexandre.
” Pétit Jehan de Saintré. Par Antoine de la Sale. 1459.
Of Three King’s Sons. Circa 1500. Harl. MS. 326, fol.

113.
Rous’ Life of the Earl of Warwick. Cott. MS., Julius, E. IV.
Rymer’s Foedera.

Sächsischen Kurfürsten Turnierbücher. Erich Haenel.


Sainte Maria, Honoré de. Des Ordres de Chevalerie.
Schwenkh, Hans. Wappenmeisterbuch, picturing the Jousts of Duke
William of Bavaria.
Spelman’s Glossary.
St. Denys, La moine de. Histoire de Charles VI.
St. Palaye. Mémoires sur L’Ancienne Chevalerie.
Statuta de Armis or Statutum Armorum in Torniamentis. Bodleian
Library.
Stothard’s Effigies.
Strutt’s Sports and Pastimes of the English People.
” Horda Angel-cynnan.
” Regal Antiquities.

Tapestry, The, at Valenciennes.


Testamenta Vetusta.
Theuerdank.
Tourney Book of the Pole Zuganoviez Stanislaus. At Dresden.
Tourney Books. Of the Electors of Saxony. At Dresden.
Tourney Books. Johanns des Beständigen.
” ” Johan Frederiks des Groszmüthiges.
” ” August.
” ” That at Veste Coburg.
Traicte de la forme et Devis d’ung Tournoi
(The Tourney Book of King René d’Anjou).
Traité de Tournois. Par Louis de Bruges.
Triumph of Maximilian.
Turnierbuch in the possession of the Prince of Hohenzollern-
Sigmaringen.
Turnierbuch of Duke Henry of Braunschweig-Lüneburg.

Vetusta Monumenta. Vol. I. Published by the Society of Antiquaries,


London.
Viollet-le-Duc. Dictionnaire Raisonné du Mobilier Français.

Weisskönig.

Zeitschrift für Historische Waffenkunde. Dresden.

THE TOURNAMENT
CHAPTER I

I
is impossible to trace the beginnings of these martial exercises,
t
mention of which first appears in history in chronicles of the
eleventh century; but they doubtless grew out of earlier forms of
the rough games and sports engaged in by the noble youth of the
period as practice for actual warfare.
Du Cange in his Glossarium, under the heading “Torneamentum,”
cites Roger de Hoveden, who defines tournaments as being military
exercises carried out in a spirit of comradeship, being practice for
war and a display of personal prowess.[3] Their chief distinction from
other exercises of a kindred nature lies in the fact that they were
actual contests on horseback, carried out within certain limitations,
of many cavaliers who divided themselves into contending troops or
parties, which fought against each other like opposing armies.
Mention of rules for observance in the conducting of these
martial games is made by more than one chronicler of the period as
having been framed in the year 1066, by a French Seigneur, Geoffroi
de Preuilli of Anjou, and it is stated that he had invented them and
even been killed in one of them;[4] and the very names
“tourneamentum” and “tournoi” would imply a French origin. These
designations would seem to have been derived from “tournier,” to
wheel round; though Claude Fauchet, writing in the last quarter of
the sixteenth century,[5] expresses the opinion that the word
“tournoi” came about from the cavaliers running par tour, that is by
turns at the quintain: “fut premièrement appellé Tournoy pource que
les Cheualiers ŷ coururent par tour; rompans premièrement leur bois
et lances contre vne Quintaine....”
Military games of a similar nature are often stated to have been
practised in Germany earlier than this, and Favine in Theatre of
Honour and Knighthood[6] prints a list of rules and ordinances for
observance at a “tournament” to be held at Magdeburg, as having
been issued by the Emperor of Germany Henry I, surnamed the
Fowler, 876-936, a century and a half earlier than the date of the
promulgation of the rules of Pruilli. The German text, however, bears
the impress of a later period than early in the tenth century, and this
view is expressed by Claude Fauchet, who gives the rules, which are
curious enough for insertion here; and he mentions the authority
from which Favine drew his statement.[7]
“Sebastien Munster au troisiesme liure de sa
Geografie, certifie que Henry premier de ce nom viuant
enuiron l’an VCCCCXXXVI fit publier vn Tournoy, pour
tenir en la ville de Magdebourg qui est en Saxe, lequel
fut le premier, & tenu l’an VCCCCXXXVIII. Le mesme
Munster recite douze articles de loix de Tournoy:—
1. Qui fera quelque chose contre la Foy.
2. Qui aura fait quelque chose contre le sacré
Empire, et la Cesarce Majesté.
3. Qui aura trahy son Seigneur, ou sans cause
iceluy delaisse fuyant en vne bataille: tué, ou
meurdry ces compagnons.
4. Qui aura outragé fille, ou femme, de fait ou de
parolles.
5. Qui aura falcifié vn seel, ou fait vn faux
serment. Qui aura esté declaré infame, &
tenu pour tel.
6. Qui en repost (c’est secrettement & en
cachette) aura meurdry sa femme. Qui d’aide
ou de conseil, aura cósenty la mort de son
Seigneur.
7. Qui aura pillé les Eglises, femmes vefues, ou
orphelins: ou retenu ce qui leur appartenoit.
8. Qui avant esté offensé par aucun, ne le
poursuit par guerre, ou en Iustice; ains
secrettement & par feu ou rapines. Qui gaste
les bledz & vignes dont le public est
substanté.
9. Qui mettra nouuelles impositions sans le sceu
de l’Empereur: ou ie croy qu’il entéd parler
d’vn Seigneur qui surchargera sa terre.
10. Qui aura cómis adultere, ou rauy vierges &
pucelles.
11. Qui fait marchandise pour reuendre.
12. Qui ne pourra prouuer sa race de quatre
grands peres, soit battu & chassé du
Tournoy.”
Jousts and Tournaments were classed under the heading of
Hastiludia or spear-play: as also was the behourd or buhurt,
Bohordicum in Mediæval Latin,[8] a military exercise of a similar
nature; though in what respect it differed from the joust or
tournament is nowhere stated. That it was an exercise with lance
and shield is clearly shown in a passage in Concilium Albiense.[9]
That the behourd was practised continuously for long after the
introduction of the joust and tournament is known by the fact of the
issue of royal edicts for the prohibition of these exercises, as late as
the reign of King Edward I.[10]
The origin of the joust does not appear to be less ancient than
that of the tourney itself,[11] which it gradually almost supplanted;
and it may have been suggested by the quintain. William of
Malmesbury thus defines it:—Justa, jouste. Monomachia ludicra,
hastiludium singulare.[12] The Bayeux tapestry shows a kind of
combat with spears.
The terms “tourney” and “joust” are often confounded with each
other, but they are sharply different, the former being a battle in
miniature, an armed contest of courtesy on horseback, troop against
troop; while the other is a single combat of mounted cavaliers, run
with lances in the lists; though jousting was by no means confined
to these enclosures; indeed, such contests were sometimes run in
the open street or square of a town. Jousts were often included with
the tourney, though frequently held independently; and as the lance
was the weapon of the former so was the sword greatly that of the
latter. The lance was to be directed at the body only, otherwise it
was considered foul play. The joust more especially was run in
honour of ladies. These martial games were much practised in all the
countries of chivalry.
The chroniclers are vague in their definitions of the Round Table
game, the Tabula Rotunda, or as Matthew Paris calls it “Mensa
Rotunda.”[13] He expressly distinguishes it from the tournament,
though in what respect it differs from it he does not enlighten us. He
describes a tabula rotunda, held at the Abbey of Wallenden in the
year 1252, which was attended by a great number of cavaliers, both
English and foreign, and states that on the fourth day of the meeting
a knight named Arnold de Montigney was pierced in the throat by a
lance “which had not been blunted as it ought to have been.” The
lance-head remained in the wound and death soon followed. We see
from this incident that already in the middle of the thirteenth century
it was customary to joust with blunted or rebated lances! In 1279 (8
Ed. I) a Round Table was held by Roger Earl of Mortimer, at his
castle of Kenilworth, which is thus described in Historia Prioratus de
Wigmore[14]:—“He (Mortimer) invited a hundred knights and as
many ladies to an hastilude at Kenilworth, which he celebrated for
three days at a vast expense. Then he began the round table; and
the golden lion, the prize for the triumphant knight, was awarded to
him.” Dugdale states that the reason for the institution itself was to
assert the principle of equality and to avoid questions of precedence
among the knights.
In some “Observations on the Institution of the Most Noble Order
of the Garter,” printed in Archæologia of the year 1846,[15] it is
stated that in 1343, King Edward III in imitation of King Arthur, the
traditional founder of British Chivalry, bent on reviving the fabled
glories of a by-gone age, determined to hold a Round Table at
Windsor on the 19th of January, 1344. The intended meeting was
proclaimed by heralds of the king, in France, Scotland, Burgundy,
Hainault, Flanders, Brabant, and in the German Empire, offering
safe-conducts to all foreign knights and esquires wishful to take part
in it.[16] King Edward fixed the number of the tenans at forty,
enrolling the bravest in the land; and he appointed that a “Feast”
should be kept from year to year at Windsor on every following St.
George’s Day. Walsingham, writing about half a century after
Froissart, states that in 1344 the King began to build a house in
Windsor Park, which should be called the “Round Table”; that it was
circular in form, and 200 feet in diameter. It is also stated that a
circular table, made of wood, was constructed at Windsor sometime
before 1356; and that the Prior of Merton was paid L26-13-4 for 52
oaks, taken from his woods near Reading, for the material.[17]
Walsingham relates that Philip of France, jealous of the fame of our
king, had a table made on the Windsor model.
Matthew of Westminster chronicles that a round table was held in
1352, which had a fatal ending.
There is an actual round table of ancient provenance hanging on
the eastern wall of the hall of the royal palace at Winchester, the
reputed “painted table of Arthur,” and there are some remarks
concerning it in the Winchester volume of the Archæological
Institute, 1846, telling all that is known concerning it. The hall itself
may have been standing in the reign of Henry III; and in the
sixteenth century, and probably long before, a round table was an
appendage to it; but as to the approximate date of its make there is
no reliable evidence. The earliest historic reference to the table is by
Hardyng, late in the reign of Henry VI or early in that of Edward IV,
who alludes to it as “hanging yet” at Winchester; and Paulus Jovius
tells us that the table was shown to the emperor Charles V in 1520,
when it had been newly painted for the “last” time, but that the
marginal names had been restored unskilfully. In the reign of Henry
VIII a sum of L66-16-11 was expended in repairing the “aula regis
infra castrum de Wynchestre, et le Round tabyll ibidem.” John Lesley,
bishop of Ross, said that he saw the table not long before 1578, and
that the names of the knights were inscribed on its circumference;
and a Spanish writer, who was present at the marriage of Philip and
Mary, thus describes the painting on the table:—
“Lors du mariage de Philip II. avec la reine Marie,
on montrait encore à Hunscrit la table ronde fabriquée
par Merlin: elle se composait de 25 compartemens
teintés en blank et en vert, lesquels se terminaient en
pointe au milieu, et allaient s’elargissant jusqu’à la
circonférence, et dans chaque division étaient écrits le
nom du cavalier et celui du roi. L’un de ces
compartemens appelé place de Judas, ou siége
périlleux, restait toujours vide.”
The forms of the lettering and general decoration of the table
point to a date in the reign of Henry VII or early in that of Henry
VIII, but this, of course, only applies to the painted enrichment.
Whatever may be the date of this table and its painting, they are
both undoubtedly of considerable antiquity, probably from five to six
centuries old.
The fête d’armes held by Boucicaut at St. Ingelbert in 1389
(which is described in Chapter III), is called in the account of the
meeting a “table-ronde”; and the text would imply that the holding
of a round table meant a hastilude at which the challengers or
tenans kept open house to all comers, as well as meeting them in
combat in the lists; and the institution is thus coupled with the
banquet. The passage runs:—
“Ainsi feit là son appareil moult grandement et très-
honnorablement messire Boucicaut, et feit faire
provisions de très-bon vins, et de tous vivres
largement, et à plain, et de tout ce qu’il convient si
plantureusement comme ‘pour tenir table rond à tout
venans’ tout le dict temps durant, et tout aux propres
despens de Boucicaut.”[18]
The same lavish hospitality was extended here as at Kenilworth
in 1279, Windsor in 1344.
It is clear from various records that the tenans at a round table
of the thirteenth and fourteenth centuries sometimes fought under
the names of King Arthur’s knights, indeed, “Sir Galehos” appears
among the names of the knights inscribed on the actual round table
at Winchester; and they also sometimes adopted the names of other
legendary heroes, for at a round table held at Valenciennes in 1344,
at which the prize was a peacock, victory was achieved by a band of
cavaliers which fought under the names of King Alexander’s knights.
[19] The accounts given of King Edward’s tournament at Windsor,
and that of the later Boucicaut’s pas d’armes, both of which are
called round tables, may be said to define sufficiently what a “Round
Table” of the fourteenth century really was; and we fail to find any
material difference from other meetings of the kind and period.
Favine in Theatre of Honour and Knighthood[20] refers to
“Hastiludia Rotunda” as being practice for cavaliers “to sit well their
horses, to keepe themselues fast in their saddles and stirups. For, if
any man fell, and his Horse upon him, at these encounterings with
their lances, lightly worse did befall him before he could any way get
forth of the Preasse. But others came to heauior fortune, their liues
expyring in the place, being trod and trampled on by others”—but all
this would apply to the ordinary mêlée. This form of tourney was
much in favour during the thirteenth and fourteenth centuries, but
we hear no more of round tables after that.
The Quintain (quintana) and Running at the Ring (Ringelrennen,
Corso all’ Annello) were closely allied with the joust, and were
practised in preparation for it; the chief objects for attainment in the
former being a correct aim, to remain steady in the saddle after
impact with the figure, and deftly to get rid of the stump of the
broken lance. The quintain was a more ancient game than the joust,
and indeed, not improbably, it gave rise to it; and being free from
the risk of personal danger, was a sport and pastime of the people.
The game assumed many forms, though it was chiefly a means of
practice with the lance, sword, baston and battle-axe, indulged in by
the young aspirants for knighthood as well as by the citizens and
yeomanry. The original quintain was merely a post set up, against
which the strokes were directed or against a shield hanging from it,
with the same object in view. Later, the post developed into a
human figure, usually fashioned as a Turk or Saracen, who held a
wooden sword in his hand. The objective of the lance was the space
between the eyes; and the figure was placed on a pivot, and so
constructed that a misdirected stroke, that is a hit too much on one
side or the other, would cause it to spin round with great velocity,
dealing the tyro a smart blow with the sword. Another form was a
bag of sand, from which the clumsy operator was apt to receive a
buffet as it swung round or to have the contents expended over his
horse and person; and there were other similar varieties of the
game. The water quintain was practised from a boat, rapidly
propelled by rowers; while the player stood at the bow, his lance
couched and directed towards a shield, hung from a post standing in
the water. The quintain continued to be a popular game right
through the seventeenth century, and could be played on foot as
well as on horseback. A picture of a quintain is given on a miniature
in the Chroniques de Charlemagne, in the Burgundian Library at
Brussels, and is reproduced by Lacroix in Military and Religious Life
in the Middle Ages and Renaissance.
Running or Tilting at the Ring was merely a later form of the
quintain. An upright shaft or post was holed at intervals for the
reception of a rounded bar, socketed into it at right-angles, from
which hung the ring placed on a level with the player’s eye; and the
horseman, couching his lance, rode towards it at full gallop with the
object of transfixing it. When fairly hit the ring became detached by
the action of side springs and remained on the head of the lance.
Pluvinal gives particulars of the game as practised at the beginning
of the seventeenth century; it was much in vogue at the court of
Louis XIV. For running at the ring the lance was much shorter than
that employed in jousting, its length was 10 ft. 7 in. and weight 7
lbs. There is a specimen at Dresden, tipped with a cone to hold the
ring when hit, and there is naturally no vamplate. It will be realised
what excellent practice these sports afforded for the joust and
tourney. Both games are described in Strutt’s Sports and Pastimes.
MS., Ashmole 837, fol. 185, furnishes an instance of the game:—
“These persons here vnderwrytten / beinge one the
kinges parte the playntyff / And the other wt therle of
Rutland defendant / dyd Run at ye Rynge iiij course
every man / at wch tyme none toke the Ryng but only
Mr hayward / and Mr Constable beinge wt the
defendant / whome are apoynted when yt shall please
his grace / for them to Rune agayne / he wch shall
take the Ring furst shall have the prysse /
wt the kynges matie wt therle of Rutland
the lord marques of Northampton the lord Fyzewater
therle of Worcester the lord hastynges
therle of wormewood the lord chevers (?Chandos)
the lord admyrall Sr Ambrows Dudley
the lord lyle Sr jorge hayward
the lord Strange Mr norrys
Sr thomas Wroughton Sr William Stafford
Mr Barnaby Sr Anthony Sturley
Mr throughmorton Mr Pownynge
harry nevell Mr Clement paston
Sr harry gates Sr William Cobham
Sr harry Sydney Mr Constable
Mr Chetewood Mr payne (?prynne)
Mr phylpott Mr. warcope
This beinge done came VI one ether partye to the
tourney whose names are hereafter named
The Kynges syd Therle of Rutland
therle of Worcester lord Fyzewater
the lord lysseley Sr Ambrows Dudley
Mr harry nevell Sr George hayward
Mr Sydney Mr pownynges
Sr thomas wroughton Mr paston
Sr harry gates Mr payne (?prynne).”
Probably written by Sir Gilbert Dethick, Garter King of Arms.
Judicial Combats are also properly classed under the general
heading of the Tournament, and these duels, on foot and on
horseback, were fought greatly subject to its rules and regulations.
An account of this singular institution follows after the tournament
proper.
CHAPTER II

J
of Peace, Hastiludia pacifica, were those of sport, military
ousts
exercises and courtesy; while Jousts of War, Joûtes à Outrance, or
as Froissart calls them “Justes Mortelles et à Champ,” were
combats to the death, though subjected to the intervention of the
umpire at any stage, by the casting of his bâton, by which a serious
wounding or death was often prevented. The term “à outrance,”
however, was used not infrequently in Chapitres d’Armes or articles
of combat where no fatal ending was in contemplation; they were
encounters of courtesy in fact, though contests in which battle-axes,
sharp swords and pointed lances were employed.
The chroniclers of the joust and tournament of the earlier
centuries exhibit a lack of technical knowledge, and the terms they
employ are often mixed and conflicting; and, indeed, this confusion
continues throughout later centuries also, to an extent making any
exact definition of terms extremely difficult.
Whatever information we possess regarding tournaments of the
twelfth and thirteenth centuries is greatly derived from the Mediæval
Latin chronicles of the Anglo-Norman monks; but the material they
furnish requires to be used with discretion, owing to the frequent
unhappy blending of fact and legend, a lack of professional
knowledge, and a way of reporting things of half a century or more
ago in harmony with the environment of the time of writing. Among
the chroniclers of the tournament of the period we are immediately
dealing with, are William of Malmesbury, whose History of the Kings
of England finishes at the year 1142; Wace, who wrote the Roman
de Rou, on Rollo and the succeeding Dukes of Normandy, in 1160;
William of Newbury, 1197; Roger of Hoveden, 1201.[21] William
Fitzstephen was an eye-witness of the events he relates; the prolific
and illuminating Matthew Paris, 1259; Robert of Gloucester, who died
in 1290; and Matthew of Westminster, 1307.
Much information concerning the body-armour of the twelfth and
thirteenth centuries has been derived from seals, and particularly
from those of the kings of England; also from illuminations in
chronicles, representations on tapestry and carvings in ivory. Military
effigies and brasses have also proved of immense value, for they
enable us to fill in many of the gaps left in the recitals of chroniclers,
and afford precise information as to the knightly equipment for
battle, as far as least as the presence of the surcoat will permit. We
have, indeed, been favoured among the nations in the preservation
of so many of these monuments. There are but few brasses of the
thirteenth century existing, though effigies are very numerous. Sad it
is that so many of these priceless memorials have been lost or
thoughtlessly mutilated; but their very important bearing upon
history was but faintly recognised much before the nineteenth
century began. Many of them had been thrown on the rubbish heap
to make way for some trivial and often mischievous alteration, or
lost when some of our finest churches were spoilt by what is so
often miscalled restoration; and many even of the effigies left to us
have been exposed to a process of tinkering by thoughtless hands.
Not a detail is missing on many of those monuments that remain,
and even colours are indicated.
William of Newbury states that tournaments first appear in
England in the troubled reign of King Stephen, 1135-1154; and that
they were introduced from France by the Norman nobles is clear
from the expressions employed by Matthew Paris concerning them,
viz.: “Conflictus Gallicus” and “batailles francaises.” Lombarde[22]
states that “the kings of this realm before King Stephen, would not
suffer it to be frequented within their land; so that, such as for
exercise in that feate in armes, were driven to passe over the seas,
and to performe in some different place in a foreigne countrie: but
afterwards King Stephen in his time allowed it.”[23] It was the
Norman knights who introduced the employment and couching of
the lance in England. Of that age we have the remarkable
description of the martial sports of London by William Fitzstephen.
He tells us ‘that every Sunday in Lent, immediately after dinner it
was customary for great crowds of Londoners, mounted on war-
horses, well trained to perform the necessary turnings and
evolutions, to ride into the fields in distinct bands, armed “hastilibus
ferro dempto,” with shields and headless lances; where they
exhibited representations of battle, and went through a variety of
warlike exercises: at the same time many of the young noblemen
who had not received the honour of knighthood, came from the
King’s court, and from the houses of the great barons, to make a
trial of their skill in arms; the hope of victory animating their minds.
The youth being divided into opposite companies, encountered one
another; in one place they fled, and others pursued, without being
able to overtake them; in another place one of the bands overtook
and over-turned the other.’
Robert of Gloucester, in his Chronicle in verse, which ends shortly
before the accession of King Edward I, writes concerning William
Rufus:—

“Stalwarde he was & hardy & god knyght, thorn al thyng


In batayle & in ‘tornemnes’ er than he were Kyng.”[24]

but this of course has not the value of contemporary history.


The knight-errant of the twelfth century and even later often
spent the evening of his days as an anchorite, undergoing many self-
imposed penances, fastings and flagellations in expiation of many
acts of violence and even oppression of his active career.
The tournaments of the twelfth and thirteenth centuries were
characterized by all the romantic fire of knight-errantry, though they
were often rough and disorderly, and not infrequently degenerated
into real battles or free fights, in which many of the combatants
were seriously injured or killed. At the meeting held at Neuss, near
Cologne, in 1240, sixty of the combatants are stated to have been
killed. In England an Earl of Salisbury died from his hurts; his
grandson, Sir William Montague, was killed when jousting with his
own father; and many prominent knights and nobles were so injured
in the tourney that they never regained their health. Tournaments
generally tended to become milder as rules, regulations and
limitations were enacted for their government; but it was not before
the reign of King Edward I that they were brought under any regular
disciplined system of control.
After the reign of King Stephen these martial exercises often
came under the ban of both church and state, the former even going
to the length of excommunication and the refusal of Christian burial
to the fallen. Pope Gregory issued a bull against them in 1228, and
there were other bulls.[25] King Henry II discouraged them and
issued edicts against them; and we are told by William of Newbury
that many young cavaliers travelled from England to enjoy their
favourite pastime in other lands, especially France. Tournaments
were revived in England, says Jocelin of Brakelond,[26] after the
return of the heroic Richard from the Holy Land, who granted
licences for holding them; and from this time forward unlicensed
tourneying was treated as an offence against the crown. Roger de
Hoveden writes in Annals, under the year 1194 (in translation):
—“King Richard ordered tournaments to be held in England, which
he confirmed by charter; but that all wishing to tourney should pay
for the privilege according to rank—viz., an earl, 20 marks of silver; a
baron, 10 marks; a knight, holding land, 4 marks; and any who were
landless, 2 marks; and no knight was permitted to enter any lists
without first having paid his fee.” The charter of this grant was
delivered into the custody of William, Earl of Salisbury; and Hubert
Fitz-Walter, the king’s chief-justice, appointed his brother, Theobald
Fitz-Walter, to be collector.
Hoc ett Breve, Dni Regis Ricardi I. missum Dno
Cantuariensi, de concessione Torneamentorum in
Anglia.
Heac est forma Pacis fervandae a Torneatoribus
(Harl. MS. 237).[27]
Tournaments became controlled by royal ordinances, and any
infraction of the rules laid down was punishable with the forfeiture of
horse and armour, imprisonment and other penalties; though at
times the regulations would seem to have been very loosely
interpreted or entirely disregarded. This assumption of control by the
state had been brought about by various causes quite apart from the
frequently disorderly nature of the meetings, and the large number
of casualties involved; though these were the ostensible reasons
often given for the interdiction of all unauthorized gatherings of the
kind. Much, however, depended on the character and temperament
of the reigning monarch, and the condition of order or otherwise
prevailing in the country at the time. At tournaments, whether held
by royal licence or not, the combatants were divided into two camps
or parties; and they gathered together large concourses of
spectators, who were too apt to become strong and eager partisans,
as we see at the football games of to-day; the unpopular side being
sometimes assailed with volleys of stones, some discharged from
slings. These meetings were thus frequently looked upon with
disfavour by the powers that be, and were either entirely prohibited,
or licences were refused in troublous times; for the assemblage of so
many influential knights and powerful barons with their feudatories,
coming from all parts of the kingdom, constituted a danger to the
state in affording opportunities for cabals, sedition and other
disorders, and, indeed, tumults frequently occurred. Tournaments
were very popular in France during the reign of Philip Augustus; and
Père Daniel relates an incident of that reign affording a striking
example of the large gatherings that assembled. An unexpected
attack having been made on the town of Alençon, the king was
enabled to enrol a sufficient force at a tournament being held in the
neighbourhood at the time to repel it. Jousting was not much
practised in France at that time or during the thirteenth century, the
cavaliers of that country preferring the mêlée.
In the year 1196 King Philip Augustus “sent vnto King Richard,
requiring him to appoint fiue champions, and he would appoint other
fiue for his part, which might fight in listes, for triall of all matters in
controusee betwixt them, so to avoid the shedding of more
guiltlesse bloud. King Richard accepted the offer, with the proviso
that either King might be of the number, that is the French King one
of the fiue vpon the French part; and King Richard one of the fiue
vpon the English part. But this condition would not be granted.”[28]
In the year 1250 “was a great tornie and iusts holden at Brackley,
when the earle of Gloucester (contrarie to his accustomed manner)
fauoured the part of the strangers, whereby they prevailed. In so
much that William de Valance handled one Sir William de
Odingesselles verie roughlie, the same Sir William being a right
worthy knight.”[29]
In 1251 King Henry III forbad the holding of a round table[30]
and many examples of such prohibitions are given in Foedera. Yet,
meetings of the kind were often held in England in spite of them, for
the young cavaliers, imbued with the chivalrous spirit of the age,
declined being balked of their favourite pastime and were willing to
run some risks for its gratification. In the reign of Henry III the king
admonishes his subjects “to offend not by tourneying,” and, “by the
advice of parliament enacted, that all who (without leave) should
keep a tournament, should forfeit their estates, and their children to
be disinherited.”[31] As late as the reign of King Edward II an edict
was issued against the practice, the ordinance running “Turneare,
burdeare, justas facere, aventuras quaerere.”[32] Prohibitions against
tournaments were issued in the years 1220, 1234, 1255 and 1299.
In normal times, however, they were often encouraged by the
crown, and were presided over, and even taken part in, by kings and
princes. Matthew of Westminster states that it was customary for
newly made knights to pass over to the Continent to show their
mettle by feats of arms; and that King Henry III knighted eighty
gentlemen on one occasion, who all went abroad, accompanied by
Prince Edward, to take part in tournaments.
In the early days of tournaments there were only five authorized
lists (champs clos) in England, and they were all south of the Trent.
At a later period these enclosures were usually placed in the
neighbourhood of a large town where there was a hall spacious
enough for the banquet and the dance; the size of the lists being
regulated by the number of cavaliers expected to take part. Those of
the twelfth century were open at the sides, a barrier standing at
each end; later they were made quadrangular in shape, longer than
broad by one-fourth. They were enclosed by a double row of
palisading, high enough to make it impossible for a horse to leap
over; the space between the rows affording a place of refuge for the
varlets (ephebi) and attendants. The rôle of the varlets was to rush
in and steady their masters in the saddle, when swaying after their
careers; and, when unhorsed, to extricate and drag them, as
opportunity offered, out of the press or from among the horse’s
hoofs in the mêlée; for they were unable to help themselves in their
heavy armour. This duty was both difficult and dangerous, but they
had to manage as best they could. Openings were left at either end
of the lists for entrance and exit, and movable barriers were
provided for closing them when required. A thick covering of sand
was strewn on the ground, or it was well mulched with tanning
refuse so as to provide a soft bed for breaking the force of the fall of
a cavalier when unseated. The lists were gaily decorated with
tapestry, bunting and heraldic devices; a tribune for the umpire or
judge, and benches for the spectators, were provided; as well as
special galleries for the ladies, which were often adorned with gold
and silver embroideries. Two pavilions were pitched for the use of
the leaders, which were removed before the commencement of the
tourney. The scene presented by a tournament must have been
brilliant in the extreme; and the element of danger involved would
add greatly to the interest and excitement of the spectators.
Permanent lists were often surrounded by a ditch or moat. The
marshals of the lists, kings of arms, heralds and pursuivants-at-arms
were stationed within the enclosure to note the various incidents
taking place among the combatants; and it was the duty of the first-
named to see that the rules of chivalry and general regulations were
strictly observed. Trumpets announced the entry of each competitor,
who was followed into the lists by his esquires; and flourishes of
music were heard at intervals to animate the combatants, and to
mark special feats of gallantry. Each knight usually bore on his
person some token of his lady-love, which was disposed on his
helmet, lance or shield. The armour and horses of the vanquished
fell as spoil to the victors, unless ransomed by payment in money;
this, however, was the case only in contests of courtesy. The
jousting at a tournament usually ended with “le coup ou la lance des
Dames,” a homage to the fair sex joyfully rendered.
We have seen that blunted lances were in use in 1252, but we
have not found any record of the coronal, a lance-head formed like a
flattened crown (whence the name), before very early in the
fourteenth century, when it appears on a picture in a MS. in the
British Museum.[33] Cavaliers frequently successful in the tourney
enriched themselves by the forfeiture of the horses and armour of
the vanquished.
The routine of an early tournament is described in Codex 69 of
the Harleian MS.[34] It is first proclaimed over a wide area; and on
assemblage the cavaliers, mounted on horseback, are divided into
two parties or squadrons, the challengers and the challenged. Each
troop usually varied in number from twelve to twenty, and was
headed by its own leader; the weapons were pointless swords with
rebated edges. The two bodies then take up positions at opposite
ends of the lists; the onset is sounded, “Lasseir les aler,” and they
engage in combat until the signal is given to cease fighting. Various
perquisites fall to the superintending Norroy King at Arms, and he
and the heralds are paid their expenses and six crowns of “nail
money” for affixing the cote-armour of the two leaders in front of
their pavilions. An illustration on a MS. of the thirteenth century in
the royal library[35] is reproduced in Sports and Pastimes. It pictures
the entry on horseback of the two baron-leaders into the lists,
wearing chain-mail and pointed bascinets, and with their horses
trapped; they bear no weapons. The King of Arms, in civil dress, is
standing between them holding their banners, one in each hand.
Trumpeters are seen in the background.
The presence of ladies graced the tournament, and they were
treated with great deference; the names and deeds of the successful
champions were submitted to them, and it was they who awarded
and presented the prizes. The days of combat usually closed with
the banquet and the dance. The tourney from the first was confined
to men of noble birth, though this rule was not so strictly enforced in
England as in Germany and France, where all not of the privileged
class were strictly excluded.
The first mention we have found of prizes at tournaments is in
1279, when, at the Round Table held at Kenilworth in that year, the
prize (a golden lion) was awarded to Sir Roger Mortimer; but they do
not seem to have become general until much later.
Henry III, on his marriage with Eleanor of Provence, in 1236,
held a tournament for eight successive days; and according to
Matthew Paris, there was one at Northampton in 1247, another at
Nebridge in 1248.
The tournaments held during the reign of Richard I were
frequently interdicted by the Church owing to the brutal character of
many of them; and Jocelin of Brackelond tells the story of a number
of knights who held one between Thetford and Bury St. Edmunds, in
spite of the fiat of the abbot. Another took place soon after, which
had also been prohibited; and all who had taken part in it were
excommunicated. Matthew Paris describes a tournament held at
Rochester in 1251, at which foreigners contended with English
knights. There was great bitterness at the time between some of the
nationalities owing to very rough treatment that had been
experienced by some English knights abroad; and all rules and
regulations were thrown to the winds at Rochester, the proceedings
degenerating there into a free fight. The English set upon the
foreigners with staves, beating them severely, and chased them into
the town, to which they fled for refuge. Another instance of this kind
may be cited in an account given by Matthew of Westminster of a
case in 1253, when the Earl of Gloucester and a companion took
part in a tournament abroad, at which they were so roughly handled
as to require fomentations and baths before they were in a condition
to return to England. Trivet relates a further striking example in a
case, lawless and brutal in its character, which received the name in
history “La petite Bataille de Chalòns.” Edward I, King of England,
was travelling through France in the year 1274 on his way home
from the Holy Land to take possession of the crown, when he was
invited by the Count de Chalôns to take part in a tournament to be
held in the open, near the town of Chalôns, with a certain number of
his followers. At an early stage of the contest the Count, a knight of
unusual strength, forcing his way through the mêlée attacked the
King with great vigour and impetuosity; and casting away his
weapons threw his arms around King Edward’s neck, hoping to
unhorse him. The King, however, being a tall and powerful man kept
his saddle, and at the moment of the greatest pressure cut fiercely
at his adversary, dragged him from his horse and threw him heavily
to the ground. The exasperation of the French cavaliers on seeing
their leader fall was very great, and for a time a real battle ensued,
in which the outside followers of both sides took an active part, the
English using their terrible bows: but some degree of order having
been at length restored the count surrendered to the King and
acknowledged him to be the victor. After this tournament laying
hands on an opponent was strictly forbidden. Thomas of
Walsingham also gives a spirited account of this meeting, which runs
on similar lines.[36]
At Whitsuntide in the year 1256 great jousting was held at Blei,
when the Lord Edward, afterwards King Edward I, “first began to
shew proofs of his chiualrie.” In one of these encounters “William de
Longspee was so brused that he could never after recover his former
strength.”[37]
“In the ninth year of King Edward’s reign, the feast of the round
table was kept at Warwike with great and sumptuous triumph.”[38]
The Round Table assembled at Kenilworth by Sir Roger Mortimer
has been already referred to in the section devoted to the Tabula
Rotunda, and Hardyng in his Chronicle[39] thus pictures it:

“And in the yere a thousand was full then


Two hundred also sixty and nynetene,[40]
When Sir Roger Mortimer so began
At Kelyngworth, the round table as was sene,
Of a thousand Knygts for dicipline,
Of young menne, after he could devise
Of Turnementes, and justes to exercise.

“A Thousand Ladies, excellyng in beautee


He had also there, in tentes high above
The justes, that thei might well and clerely see
Who justed beste, there for their Lady Love
For whole beautie, it should the Knightes move
In armes so eche other to revie
To get a fame in play of Chivalry.”

Hardyng died about the year 1465, nearly two centuries after the
events he narrates.
The lance, or glaive as it is often called, of the eleventh and
twelfth centuries[41] was quite straight and smooth; a vamplate was
added in the fourteenth, small at first but larger later, for the
protection of the right arm. The lance for jousting was made of soft
wood, so as to splinter easily.
A manuscript in the Record Office, transferred from the Tower
about 1855, entitled Emptiones facte per manum Adinetti Cissoris et
visu Albini & Roberti de Dorset contra Torniamentum de Parco de
Windsore, nono die Julii anno Sexto (a Roll of Purchases made for
the tournament held at Windsor Park in the year 1278), is copied in
Archæologia of the year 1814.[42] This document is of rare value in
giving particulars of the equipment of the cavaliers engaged in
tournaments of the last quarter of the thirteenth century, besides
mentioning other matters of interest. Thirty-eight cavaliers took part
in the tournament at Windsor Park, twelve of the highest rank being
styled digniores. Among these were the Earls of Cornwall,
Gloucester, Warren, Lincoln, Pembroke and Richmond;[43] and there
were several foreign knights present. Many of the cavaliers whose
names appear on the roll had been with King Edward in the Holy
Land. Both arms and armour[44] were provided for the occasion for
all the cavaliers taking part. Thirty-seven of the outfits ranged in cost
from 7s. to 25s. each; that for the Earl of Lincoln, however, was
much higher than any of the others, being 33s. 4d. The equipments
must thus have differed widely in quality and embellishment. The
armours were of leather gilt, each suit consisting of a coat-of-fence
(being a “quiretta”[45] of leather), brassards of buckram, a surcoat
(the material for the majority of these garments being carda,[46] but
those for the four earls were of cindon silk), a pair of ailettes, of
leather and carda,[47] two crests (one for the man, the other for the
horse), a shield of wood heraldically ensigned, a helm of leather, and
a sword of whalebone and parchment, silvered over. The shields of
wood cost 5d. each, without emblazonment; the swords 7d. each,
and 25s. was paid for silvering the blades, and 3s. 6d. for gilding the
hilts. The helmets for the “digniores” were gilded at an expense of
12s., the others silvered. Each helmet cost 2s., and the ailettes 8d.
the pair. Eight hundred little bells (grelots) were provided, to be used
in necklets for the horses; sixteen skins for making bridles; twelve
dozen silken cords for tying on the ailettes;[48] and seventy-six calf-
skins for making crests. The cuirasses and helmets were made by
Milo, the currier; and the cost of carriage for the whole of the sets
from London was 3s. The sum total for all these outfits provided in
England was £80 11s. 8d.; but some other purchases were made in
France, and in the list are items for saddles and horse furniture.
There is no mention of lances, and many of the items scheduled are
only open to conjecture. Sir Roger de Trumpington, whose effigy lies
in Trumpington Church, Cambridgeshire, was among those taking
part in the tournament. If one can imagine this passage of arms, its
participants armed with swords of whalebone and parchment, with
their arm-defences of buckram, it does not seem a very dangerous
affair, though a rough enough sport.
There is another document of about the same period of the
highest importance, viz. the Statuta de Armis, or Statutum Armorum
in Torniamentis. This was drawn out at the request of the earls and
barons of England and by the king’s command, and affords much
information as to the equipment for the tourney late in the
thirteenth century, the usages to be observed, and the regulations
as to the heralds, esquires, and varlets. There are several copies
extant, one of which, and that perhaps the most reliable, may be
seen in the Bodleian Library. Part of the text is reproduced by Hewitt
in his invaluable work on ancient armour,[49] and the document is
referred to in Archæologia of the year 1814.[50] These statutes
provide that:—
No “conte,” baron or other chevalier shall
henceforth be attended by more than three armed
esquires, who shall all bear the cognizance of their
master.
No knight or esquire taking part in any tournament
shall bear a pointed sword or dagger, a staff or baston,
but only a broadsword for tourneying. All should be
armed with “mustilers;”[51] “quisers;”[52]
“espaulers;”[53] and “bacyn,”[54] and no more.
If any “conte,” baron or other chevalier break any
of the rules of the tourney, he shall, with the assent
and command of the Seigneurs, Sire Edward, fiz le
Rey; Sire Eumond, frère le Rey; Sire William de
Valence; Sire Gilbt de Clare; and Cunto Nichole,[55]
lose horse and armour and be imprisoned at the
discretion of the said court of honour, and all disputes
shall be referred to it for settlement.
Any esquire to a knight breaking the regulations in
any way should lose horse and armour and be
imprisoned for three years; and none was allowed to
raise up a fallen knight but his own appointed esquire,
bearing his device. Spectators were prohibited the
wearing of armour or the carrying of arms. Etc.
May we see in the comparative mildness of these rules, and the
control exercised by the court of honour, some results of King
Edward’s own dangerous experiences at the Chalôns tournament.
It is an interesting fact that the effigies of two of the members of
this distinguished committee have been preserved, viz.: those of
Edmund Crouchback, whose sword-belt is enriched with heraldic
bearings; and William de Valance. Both are in Westminster Abbey.
The figure of the former wears the coif or hood of mail; the body is
covered by a surcoat with long sleeves and reaching nearly to the
ankles; but poleynes or knee-kops can be discerned. In the case of
the other effigy the surcoat is sleeveless and shorter than the other,
reaching down to just over the knees. Poleynes are present, but
there are no coudes. A concave triangular shield hangs by the belt.
Chain-mail; quilted stuffs, often reinforced with rings or studs of
iron, bone or horn; ordinarily dressed leather and cuir-bouilli, which
is leather boiled or beaten—were all quite capable of resisting an
ordinary sword-stroke or lance-thrust.
An effigy of the twelfth century in the Temple Church, London,
that of Geoffrey de Mandeville, Earl of Essex, dating in the year
1144, in the reign of Stephen, exhibits the knight completely
encased in mail, wearing a coif of mail of the same fabric, and over
it is the tall cylindrical, flat-topped helm. It was found, however, that
certain vital and more exposed parts of the body required further
protection, for the mail, far from presenting a glancing surface
towards the strokes and thrusts from weapons of attack rather
afforded them a lodgment. The mail therefore became gradually
reinforced over the most vulnerable places with pieces of leather or
plates of iron until a full panoply of metal plating had been attained,
a process which had not been quite completed before the first
decade of the fifteenth century. The course of transition can best be
followed by a study of brasses and effigies. The Crouchback and de
Valence effigies show us that but little progress in the direction of
plate-armour had been made up to the end of the thirteenth
century, though after that time the transition became rapid.
The usual knightly panoply was a coif of mail and beneath it a
cap of cloth, worn in battle with or sometimes without a
surmounting helm; the tunic; the gambeson or pourpoint, of quilted
cloth; the hauberk, of chain-mail; the chaussons, which covered the
upper part of the leg; the chausses, the lower; and the surcoat.
Chain-mail is probably a fabric of Eastern origin, consisting of
forged iron rings, each ring interlinked with four others. This web
must have been somewhat of a rarity even as late as the eleventh
century, and, indeed, until the process of wire-drawing had been
invented, owing to the laborious and costly nature of its
manufacture. Each ring required to be cut from a long strip of wire,
hammered-out from the solid, then interlinked, riveted, forged or
butted together. The Romans employed chain-mail, as shown by the
compressed masses which have been found, but whether it was
interlinked in the manner just described is doubtful. Hauberks of
quilted stuffs, reinforced with rings or studs of iron, bone or horn,
were much in use; and so were those of ordinarily dressed leather;
or of cuir-bouilli, which is leather prepared by boiling and beating. All
these defences were quite capable of resisting an ordinary sword-
stroke or lance-thrust.
The arming of the horse with a bard of chain-mail or its
substitutes did not take place before the third quarter of the
thirteenth century; the trapper came into use somewhat earlier,
though probably not painted or embroidered with heraldic bearings
before the reign of Edward I.

You might also like