ebook img

Vb Net-Sybex-Mastering Visual Basic Net PDF

1210 Pages·2016·18.02 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Vb Net-Sybex-Mastering Visual Basic Net

2877c00.qxd 11/11/01 4:13 PM Page iii Mastering ™ Visual Basic® .NET Evangelos Petroutsos San Francisco London 2877c00.qxd 11/12/01 2:55 PM Page iv Associate Publisher: Richard Mills Acquisitions Editor: Denise Santoro Lincoln Developmental Editor: Tom Cirtin Editors: Pete Gaughan, Linda Recktenwald Production Editor: Kylie Johnston Technical Editors: Jesse Patterson, Greg Guntle Book Designer: Maureen Forys, Happenstance Type-O-Rama Graphic Illustrator: Tony Jonick Electronic Publishing Specialist: Maureen Forys, Happenstance Type-O-Rama Proofreaders: Nanette Duffy, Amey Garber, Dave Nash, Laurie O’Connell, Yariv Rabinovitch, Nancy Riddiough Indexer: Ted Laux CD Coordinator: Christine Detlefs CD Technician: Keith McNeil Cover Designer: Design Site Cover Illustrator/Photographer: Sergie Loobkoff Copyright © 2002 SYBEX Inc., 1151 Marina Village Parkway, Alameda, CA 94501. World rights reserved. The author created reusable code in this publication expressly for reuse by readers. Sybex grants readers limited permission to reuse the code found in this publication or its accompa- nying CD-ROM so long as the author is attributed in any application containing the reusable code and the code itself is never distributed, posted online by electronic transmission, sold, or commercially exploited as a stand-alone product. Aside from this specific exception concerning reusable code, no part of this publication may be stored in a retrieval system, transmitted, or reproduced in any way, including but not limited to photo- copy, photograph, magnetic, or other record, without the prior agreement and written permission of the publisher. Library of Congress Card Number: 2001094602 ISBN: 0-7821-2877-7 SYBEX and the SYBEX logo are either registered trademarks or trademarks of SYBEX Inc. in the United States and/or other countries. Mastering is a trademark of SYBEX Inc. Screen reproductions produced with FullShot 99. FullShot 99 © 1991–1999 Inbit Incorporated. All rights reserved. FullShot is a trademark of Inbit Incorporated. The CD interface was created using Macromedia Director, COPYRIGHT 1994, 1997–2001 Macromedia Inc. For more information on Macromedia and Macromedia Director, visit www.macromedia.com. Internet screen shot(s) using Microsoft Internet Explorer reprinted by permission from Microsoft Corporation. TRADEMARKS: SYBEX has attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer. The author and publisher have made their best efforts to prepare this book, and the content is based upon final release software whenever possible. Portions of the manuscript may be based upon pre-release versions supplied by software manufacturer(s). The author and the publisher make no representation or warranties of any kind with regard to the completeness or accuracy of the contents herein and accept no liability of any kind including but not limited to performance, merchantability, fitness for any particular purpose, or any losses or damages of any kind caused or alleged to be caused directly or indirectly from this book. Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 2877c00.qxd 11/11/01 4:13 PM Page v Software License Agreement: Terms and Conditions The media and/or any online materials accompanying this book that from SYBEX in any other form or media than that enclosed herein or are available now or in the future contain programs and/or text files posted to www.sybex.com. If you discover a defect in the media during (the “Software”) to be used in connection with the book. SYBEX this warranty period, you may obtain a replacement of identical format hereby grants to you a license to use the Software, subject to the terms at no charge by sending the defective media, postage prepaid, with that follow. Your purchase, acceptance, or use of the Software will proof of purchase to: constitute your acceptance of such terms. The Software compilation is the property of SYBEX unless otherwise SYBEX Inc. indicated and is protected by copyright to SYBEX or other copyright Product Support Department owner(s) as indicated in the media files (the “Owner(s)”). You are hereby granted a single-user license to use the Software for your per- 1151 Marina Village Parkway sonal, noncommercial use only. You may not reproduce, sell, distribute, Alameda, CA 94501 publish, circulate, or commercially exploit the Software, or any portion Web: www.sybex.com thereof, without the written consent of SYBEX and the specific copy- right owner(s) of any component software included on this media. In the event that the Software or components include specific license After the 90-day period, you can obtain replacement media of identi- requirements or end-user agreements, statements of condition, dis- cal format by sending us the defective disk, proof of purchase, and a claimers, limitations or warranties (“End-User License”), those End- check or money order for $10, payable to SYBEX. User Licenses supersede the terms and conditions herein as to that particular Software component. Your purchase, acceptance, or use of the DISCLAIMER Software will constitute your acceptance of such End-User Licenses. SYBEX makes no warranty or representation, either expressed or By purchase, use or acceptance of the Software you further agree to implied, with respect to the Software or its contents, quality, per- comply with all export laws and regulations of the United States as formance, merchantability, or fitness for a particular purpose. In no such laws and regulations may exist from time to time. event will SYBEX, its distributors, or dealers be liable to you or any other party for direct, indirect, special, incidental, consequential, REUSABLECODEINTHISBOOK or other damages arising out of the use of or inability to use the Soft- ware or its contents even if advised of the possibility of such damage. The author created reusable code in this publication expressly for reuse In the event that the Software includes an online update feature, for readers. Sybex grants readers permission to reuse for any purpose SYBEX further disclaims any obligation to provide this feature for any the code found in this publication or its accompanying CD-ROM so specific duration other than the initial posting. long as the author is attributed in any application containing the reusable code, and the code itself is never sold or commercially The exclusion of implied warranties is not permitted by some states. exploited as a stand-alone product. Therefore, the above exclusion may not apply to you. This warranty provides you with specific legal rights; there may be other rights that SOFTWARESUPPORT you may have that vary from state to state. The pricing of the book with the Software by SYBEX reflects the allocation of risk and limitations Components of the supplemental Software and any offers associated on liability contained in this agreement of Terms and Conditions. with them may be supported by the specific Owner(s) of that material, but they are not supported by SYBEX. Information regarding any SHAREWAREDISTRIBUTION available support may be obtained from the Owner(s) using the information provided in the appropriate read.me files or listed else- This Software may contain various programs that are distributed as where on the media. shareware. Copyright laws apply to both shareware and ordinary commercial software, and the copyright Owner(s) retains all rights. If Should the manufacturer(s) or other Owner(s) cease to offer support you try a shareware program and continue using it, you are expected to or decline to honor any offer, SYBEX bears no responsibility. This register it. Individual programs differ on details of trial periods, regis- notice concerning support for the Software is provided for your tration, and payment. Please observe the requirements stated in information only. SYBEX is not the agent or principal of the appropriate files. Owner(s), and SYBEX is in no way responsible for providing any sup- port for the Software, nor is it liable or responsible for any support COPYPROTECTION provided, or not provided, by the Owner(s). The Software in whole or in part may or may not be copy-protected WARRANTY or encrypted. However, in all cases, reselling or redistributing these files without authorization is expressly forbidden except as specifically SYBEX warrants the enclosed media to be free of physical defects for a provided for by the Owner(s) therein. period of ninety (90) days after purchase. The Software is not available 2877c00.qxd 11/11/01 4:13 PM Page vii To my family 2877c00.qxd 11/12/01 7:39 PM Page viii Acknowledgments Many people contributed to this book, and I would like to thank them all. I guess I should start with the programmers at Microsoft, for their commitment to Visual Basic. Visual Basic has evolved from a small, limited programming environment to a first-class development tool. Special thanks to the talented people at Sybex—to all of them and to each one individually. I’ll start with editor Pete Gaughan, who has taken this book personally and improved it in numerous ways. Thanks, Pete. Thank you to developmental editor Tom Cirtin, who has followed the progress of the book, its ups and downs, and managed to coordinate the entire team. To technical editors Jesse Patterson and Greg Guntle for scrutinizing every paragraph and every line of code. To produc- tion editor Kylie Johnston, who has done more than I can guess to keep this project in order and on schedule. To designer and compositor Maureen Forys, and everyone else who added their expertise and talent. Thank you all! I’d like to thank and recognize Matt Tagliaferri for contributing Chapter 17, on exception handling. I would also like to thank Alvaro Antunes and Harry Heijkoop for their helpful remarks while they were translating earlier versions of Mastering Visual Basicinto Portuguese and Dutch, respectively. 2877c00.qxd 11/11/01 4:13 PM Page ix Contents at a Glance Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Part I• The Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1 • Getting Started with VB.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chapter 2 • Visual Basic Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Chapter 3 • Visual Basic: The Language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Chapter 4 • Writing and Using Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Chapter 5 • Working with Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Chapter 6 • Basic Windows Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Chapter 7 • More Windows Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Part II• Rolling Your Own Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Chapter 8 • Building Custom Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Chapter 9 • Building Custom Windows Controls . . . . . . . . . . . . . . . . . . . . . . . 391 Chapter 10 • Automating Microsoft Office Applications. . . . . . . . . . . . . . . . . . 433 Part III• Basic Framework Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Chapter 11 • Storing Data in Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Chapter 12 • Handling Strings, Characters, and Dates. . . . . . . . . . . . . . . . . . . . 529 Chapter 13 • Working with Folders and Files. . . . . . . . . . . . . . . . . . . . . . . . . . 569 Part IV• Intermediate Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 Chapter 14 • Drawing and Painting with Visual Basic. . . . . . . . . . . . . . . . . . . . 619 Chapter 15 • Printing with VB.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699 Chapter 16 • The TreeView and ListView Controls . . . . . . . . . . . . . . . . . . . . . 741 2877c00.qxd 11/11/01 4:13 PM Page x x CONTENTS AT A GLANCE Chapter 17 • Error Handling and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 791 Chapter 18 • Recursive Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 Chapter 19 • The Multiple Document Interface . . . . . . . . . . . . . . . . . . . . . . . . 837 Part V• Database Programming with VB.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867 Chapter 20 • Databases: Architecture and Basic Concepts . . . . . . . . . . . . . . . . . 869 Chapter 21 • Building Database Applications with ADO.NET . . . . . . . . . . . . . 925 Chapter 22 • Programming the ADO.NET Objects . . . . . . . . . . . . . . . . . . . . . 963 Part VI• VB.NET on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 Chapter 23 • Introduction to Web Programming . . . . . . . . . . . . . . . . . . . . . . . 999 Chapter 24 • Accessing Data on the Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 Chapter 25 • XML Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 2877c00.qxd 11/11/01 4:13 PM Page xxiii Introduction Welcome to .NET and Visual Basic .NET. As you already know, .NET is a name for a new strategy: a blueprint for building applications for the next decade. It’s actually even more than that. It’s Microsoft’s commitment to remain at the top of a rapidly changing world and give us the tools to address the needs of tomorrow’s computing. Visual Basic .NET is a language for creating .NET applications, like many others. It also happens that Visual Basic is the easiest to learn, most productive language (but you already know that). Visual Basic .NET is released shortly after the tenth anniversary of the first version of VB. The original language that changed the landscape of computing has lasted for 10 years and has enabled more programmers to write Windowsapplication than any other language. Programmers who invested in Visual Basic 10 years ago are in demand today. In the world of computing, how- ever, things change very fast, including languages. At some point, they either die, or they evolve into something new. Visual Basic was a language designed primarily for developing Windows applications. It was a simple language, because it managed to hide many of the low-level details of the operating system. Those who wanted to do more with Visual Basic had to resort to Win- dows API. In a way, earlier versions of Visual Basic were ‘sandboxed’ to protect developers from scary details. Microsoft had to redesign Visual Basic. The old language just didn’t belong in the .NET pic- ture (at least, it wouldn’t integrate very well into the picture). Visual Basic .NET is not VB7; it’s a drastic departure from VB6, but a necessary departure. Visual Basic .NET was designed to take us through the next decade of computing, and if you want to stay ahead, you will have to invest the time and effort to learn it. The most fundamental component of the .NET initiative is the .NET Framework, or simply the Framework. You can think of the Framework as an enormous collection of functions for just about any programming task. All drawing methods, for example, are part of the System.Drawing class. To draw a rectangle, you call the DrawRectangle method, passing the appropriate argu- ments. To create a new folder, you call the CreateDirectory method of the Directory class; to retrieve the files in a folder, you call the GetFiles method of the same object. The Framework contains all the functionality of the operating system and makes it available to your application through numerous methods. VB was such a success because it was a very simple language. You didn’t have to learn a lot before you could start using the language. Being able to access the Framework’s objects means that you’re no longer limited by the language. The new version of the language unlocks the full potential of .NET; now there’s hardly anything you can do with another language but can’t do 2877c00.qxd 11/11/01 4:13 PM Page xxiv xxiv INTRODUCTION with Visual Basic. This makes the language as powerful as any other language, but it also makes the learning curve steeper. The good news is that, if you get started today, you’ll get a head start, which may well last for another decade. Who Should Read This Book? You don’t need to know Visual Basic to read Mastering Visual Basic .NET,but you do need a basic understanding of programming. You need to know the meaning of variables and functions and how an If…Thenstructure works. This book is addressed to the typical programmer who wants to get the most out of Visual Basic. It covers the topics I feel are of use to most VB programmers, and it does so in depth. Visual Basic .NET is an extremely rich programming environment, and I’ve had to choose between superficial coverage of many topics and in-depth coverage of fewer topics. To make room for more topics, I have avoided including a lot of reference material and lengthy listings. For example, you won’t find complete project listings or Form descriptions. I assume you can draw a few controls on a Form and set their properties, and you don’t need long descriptions of the properties of the control. I’m also assuming that you don’t want to read the trivial segments of each application. Instead, the listings concentrate on the “meaty” part of the code: the procedures that explain the topic at hand. If you want to see the complete listing, it’s all on the CD. The topics covered in this book were chosen to provide a solid understanding of the principles and techniques for developing applications with Visual Basic. Programming isn’t about new key- words and functions. I chose the topics I felt every programmer should learn in order to master the language. I was also motivated by my desire to present useful, practical examples. You will not find all topics equally interesting or important. My hope is that everyone will find something interesting and something of value to their daily work—whether it’s an application that maps the folders and files of a drive to a TreeView control, an application that prints tabular data, or an application that saves a collection of objects to a file. Many books offer their readers long, numbered sequences of steps to accomplish something. Fol- lowing instructions simplifies certain tasks, but programming isn’t about following instructions. It’s about being creative; it’s about understanding principles and being able to apply the same techniques in several practical situations. And the way to creatively exploit the power of a language such as Visual Basic .NET is to understand its principles and its programming model. In many cases, I provide a detailed, step-by-step procedure that will help you accomplish a task, such as designing a menu. But not all tasks are as simple as designing menus. I explain why things must be done in a certain way, and I present alternatives and try to connect new topics to those explained earlier in the book. In several chapters, I expand on applications developed in earlier chap- ters. Associating new knowledge to something you have already mastered provides positive feedback and a deeper understanding of the language. This book isn’t about the hottest features of the language; it’s about solid programming tech- niques and practical examples. For example, I’m not going to show you how to write multithreaded applications. The real challenge with multithreaded applications is their debugging, which requires substantial experience. Once you master the basics of programming Windowsapplications with Visual Basic .NET and you feel comfortable with the more advanced examples of the book, you will find it easy to catch up with the topics that aren’t discussed.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.