Showing posts with label Published 2006. Show all posts
Showing posts with label Published 2006. Show all posts

Monday, June 11, 2007

Windows Presentation Foundation Unleashed (WPF) By Adam Nathan

Windows Presentation Foundation UnleashedTitle: Windows Presentation Foundation Unleashed (WPF)
Author: Adam Nathan
Publisher: Sams.
Series: Unleashed.
ISBN-10: 0-672-32891-7;
ISBN-13: 978-0-672-32891-6;
Published: Dec 21, 2006;
Pages: 656;
Edition: 1st.


Book Description
Printed entirely in color, with helpful figures and syntax coloring to make code samples appear as they do in Visual Studio.

Windows Presentation Foundation (WPF) is a key component of the .NET Framework 3.0, giving you the power to create richer and more compelling applications than you dreamed possible. Whether you want to develop traditional user interfaces or integrate 3D graphics, audio/video, animation, dynamic skinning, rich document support, speech recognition, or more, WPF enables you to do so in a seamless, resolution-independent manner. Windows Presentation Foundation Unleashed is the authoritative book that covers it all, in a practical and approachable fashion, authored by .NET guru and Microsoft developer Adam Nathan.




  • Covers everything you need to know about Extensible Application Markup Language (XAML)
  • Examines the WPF feature areas in incredible depth: controls, layout, resources, data binding, styling, graphics, animation, and more
  • Features a chapter on 3D graphics by Daniel Lehenbauer, lead developer responsible for WPF 3D
  • Delves into non-mainstream topics: speech, audio/video, documents, bitmap effects, and more
  • Shows how to create popular UI elements, such as features introduced in the 2007 Microsoft Office System: Galleries, ScreenTips, custom control layouts, and more
  • Demonstrates how to create sophisticated UI mechanisms, such as Visual Studio-like collapsible/dockable panes
  • Explains how to develop and deploy all types of applications, including navigation-based applications, applications hosted in a Web browser, and applications with great-looking non-rectangular windows
  • Explains how to create first-class custom controls for WPF
  • Demonstrates how to create hybrid WPF software that leverages Windows Forms, ActiveX, or other non-WPF technologies
  • Explains how to exploit new Windows Vista features in WPF applications





Table of Contents
PART I Background
1 Why Windows Presentation Foundation?
2 XAML Demystified
3 Important New Concepts in WPF


PART II Building a WPF Application
4 Introducing WPF’s Controls
5 Sizing, Positioning, and Transforming Elements
6 Layout with Panels
7 Structuring and Deploying an Application


PART III Features for Professional Developers
8 Resources
9 Data Binding
10 Styles, Templates, Skins, and Themes


PART IV Going Beyond Today’s Applications with Rich Media
11 2D Graphics
12 3D Graphics
13 Animation
14 Audio, Video, Speech, and Documents


PART V Advanced Topics
15 Interoperability with Win32, Windows Forms, and ActiveX
16 User Controls and Custom Controls
17 Layout with Custom Panels


PART VI Appendix: Helpful Tools
Index



Amazon Link: Windows Presentation Foundation Unleashed (WPF)
Sample Chapter: Important New Concepts in WPF

Sunday, April 22, 2007

JavaScript: The Definitive Guide By David Flanagan


This is the latest edition of O'Reilly's bestselling JavaScript book: JavaScript: The Definitive Guide. This is the 5th edition already and it is completely updated to include web 2.0 stuff like Ajax.


Title: JavaScript: The Definitive Guide
Fifth Edition: August 2006
Author: David Flanagan
ISBN: 0-596-10199-6
Pages: 1018

This Fifth Edition is completely revised and expanded to cover JavaScript as it is used in today's Web 2.0 applications. This book is both an example-driven programmer's guide and a keep-on-your-desk reference, with new chapters that explain everything you need to know to get the most out of JavaScript, including:

Scripted HTTP and Ajax
XML processing
Client-side graphics using the tag
Namespaces in JavaScript--essential when writing complex programs
Classes, closures, persistence, Flash, and JavaScript embedded in Java applications
Part I explains the core JavaScript language in detail. If you are new to JavaScript, it will teach you the language. If you are already a JavaScript programmer, Part I will sharpen your skills and deepen your understanding of the language.

Part II explains the scripting environment provided by web browsers, with a focus on DOM scripting with unobtrusive JavaScript. The broad and deep coverage of client-side JavaScript is illustrated with many sophisticated examples that demonstrate how to:

Generate a table of contents for an HTML document
Display DHTML animations
Automate form validation
Draw dynamic pie charts
Make HTML elements draggable
Define keyboard shortcuts for web applications
Create Ajax-enabled tool tips
Use XPath and XSLT on XML documents loaded with Ajax
And much more
Part III is a complete reference for core JavaScript. It documents every class, object, constructor, method, function, property, and constant defined by JavaScript 1.5 and ECMAScript version 3.

Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the tag.

Sample Chapter 21: JavaScript and XML

Amazon Link: JavaScript: The Definitive Guide



Table Of Contents



1. Introduction to JavaScript
1.1 What Is JavaScript?
1.2 Versions of JavaScript
1.3 Client-Side JavaScript
1.4 JavaScript in Other Contexts
1.5 Exploring JavaScript
Part I. Core JavaScript
2. Lexical Structure
2.1 Character Set
2.2 Case Sensitivity
2.3 Whitespace and Line Breaks
2.4 Optional Semicolons
2.5 Comments
2.6 Literals
2.7 Identifiers
2.8 Reserved Words
3. Datatypes and Values
3.1 Numbers
3.2 Strings
3.3 Boolean Values
3.4 Functions
3.5 Objects
3.6 Arrays
3.7 null
3.8 undefined
3.9 The Date Object
3.10 Regular Expressions
3.11 Error Objects
3.12 Type Conversion Summary
3.13 Primitive Datatype Wrapper Objects
3.14 Object-to-Primitive Conversion
3.15 By Value Versus by Reference
4. Variables
4.1 Variable Typing
4.2 Variable Declaration
4.3 Variable Scope
4.4 Primitive Types and Reference Types
4.5 Garbage Collection
4.6 Variables as Properties
4.7 Variable Scope Revisited
5. Expressions and Operators
5.1 Expressions
5.2 Operator Overview
5.3 Arithmetic Operators
5.4 Equality Operators
5.5 Relational Operators
5.6 String Operators
5.7 Logical Operators
5.8 Bitwise Operators
5.9 Assignment Operators
5.10 Miscellaneous Operators
6. Statements
6.1 Expression Statements
6.2 Compound Statements
6.3 if
6.4 else if
6.5 switch
6.6 while
6.7 do/while
6.8 for
6.9 for/in
6.10 Labels
6.11 break
6.12 continue
6.13 var
6.14 function
6.15 return
6.16 throw
6.17 try/catch/finally
6.18 with
6.19 The Empty Statement
6.20 Summary of JavaScript Statements
7. Objects and Arrays
7.1 Creating Objects
7.2 Object Properties
7.3 Objects as Associative Arrays
7.4 Universal Object Properties and Methods
7.5 Arrays
7.6 Reading and Writing Array Elements
7.7 Array Methods
7.8 Array-Like Objects
8. Functions
8.1 Defining and Invoking Functions
8.2 Function Arguments
8.3 Functions as Data
8.4 Functions as Methods
8.5 Constructor Functions
8.6 Function Properties and Methods
8.7 Utility Function Examples
8.8 Function Scope and Closures
8.9 The Function( ) Constructor
9. Classes, Constructors, and Prototypes
9.1 Constructors
9.2 Prototypes and Inheritance
9.3 Simulating Classes in JavaScript
9.4 Common Object Methods
9.5 Superclasses and Subclasses
9.6 Extending Without Inheriting
9.7 Determining Object Type
9.8 Example: A defineClass( ) Utility Method
10. Modules and Namespaces
10.1 Creating Modules and Namespaces
10.2 Importing Symbols from Namespaces
10.3 Module Utilities
11. Pattern Matching with Regular Expressions
11.1 Defining Regular Expressions
11.2 String Methods for Pattern Matching
11.3 The RegExp Object
12. Scripting Java
12.1 Embedding JavaScript
12.2 Scripting Java
Part II. Client-Side JavaScript
13. JavaScript in Web Browsers
13.1 The Web Browser Environment
13.2 Embedding Scripts in HTML
13.3 Event Handlers in HTML
13.4 JavaScript in URLs
13.5 Execution of JavaScript Programs
13.6 Client-Side Compatibility
13.7 Accessibility
13.8 JavaScript Security
13.9 Other Web-Related JavaScript Embeddings
14. Scripting Browser Windows
14.1 Timers
14.2 Browser Location and History
14.3 Obtaining Window, Screen, and Browser Information
14.4 Opening and Manipulating Windows
14.5 Simple Dialog Boxes
14.6 Scripting the Status Line
14.7 Error Handling
14.8 Multiple Windows and Frames
14.9 Example: A Navigation Bar in a Frame
15. Scripting Documents
15.1 Dynamic Document Content
15.2 Document Properties
15.3 Legacy DOM: Document Object Collections
15.4 Overview of the W3C DOM
15.5 Traversing a Document
15.6 Finding Elements in a Document
15.7 Modifying a Document
15.8 Adding Content to a Document
15.9 Example: A Dynamically Created Table of Contents
15.10 Querying Selected Text
15.11 The IE 4 DOM
16. Cascading Style Sheets and Dynamic HTML
16.1 Overview of CSS
16.2 CSS for DHTML
16.3 Scripting Inline Styles
16.4 Scripting Computed Styles
16.5 Scripting CSS Classes
16.6 Scripting Stylesheets
17. Events and Event Handling
17.1 Basic Event Handling
17.2 Advanced Event Handling with DOM Level 2
17.3 The Internet Explorer Event Model
17.4 Mouse Events
17.5 Key Events
17.6 The onload Event
17.7 Synthetic Events
18. Forms and Form Elements
18.1 The Form Object
18.2 Defining Form Elements
18.3 Scripting Form Elements
18.4 Form Verification Example
19. Cookies and Client-Side Persistence
19.1 An Overview of Cookies
19.2 Storing Cookies
19.3 Reading Cookies
19.4 Cookie Example
19.5 Cookie Alternatives
19.6 Persistent Data and Security
20. Scripting HTTP
20.1 Using XMLHttpRequest
20.2 XMLHttpRequest Examples and Utilities
20.3 Ajax and Dynamic Scripting
20.4 Scripting HTTP with script Tags
21. JavaScript and XML
21.1 Obtaining XML Documents
21.2 Manipulating XML with the DOM API
21.3 Transforming XML with XSLT
21.4 Querying XML with XPath
21.5 Serializing XML
21.6 Expanding HTML Templates with XML Data
21.7 XML and Web Services
21.8 E4X: ECMAScript for XML
22. Scripted Client-Side Graphics
22.1 Scripting Images
22.2 Graphics with CSS
22.3 SVG: Scalable Vector Graphics
22.4 VML: Vector Markup Language
22.5 Graphics in a
22.6 Graphics with Flash
22.7 Graphics with Java
23. Scripting Java Applets and Flash Movies
23.1 Scripting Applets
23.2 Scripting the Java Plug-in
23.3 Scripting with Java
23.4 Scripting Flash
23.5 Scripting Flash 8
Part III. Core JavaScript Reference
Core JavaScript Reference
Part IV. Client-Side JavaScript Reference
Client-Side JavaScript Reference
Index

Friday, February 16, 2007

Build Your Own ASP.NET 2.0 Web Site Using C# & VB

Build Your Own ASP.NET 2.0 Web Site Using C# & VB
By Cristian Darie, Zak Ruvalcaba
Second Edition October 2006
Publisher: SitePoint
Pages: 712


Using a practical step-by-step approach, the authors introduce the ASP.NET framework, teach you about database design, and walk you through obtaining, installing and configuring all the freely available software you need to use ASP.NET 2.0. The second edition of this guide will help you get your database-driven ASP.NET web site up and running in no time. This book does not assume prior ASP.NET experience, and includes all code samples in both C# & VB.

ASP.NET is one of the most widely adopted and powerful web application platforms available today. It's becoming increasingly important for web developers to expand their skills and learn the ins and outs of this technology, which is now used by major organizations such as Accenture, Compaq, AIG, Disney, Adobe, Dell, Ford, and many others.
Using a practical step-by-step approach, the authors of Build Your Own ASP.NET 2.0 Web Site Using C# & VB, 2nd Edition show you how to obtain, install and configure the software you’ll need. They then introduce the ASP.NET framework, VB and C#, and guide you through the process of building a fully functional web application. All you need to get started is an understanding of HTML and the basics of web site design – you won’t need to spend a cent on software.

This second edition of this bestselling ASP.NET book has been completely revised for ASP.NET 2.0, with greatly expanded coverage of best practice techniques like code-behind, usage of Visual Web Developer and SQL Server Express Edition, and coverage of powerful new ASP.NET 2.0 functionality, including the GridView control and Master Pages.

Table Of Contents


  1. Preface

  2. Introducing ASP.NET and the .NET Platform

    • What is ASP.NET?

    • Installing the Required Software

      • Installing the Web Server

      • Installing the .NET Framework and the SDK

      • Configuring the Web Server

      • Installing SQL Server 2005 Express Edition

      • Installing SQL Server Management Studio Express

      • Installing Visual Web Developer 2005



    • Writing your First ASP.NET Page

    • Getting Help

    • Summary



  3. ASP.NET Basics

    • ASP.NET Page Structure

      • Directives

      • Code Declaration Blocks

      • Code Render Blocks

      • ASP.NET Server Controls

      • Server-side Comments

      • Literal Text and HTML Tags



    • View State

    • Working with Directives

    • ASP.NET Languages

      • Visual Basic

      • C#



    • Summary



  4. VB and C# Programming Basics

    • Programming Basics

      • Control Events and Subroutines

      • Page Events

      • Variables and Variable Declaration

      • Arrays

      • Functions

      • Operators

      • Conditional Logic

      • Loops



    • Object Oriented Programming Concepts

      • Objects and Classes

      • Properties

      • Methods

      • Classes

      • Constructors

      • Scope

      • Events

      • Understanding Inheritance

      • Objects In .NET

      • Namespaces



    • Using Code-behind Files

    • Summary



  5. Constructing ASP.NET Web Pages

    • Web Forms

    • HTML Server Controls

      • Using the HTML Server Controls



    • Web Server Controls

      • Standard Web Server Controls

      • List Controls

      • Advanced Controls



    • Web User Controls

      • Creating a Web User Control



    • Master Pages

    • Using Cascading Style Sheets (CSS)

      • Types of Styles and Style Sheets



    • Summary



  6. Building Web Applications

    • Introducing the Dorknozzle Project

    • Using Visual Web Developer

      • Meeting the Features



    • Executing your Project

      • Using Visual Web Developer’s Built-in Web Server

      • Using IIS



    • Core Web Application Features

      • Web.config

      • Global.asax

      • Using Application State

      • Working with User Sessions

      • Using the Cache Object

      • Using Cookies



    • Starting the Dorknozzle Project

      • Preparing the Sitemap

      • Using Themes, Skins, and Styles

      • Building the Master Page

      • Using the Master Page



    • Extending Dorknozzle

    • Debugging and Error Handling

      • Debugging with Visual Web Developer

      • Other Kinds of Errors

      • Custom Errors

      • Handling Exceptions Locally



    • Summary



  7. Using the Validation Controls

    • Introducing the ASP.NET Validation Controls

      • Enforcing Validation on the Server



    • Using Validation Controls

      • RequiredFieldValidator

      • CompareValidator

      • RangeValidator

      • ValidationSummary

      • RegularExpressionValidator

      • CustomValidator



    • Validation Groups

    • Updating Dorknozzle

    • Summary



  8. Database Design and Development

    • What is a Database?

    • Creating your First Database

      • Creating a New Database Using Visual Web Developer

      • Creating a New Database Using SQL Server Management
        Studio



    • Creating Database Tables

      • Data Types

      • Column Properties

      • Primary Keys

      • Creating the Employees Table

      • Creating the Remaining Tables

      • Populating the Data Tables



    • Relational Database Design Concepts

      • Foreign Keys

      • Using Database Diagrams

      • Implementing Relationships in the Dorknozzle Database

      • Diagrams and Table Relationships



    • Summary



  9. Speaking SQL

    • Reading Data from a Single Table

      • Using the SELECT Statement

      • Selecting Certain Fields

      • Selecting Unique Data with DISTINCT

      • Row Filtering with WHERE

      • Selecting Ranges of Values with BETWEEN

      • Matching Patterns with LIKE

      • Using the IN Operator

      • Sorting Results Using ORDER BY

      • Limiting the Number of Results with TOP



    • Reading Data from Multiple Tables

      • Subqueries

      • Table Joins



    • Expressions and Operators

    • Transact-SQL Functions

      • Arithmetic Functions

      • String Functions

      • Date and Time Functions



    • Working with Groups of Values

      • The COUNT Function

      • Grouping Records Using GROUP BY

      • Filtering Groups Using HAVING

      • The SUM, AVG, MIN, and MAX Functions



    • Updating Existing Data

      • The INSERT Statement

      • The UPDATE Statement

      • The DELETE Statement



    • Stored Procedures

    • Summary



  10. ADO.NET

    • Introducing ADO.NET

      • Importing the SqlClient Namespace

      • Defining the Database Connection

      • Preparing the Command

      • Executing the Command

      • Setting up Database Authentication

      • Reading the Data

      • Using Parameters with Queries

      • Bulletproofing Data Access Code

      • Using the Repeater Control



    • Creating the Dorknozzle Employee Directory

      • More Data Binding

      • Inserting Records

      • Updating Records

      • Deleting Records

      • Using Stored Procedures



    • Summary



  11. Displaying Content Using Data Lists

    • DataList Basics

    • Handling DataList Events

    • Editing DataList Items and Using
      Templates

    • DataList and Visual Web Developer

    • Styling the DataList

    • Summary



  12. Managing Content Using Grid View and Details View

    • Using the GridView Control

      • Customizing the GridView Columns

      • Styling the GridView with Templates, Skins, and CSS

      • Selecting Grid Records



    • Using the DetailsView Control

      • Styling the DetailsView



    • GridView and DetailsView Events

      • Entering Edit Mode

      • Using Templates

      • Updating DetailsView Records



    • Summary



  13. Advanced Data Access

    • Using Data Source Controls

      • Binding the GridView to a
        SqlDataSource

      • Binding the DetailsView to a
        SqlDataSource

      • Displaying Lists in DetailsView

      • More on SqlDataSource



    • Working with Data Sets and Data Tables

      • What is a Data Set Made From?

      • Binding DataSets to Controls

      • Implementing Paging

      • Storing Data Sets in View State

      • Implementing Sorting

      • Filtering Data



    • Updating a Database from a Modified DataSet

    • Summary



  14. Security and User Authentication

    • Basic Security Guidelines

    • Securing ASP.NET 2.0 Applications

      • Working with Forms Authentication



    • ASP.NET 2.0 Memberships and Roles

      • Creating the Membership Data Structures

      • Using your Database to Store Membership Data

      • Using the ASP.NET Web Site Configuration Tool

      • Creating Users and Roles

      • Changing Password Strength Requirements

      • Securing your Web Application

      • Using the ASP.NET Login Controls



    • Summary



  15. Working with Files and Email

    • Writing and Reading Text Files

      • Setting Up Security

      • Writing Content to a Text File

      • Reading Content from a Text File



    • Accessing Directories and Directory Information

      • Working with Directory and File Paths



    • Uploading Files

    • Sending Email with ASP.NET

      • Configuring the SMTP Server

      • Sending a Test Email

      • Creating the Company Newsletter Page



    • Summary




Appendix



  1. A. Web Control Reference

    • The WebControl Class

      • Properties

      • Methods



    • Standard Web Controls

      • AdRotator

      • BulletedList

      • Button

      • Calendar

      • CheckBox

      • CheckBoxList

      • DropDownList

      • FileUpload

      • HiddenField

      • HyperLink

      • Image

      • ImageButton

      • ImageMap

      • Label

      • LinkButton

      • ListBox

      • Literal

      • MultiView

      • Panel

      • PlaceHolder

      • RadioButton

      • RadioButtonList

      • TextBox

      • Xml



    • Validation Controls

      • CompareValidator

      • CustomValidator

      • RangeValidator

      • RegularExpressionValidator

      • RequiredFieldValidator

      • ValidationSummary



    • Navigation Web Controls

      • SiteMapPath

      • Menu

      • TreeView



    • HTML Server Controls

      • HtmlAnchor Control

      • HtmlButton Control

      • HtmlForm Control

      • HtmlGeneric Control

      • HtmlImage Control

      • HtmlInputButton Control

      • HtmlInputCheckBox Control

      • HtmlInputFile Control

      • HtmlInputHidden Control

      • HtmlInputImage Control

      • HtmlInputRadioButton Control

      • HtmlInputText Control

      • HtmlSelect Control

      • HtmlTable Control

      • HtmlTableCell Control

      • HtmlTableRow Control

      • HtmlTextArea Control





  2. Index




Sample Chapter: Here
Amazon Link:Build Your Own ASP.NET 2.0 Web Site Using C# & VB

Tuesday, February 13, 2007

Windows Forms 2.0 Programming (2nd Edition) (Microsoft .NET Development Series)

Windows Forms 2.0 Programming (2nd Edition) (Microsoft .NET Development Series)
Authors: Chris Sells, Michael Weinhardt
Publisher: Addison-Wesley Professional
Copyright: 2006
Format: Paper; 1296 pp
ISBN-10: 0321267966
ISBN-13: 9780321267962
Published: 05/16/2006

Windows Forms 2.0 Programming is the successor to the highly praised Windows Forms Programming in C#. This edition has been significantly updated to amalgamate the sheer mass of new and improved support that is encompassed by Windows Forms 2.0, the .NET Framework 2.0, and Visual Studio 2005. This is the one book developers need in order to learn how to build and deploy leading-edge Windows Forms 2.0 applications.


Readers will gain a deep understanding from Sells and Weinhardt’s practical, well-balanced approach to the subject and clear code samples.


  • Windows Forms 2.0 fundamentals, including forms, dialogs, data validation, help, controls, components, and rendering
  • Static and dynamic layout, snap lines, HTML-style flow and table layout, automatic resizing, and automatic cross-DPI scaling
  • Office 2003-style tool strip control coverage, including dynamic layout and custom rendering
  • Design-time integration with the Visual Studio 2005 Properties Window and Smart Tags
  • Resource management, strongly typed resources, and internationalization considerations
  • Strongly typed application and user settings
  • SDI, MDI, Single Instancing, Multiple-Instance SDI, Single-Instance MDI, database-centric, and document-centric applications
  • Databinding data-source management, drag-and-drop databinding, the BindingSource, the BindingNavigator, and applied databinding
  • Events, delegates, multithreaded UIs, long-running operations, simplified multithreading with the BackgroundWorker, and asynchronous web service calls
  • ClickOnce application development publishing, shell integration, and partial trust security
  • Best practices for developers transitioning from Windows Forms 1.0 and MFC


About the Authors

Chris Sells
is a program manager for the Connected Systems Division. He’s written several books, including Programming Windows Presentation Foundation (O’Reilly), Windows Forms Programming in C# (Addison-Wesley), and ATL Internals (Addison-Wesley). In his free time, Chris hosts various conferences and makes a pest of himself on Microsoft internal product team discussion lists. More information about Chris–and his various projects–is available at www.sellsbrothers.com.

Michael Weinhardt is a programmer/writer at Microsoft, working on the Windows Client SDK. Michael has coauthored a variety of articles with Chris, contributed to the “Wonders of Windows Forms” column at MSDN Online, reviewed several Windows technology books, and generally loves communicating the whys and wherefores of technology to his peers. Michael is sure that his parents attribute his fascination in technology to their purchase of an Amiga 1000 in the mid-80s. They would be right.


Table of Contents
About the Authors xxv
Foreword xxvii
Preface xxxi

Chapter 01 Hello, Windows Forms 1
Chapter 02 Forms 41
Chapter 03 Dialogs 99
Chapter 04 Layout 137
Chapter 05 Drawing Basics 179
Chapter 06 Drawing Text 231
Chapter 07 Advanced Drawing 265
Chapter 08 Printing 291
Chapter 09 Components 327
Chapter 10 Controls 353
Chapter 11 Design-Time Integration: The Properties Window 399
Chapter 12 Design-Time Integration: Designers and Smart Tags 453
Chapter 13 Resources 505
Chapter 14 Applications 549
Chapter 15 Settings 579
Chapter 16 Data Binding Basics 629
Chapter 17 Applied Data Binding 681
Chapter 18 Multithreaded User Interfaces 737
Chapter 19 ClickOnce Deployment 775

Appendix A What’s New in Windows Forms 2.0 829
Appendix C Delegates and Events 867
Appendix D Component and Control Survey 881
Appendix E Drag and Drop 901
Appendix F Document Management 927

Bibliography 957
Index 961


Sample Chapter: Chapter 14 Applications

Amazon Link: Windows Forms 2.0 Programming (2nd Edition) (Microsoft .NET Development Series)

Monday, February 12, 2007

ASP.NET 2.0 Web Parts in Action

ASP.Net 2.0 Web Parts in Action: Building Dynamic Web Portals (In Action)
Author: Darren Neimke
Foreword by Andres Sanabria

Published October, 2006
344 pages
ISBN: 1-932394-77-X


The static Web is going out of style. Its click-and-wait user experience is giving way to dynamic personalized content and intuitive interactions. With ASP 2.0, a web developer can compose a page out of separate working parts "Web Parts" that independently communicate with the server to produce rich interactive portals like Yahoo!, Google/ig, and Live.com. The new Web Parts API makes it easy to centrally manage a portal's parts.

ASP.NET 2.0 Web Parts in Action is packed with annotated code, diagrams, and crystal-clear discussions. You'll develop a sample project from design to deployment, adding content zones, personalization, and a custom look-and-feel. Since any website is invariably a work-in-progress, you'll appreciate learning how to upgrade your portals on the fly. Along the way you'll pick up handy code instrumentation techniques and a few tricks to help your portals manage themselves. As an added bonus, the book introduces the Microsoft Ajax Library ("Atlas") and shows how you can add Ajax to a web part. You¹ll even create a Live.com gadget.

This book is for web developers familiar with ASP.NET.




contents


Foreword


Preface


Acknowledgments


About this book


About the title


About the cover illustration

Part 1 Portals and web parts


1 Introducing portals and web parts

1.1 Introduction

1.2 What is a portal?

1.3 Using the ASP.NET 2.0 portal framework

1.4 Introducing Adventure Works Cycles database

1.5 Summary

2 Web parts: the building blocks of portals

2.1 Introduction

2.2 Exploring web parts

2.3 Understanding the WebPart class

2.4 Understanding web part internals

2.5 Applying themes and styles

2.6 Adding web parts to the Adventure Works Solution

2.7 Summary

3 Using web part connections

3.1 Dissecting connections

3.2 Creating simple connections

3.3 Sorting out connection types

3.4 Using transformers

3.5 Adventure Works—implementing connections for HR

3.6 Summary

4 The Web Part Manager

4.1 Introduction

4.2 The Page Lifecycle

4.3 Page display modes

4.4 Web part authorization

4.5 Importing and exporting web parts

4.6 Using WebPartManager with master pages

4.7 Adventure Works—additions to the HR code

4.8 Summary

5 Working with zones

5.1 Introduction

5.2 Classifying zones

5.3 Custom rendering of zones

5.4 Using WebPartChrome

5.5 Explaining parts

5.6 Zone additions to the Adventure Works Portal

5.7 Summary

6 Understanding personalization

6.1 Introduction

6.2 Defining personalization

6.3 Personalization in action

6.4 Lifecycle of personalization data

6.5 Working with personalization data

6.6 Personalization of the Adventure Works portal

6.7 Summary

Part 2 Extending the portal framework


7 Creating an enhanced editing experience

7.1 Introduction

7.2 Supplying custom editing controls

7.3 Improving usability

7.4 Summary

8 Useful portal customizations

8.1 Introduction

8.2 Making common tasks accessible

8.3 Versioned personalization data

8.4 Creating an area for tool zones

8.5 Adding a CatalogZone dialog

8.6 Summary

9 Portal management

9.1 Introduction

9.2 Preparing for deployment

9.3 Recovering from errors gracefully

9.4 When all else fails

9.5 Summary

10 Into the future

10.1 Introduction

10.2 Reflecting on the portal

10.3 A world of web portals

10.4 Ajax behavior

10.5 Introducing Live.com—a modern mega-portal

10.6 Call to action



appendix Creating the Adventure Works project


index






Sample Chapter 2:Web parts: the building blocks of portals
Sample Chapter 9:Portal management

Amazon Link: ASP.Net 2.0 Web Parts in Action: Building Dynamic Web Portals (In Action)

Thursday, February 1, 2007

XAML in a Nutshell

Title: XAML in a Nutshell
First Edition: March 2006
Series: In a Nutshell
ISBN 10: 0-596-52673-3
ISBN 13: 9780596526733
Pages: 302


Book description
The Windows Vista operating system will support applications that employ graphics now used by computer games--clear, stunning, and active. The cornerstone for building these user interfaces is XAML, the XML-based markup language that works with Windows Presentation Foundation, Vista's new graphics subsystem. This book teaches you everything necessary to design the new generation of user interfaces and .NET applications, with plenty of examples to get you started.


When Microsoft releases Windows Vista, the new operating system will support applications that employ graphics now used by computer games--clear, stunning, and active. The cornerstone for building these new user interfaces is XAML ("Zammel"), the XML-based markup language that works with Windows Presentation Foundation (WPF), Vista's new graphics subsystem.

An acronym for Extensible Application Markup Language, XAML offers a wealth of new controls and elements with exciting capabilities, including animation and rendering of 3D graphics. Windows developers are already jazzed by the possibilities of using XAML for fixed and flow format documents like PDF and HTML, 2D and 3D vector-based graphics, form development, animation, audio and video, transparent layering, and a lot more. Many feel that XAML will eliminate the need for multiple file formats or plug-ins (read: Flash), while lowering development costs and reducing time to market.

The problem is, most developers don't know XAML. While it is fairly easy to understand, you still need a quick guide to bring you up to speed before Vista's release, and that's where this book's simple, no nonsense approach comes in.

XAML in a Nutshell covers everything necessary to design user interfaces and .NET applications that take advantage of WPF. Prerequisites such as Microsoft's new unified build system, MSBuild, and core XAML constructs and syntax--including shortcuts--are all presented with plenty of examples to get you started. The Core XAML Reference section lets you dig even deeper into syntax rules and attributes for all XAML elements with a series of quick-reference chapters. This section divides XAML elements into logical categories of elements, controls, shapes and geometry, layout, animations, and transformations for easy reference.

XAML in a Nutshell helps you learn, firsthand, how to use this XML-based markup language to implement the new generation of user interface graphics. As one reviewer noted, "Strong code examples and an efficient, conversational style take the tedium out of learning XAML and make the subject understandable--even interesting."




Table of Contents
Chapter 1

Preface
I. Introducing XAML


1. Introducing XAML
The Benefits of XAML
What XAML Is Not
XAML Development Resources
2. Getting Started with XAML
XAML Prerequisites
Defining XAML Applications
Building XAML Applications
XAML Applications and Visual Studio

II. XAML Concepts

3. The Basics of XAML
Core XAML Syntax
Elements
Attributes
Attached Properties
Binding Properties
codebehind
4. Layout and Positioning
StackPanel and DockPanel
Using Width and Alignment
Margins and Padding
Grid
Absolute Positioning
5. Resources
Using Resources
Using Styles
Triggers
6. Storyboards and Animations
Storyboards
Controlling Animations
Animation Using Key Frames

III. Core XAML Reference

7. Elements
8. Controls
Base Control Reference
Common Event Reference
Core Control Reference
9. Shapes and Geometry
10. Layout
11. Animations and Transformations
12. Events

Routing Strategies
Event Argument Reference
Event Reference

IV. Appendixes

A. System.Windows.Controls
B. System.Windows.Documents
C. System.Windows.Shapes
D. System.Windows
E. System.Windows.Media
F. System.Windows.Input.ApplicationCommands
G. Predefined Colors
H. XAML Interface in Code
Index


Amazon link: XAML in a Nutshell
Sample Chapter:

Monday, January 22, 2007

Ajax Design Patterns

O'Reilly has published their latest Ajax book: Ajax Design Patterns

This handy reference reveals how Ajax patterns can vastly improve your web development projects. It does so by investigating how others have successfully dealt with conflicting design principles, and then relaying that information directly to you. Includes sections on foundational technology patterns, programming patterns, functionality and usability patterns, and diagnosis/testing of Ajax applications.
Full Description

Ajax, or Asynchronous JavaScript and XML, exploded onto the
scene in the spring of 2005 and remains the hottest story among web
developers. With its rich combination of technologies, Ajax provides a
strong foundation for creating interactive web applications with XML or
JSON-based web services by using JavaScript in the browser to process
the web server response.


Ajax Design Patterns shows you best
practices that can dramatically improve your web development projects.
It investigates how others have successfully dealt with conflicting
design principles in the past and then relays that information
directly to you.


The patterns outlined in the book fall into four
categories:


Foundational technology: Examines the raw technologies
required for Ajax development

Programming: Exposes techniques that developers have
discovered to ensure their Ajax applications are maintainable

Functionality and usability: Describes the types of user
interfaces you'll come across in Ajax applications, as well as the new
types of functionality that Ajax makes possible

Development: Explains the process being used to monitor,
debug, and test Ajax applications


Ajax Design Patterns will also get you up
to speed with core Ajax technologies, such as XMLHttpRequest, the DOM, and JSON.
Technical discussions are followed by code examples so you can see for
yourself just what is-and isn't-possible with Ajax. This handy
reference will help you to produce high-quality Ajax architectures,
streamline web application performance, and improve the user
experience.


Table of Contents

1. Introducing Ajax
Ajax and the Usable Web
The Rise of Ajax
Ajaxifying the Web: The Story of Portals
Webifying the Desktop: The Story of Office Applications
Characteristics of Ajax Applications
The Ajax Technologies
Anatomy of a Server Call
Ajax Trends
Conclusions

2. A Pattern-Led Tutorial
Ajax Technologies in a Blink
Ajaxifying a Web App: One Pattern at a Time
Projects and Katas
Conclusions

3. Ajax Design: Principles and Patterns
Desirable Attributes of Ajax Applications
Designing for Ajax
Ajax Patterns Overview
Anatomy of a Pattern
Ajax Patterns Demos
Conclusions


Part Two. Foundational Technology Patterns

4. Ajax App
Ajax App

5. Display Manipulation
Display Morphing
Page Rearrangement

6. Web Remoting
Web Service
XMLHttpRequest Call
IFrame Call
HTTP Streaming
On-Demand JavaScript

7. Dynamic Behavior
User Action
Scheduling

8. Extended Technologies
Richer Plugin


Part Three. Programming Patterns

9. Web Services
RESTful Service
RPC Service
Ajax Stub
HTML Message
Plain-Text Message
XML Message
JSON Message

10. Browser-Server Dialogue
Call Tracking
Periodic Refresh
Submission Throttling
Explicit Submission
Distributed Events
Cross-Domain Proxy

11. DOM Population
XML Data Island
Browser-Side XSLT
Browser-Side Templating

12. Code Generation and Reuse
Server-Side Code Generation
Cross-Browser Component

13. Performance Optimization
Browser-Side Cache
Predictive Fetch
Guesstimate
Multi-Stage Download
Fat Client


Part Four. Functionality and Usability Patterns

14. Widgets
Slider
Progress Indicator
Drilldown
Data Grid
Rich Text Editor
Suggestion
Live Search
Live Command-Line
Live Form

15. Page Architecture
Drag-And-Drop
Sprite
Popup
Malleable Content
Microlink
Portlet
Status Area
Update Control
Virtual Workspace

16. Visual Effects
One-Second Spotlight
One-Second Mutation
One-Second Motion
Highlight

17. Functionality
Lazy Registration
Direct Login
Host-Proof Hosting
Timeout
Heartbeat
Unique URLs

Part Five. Development Patterns

18. Diagnosis
Logging
Debugging
DOM Inspection
Traffic Sniffing

19. Testing
Simulation Service
Browser-Side Test
Service Test
System Test

Part Six. Appendixes
A. Ajax Frameworks and Libraries
B. Setting Up the Code Examples
C. Patterns and Pattern Languages
D. References

Download sample chapter 10 (Browser-Server Dialogue)

Amazon link:Ajax Design Patterns

Foundations of Atlas: Rapid Ajax Development with ASP.NET 2.0

Apress has published their latest Ajax book. This book introduces a fast-track path to understanding Atlas, and how this technology can increase the power and functionality of your code while conserving time and effort. The book begins with a bare-bones introduction that explains how Atlas relates to Ajax.

Microsoft Atlas is a web-client framework that makes building Ajax-style applications easier. It provides a prewritten framework that gives you a structured environment in which to work. Atlas also provides you with an object model and standardized debugging to make development faster and simpler.

Ajax is a new way of combining a number of Web technologies including JavaScript, dynamic HTML, and a feature known as XmlHttp (which reduces the need for client browsers to constantly reconnect to the server every time new information is downloaded). But at the moment, people developing with Ajax have to write their code from the ground up, which is complex and time consuming.


The book guides you through a series of practical examples that demonstrate the Atlas framework and available controls. After reading this book, you’ll be able to compile a seamless Atlas-based application of your own!

This book demystifies the Atlas technology and shows you how to work with it.
The first book dedicated to this revolutionary new technology.
Written by an experienced .NET author in collaboration with the Atlas development team.

Foundations of Atlas: Rapid Ajax Development with ASP.NET 2.0 is written by Laurence Moroney and contains 336 pages

Table Of contents
CHAPTER 1 Introducing Ajax
CHAPTER 2 Atlas: Taking Ajax to the Next Level
CHAPTER 3 Atlas: Making Client-Side JavaScript Easier
CHAPTER 4 Introducing Client Controls in Atlas
CHAPTER 5 Using Client Controls in Atlas
CHAPTER 6 Introducing Server Controls in Atlas
CHAPTER 7 Using Server Controls in Atlas
CHAPTER 8 Data Binding in Atlas
CHAPTER 9 Using the AtlasUIGlitz Library
CHAPTER 10 Mapping with Atlas
CHAPTER 11 Building a Sample Application with ASP.NET and Atlas


Get sample chapter 6 (Introducing Server Controls in Atlas) here

Amazon link:Foundations of Atlas: Rapid Ajax Development with ASP.NET 2.0

Pro Ajax And The .NET 2.0 Platform

There are a few class libraries recently distributed that open the Ajax door to the .NET Framework 2.0. This book examines how the Ajax technology and the .NET Framework can work in tandem. It thoroughly covers the XMLHTTPRequest processes and the .NET 2.0 class libraries, and shows you how to turn theory into practice and concepts into code, with samples that duplicate many new web technologies. With the knowledge you gain from this book, you’ll be ready to put this asynchronous technology to work.

Thanks to the folks at Google, Ajax technology has become a force to be reckoned with. It is a technology that is here and now, just waiting for you to implement it with full impact. Google Maps, Google Suggest, and Flickr.com are just a few of the sites out there that have moved Ajax into the mainstream. More shall be revealed as the technology eases its way into coding. The book will also prepare you for upcoming work changes with the release of "Atlas."

Pro Ajax and the .NET 2.0 Platform (Pro)
By Daniel Woolston
ISBN: 1-59059-670-6
488 pp.
Published: Jul 2006


Sample Chapter: Ch. 13 - Ajax and Mapping

PART 1 Ajax Concepts
CHAPTER 1 History and Revival of Ajax
CHAPTER 2 Introducing JavaScript
CHAPTER 3 The XmlHttpRequest Object
CHAPTER 4 N-Tier and Ajax

PART 2 Ajax Components
CHAPTER 5 Rich Internet Applications.
CHAPTER 6 CSS and the DOM.
CHAPTER 7 Ajax Frameworks

PART 3 Concept to Code
CHAPTER 8 Understanding the Library
CHAPTER 9 Ajax and Web Services.
CHAPTER 10 Tagging with Ajax
CHAPTER 11 Cloning Google Suggest.
CHAPTER 12 User Controls and Ajax.NET
CHAPTER 13 Ajax and Mapping
CHAPTER 14 Ajax and Web Parts

PART 4 Security and Performance
CHAPTER 15 Ajax and ASP.NET Security.
CHAPTER 16 Performance
CHAPTER 17 Debugging Your Application.
CHAPTER 18 Ajax and Site Testing
CHAPTER 19 Ajax Usability

PART 5 Moving Forward
CHAPTER 20 Atlas
INDEX

Amazon Link: Pro Ajax and the .NET 2.0 Platform (Pro)

SQL Hacks

Title:SQL Hacks
First Edition: November 2006
Series: Hacks
ISBN 10: 0-596-52799-3
ISBN 13: 9780596527990
Pages: 410

Description:
Whether you're running Access, MySQL, SQL Server, Oracle, or PostgreSQL, this book will help you push the limits of traditional SQL to squeeze data effectively from your database. The book offers 100 hacks -- unique tips and tools -- that bring you the knowledge of experts who apply what they know in the real world to help you take full advantage of the expressive power of SQL. You'll find practical techniques to address complex data manipulation problems. Learn how to:

--Wrangle data in the most efficient way possible
--Aggregate and organize your data for meaningful and accurate reporting
--Make the most of subqueries, joins, and unions
--Stay on top of the performance of your queries and the server that runs them
--Avoid common SQL security pitfalls, including the dreaded SQL injection attack

Let SQL Hacks serve as your toolbox for digging up and manipulating data. If you love to tinker and optimize, SQL is the perfect technology and SQL Hacks is the must-have book for you.


Sample Chapter
A sample chapter is available: Hack 4: Date Handling (PDF Format)

Table Of Contents:
Chapter 1. SQL Fundamentals
1. Run SQL from the Command Line
2. Connect to SQL from a Program
3. Perform Conditional INSERTs
4. UPDATE the Database
5. Solve a Crossword Puzzle Using SQL
6. Don't Perform the Same Calculation Over and Over

Chapter 2. Joins, Unions, and Views
7. Modify a Schema Without Breaking Existing Queries
8. Filter Rows and Columns
9. Filter on Indexed Columns
10. Convert Subqueries to JOINs
11. Convert Aggregate Subqueries to JOINs
12. Simplify Complicated Updates
13. Choose the Right Join Style for Your Relationships
14. Generate Combinations

Chapter 3. Text Handling
15. Search for Keywords Without LIKE
16. Search for a String Across Columns
17. Solve Anagrams
18. Sort Your Email

Chapter 4. Date Handling
19. Convert Strings to Dates
20. Uncover Trends in Your Data
21. Report on Any Date Criteria
22. Generate Quarterly Reports
23. Second Tuesday of the Month

Chapter 5. Number Crunching
24. Multiply Across a Result Set
25. Keep a Running Total
26. Include the Rows Your JOIN Forgot
27. Identify Overlapping Ranges
28. Avoid Dividing by Zero
29. Other Ways to COUNT
30. Calculate the Maximum of Two Fields
31. Disaggregate a COUNT
32. Cope with Rounding Errors
33. Get Values and Subtotals in One Shot
34. Calculate the Median
35. Tally Results into a Chart
36. Calculate the Distance Between GPS Locations
37. Reconcile Invoices and Remittances
38. Find Transposition Errors
39. Apply a Progressive Tax
40. Calculate Rank

Chapter 6. Online Applications
41. Copy Web Pages into a Table
42. Present Data Graphically Using SVG
43. Add Navigation Features to Web Applications
44. Tunnel into MySQL from Microsoft Access
45. Process Web Server Logs
46. Store Images in a Database
47. Exploit an SQL Injection Vulnerability
48. Prevent an SQL Injection Attack

Chapter 7. Organizing Data
49. Keep Track of Infrequently Changing Values
50. Combine Tables Containing Different Data
51. Display Rows As Columns
52. Display Columns As Rows
53. Clean Inconsistent Records
54. Denormalize Your Tables
55. Import Someone Else's Data
56. Play Matchmaker
57. Generate Unique Sequential Numbers

Chapter 8. Storing Small Amounts of Data
58. Store Parameters in the Database
59. Define Personalized Parameters
60. Create a List of Personalized Parameters
61. Set Security Based on Rows
62. Issue Queries Without Using a Table
63. Generate Rows Without Tables

Chapter 9. Locking and Performance
64. Determine Your Isolation Level
65. Use Pessimistic Locking
66. Use Optimistic Locking
67. Lock Implicitly Within Transactions
68. Cope with Unexpected Redo
69. Execute Functions in the Database
70. Combine Your Queries
71. Extract Lots of Rows
72. Extract a Subset of the Results
73. Mix File and Database Storage
74. Compare and Synchronize Tables
75. Minimize Bandwidth in One-to-Many Joins
76. Compress to Avoid LOBs

Chapter 10. Reporting
77. Fill in Missing Values in a Pivot Table
78. Break It Down by Range
79. Identify Updates Uniquely
80. Play Six Degrees of Kevin Bacon
81. Build Decision Tables
82. Generate Sequential or Missing Data
83. Find the Top n in Each Group
84. Store Comma-Delimited Lists in a Column
85. Traverse a Simple Tree
86. Set Up Queuing in the Database
87. Generate a Calendar
88. Test Two Values from a Subquery
89. Choose Any Three of Five

Chapter 11. Users and Administration
90. Implement Application-Level Accounts
91. Export and Import Table Definitions
92. Deploy Applications
93. Auto-Create Database Users
94. Create Users and Administrators
95. Issue Automatic Updates
96. Create an Audit Trail

Chapter 12. Wider Access
97. Allow an Anonymous Account
98. Find and Stop Long-Running Queries
99. Don't Run Out of Disk Space
100. Run SQL from a Web Page


And for $19.79 on Amazon this is a great gift

Sunday, January 21, 2007

Expert C# 2005 Business Objects, Second Edition

By Rockford Lhotka
ISBN: 1-59059-632-3
696 pp.
Published: Mar 2006


Rockford Lhotka started writing his Business Objects books in 1996, and over the years, he’s become one of the world’s foremost authorities on building distributed object-oriented systems. His industry-standard VB .NET Business Objects book not only addresses changes in .NET 2.0 and Visual Studio 2005, but also reflects substantial enhancements and improvements to the CSLA .NET Framework and how it can be used to create enterprise-level .NET applications.

Expert C# 2005 Business Objects is for developers who want to see Lhotka’s ideas applied in the C# idiom. The book takes you from an opening discussion of logical architectures to detailed n-tier deployment options using the CSLA .NET Framework.

The depth of Rockford’s thinking now influences developers across language boundaries. With this book, you can learn directly from the expert whose framework has become universally accepted and respected.

Expert C# 2005 Business Objects, Second Edition

Table Of Contents
About the Author xv
About the Technical Reviewers xvii
Acknowledgments xix
Introduction xxi
CHAPTER 1 Distributed Architecture 1
CHAPTER 2 Framework Design 35
CHAPTER 3 Business Framework Implementation 91
CHAPTER 4 Data Access and Security 159
CHAPTER 5 Completing the Framework 235
CHAPTER 6 Object-Oriented Application Design 321
CHAPTER 7 Using the CSLA .NET Base Classes 361
CHAPTER 8 Business Object Implementation 405
CHAPTER 9 Windows Forms UI 465
CHAPTER 10 Web Forms UI 513
CHAPTER 11 Web Services Interface 563
CHAPTER 12 Implementing Remote Data Portal Hosts601
INDEX 621


Sample Chapter: Chapter 06 Excerpt, "Object-Oriented Application Design"
Amazon Link: Expert C# 2005 Business Objects, Second Edition

Visual Basic 2005 Cookbook


Title: Visual Basic 2005 Cookbook
Subtitle: Solutions for VB 2005 Programmers
First Edition: September 2006
Series: Cookbooks
ISBN 10: 0-596-10177-5
ISBN 13: 9780596101770
Pages: 740

Description
This book will help you solve more than 300 of the most common and not-so-common tasks that working Visual Basic 2005 programmers face every day. If you're a seasoned .NET developer, beginning Visual Basic programmer, or a developer seeking a simple and clear migration path from VB6 to Visual Basic 2005, the Visual Basic 2005 Cookbook delivers a practical collection of problem-solving recipes for a broad range of Visual Basic programming tasks.
The concise solutions and examples in the Visual Basic 2005 Cookbook range from simple tasks to the more complex, organized by the types of problems you need to solve. Nearly every recipe contains a complete, documented code sample showing you how to solve the specific problem, as well as a discussion of how the underlying technology works and that outlines alternatives, limitations, and other considerations. As with all O'Reilly Cookbooks, each recipe helps you quickly understand a problem, learn how to solve it, and anticipate potential tradeoffs or ramifications.


Useful features of the book include:

  • Over 300 recipes written in the familiar O'Reilly Problem-Solution-Discussion format
  • Hundreds of code snippets, examples, and complete solutions available for download
  • VB6 updates to alert VB6 programmers to code-breaking changes in Visual Basic 2005
  • Recipes that target Visual Basic 2005 features not included in previous releases
  • Code examples covering everyday data manipulation techniques and language fundamentals
  • Advanced projects focusing on multimedia and mathematical transformations using linear algebraic methods
  • Specialized topics covering files and file systems, printing, and databases

In addition, you'll find chapters on cryptography and compression, graphics, and special programming techniques. Whether you're a beginner or an expert, the Visual Basic 2005 Cookbook is sure to save you time, serving up the code you need, when you need it.

Preface

1. Visual Basic Programming
1.1 Creating a Windows Forms Application
1.2 Creating a Console Application
1.3 Creating an ASP.NET Web Forms Application

2. The Development Environment
2.1 Discovering and Using a Code Snippet
2.2 Creating a New Snippet
2.3 Sharing Snippets
2.4 Adding Snippet Files to Visual Studio
2.5 Getting an Application's Version Number
2.6 Letting Visual Studio Automatically Update an Application's Version Number
2.7 Setting the Startup Form for an Application
2.8 Setting the Startup to a Sub Main Procedure
2.9 Getting an Application's Command Line
2.10 Testing an Application's Command Line
2.11 Obfuscating an Application
2.12 Determining if an Application Is Running in the Visual Studio Environment
2.13 Accessing Environment Variables
2.14 Accessing the Registry
2.15 Getting System Information
2.16 Getting the User's Name

3. Application Organization
3.1 Creating a Code Module
3.2 Creating a Class
3.3 Creating a Structure
3.4 Creating Other Item Types
3.5 Creating Object Instances
3.6 Initializing a Class Instance with Data
3.7 Releasing an Instance's Resources
3.8 Using Namespaces
3.9 Splitting a Class Across Multiple Files
3.10 Creating a Form Based on Another Form
3.11 Passing and Returning Structures and Other Objects
3.12 Creating and Using an Enumeration
3.13 Converting Between Numeric and String Enumeration Values
3.14 Creating a Method That Accepts Different Sets of Arguments
3.15 Using Standard Operators for Nonstandard Purposes
3.16 Enforcing Strong Data Typing in an Otherwise Weakly Typed Collection

4. Forms, Controls, and Other Useful Objects
4.1 Creating and Adding Controls at Runtime
4.2 Iterating Through All Controls on a Form
4.3 Sharing Event-Handler Logic Among Many Controls
4.4 Working with Timers
4.5 Determining if a Control Can Take the Focus
4.6 Programmatically Clicking a Button
4.7 Drawing a Control
4.8 Making a Form the Top-Most Form
4.9 Indicating the Accept and Cancel Buttons on a Form
4.10 Remembering a Form's Position Between Uses
4.11 Attaching a Control to the Edge of a Form
4.12 Moving or Resizing Controls as a Form Resizes
4.13 Limiting the Sizing of a Form
4.14 Centering a Form
4.15 Creating and Moving a Borderless Form
4.16 Creating a Fading Form
4.17 Creating a Nonrectangular Form
4.18 Changing Menus at Runtime
4.19 Creating Shortcut Menus

5. Strings
5.1 Using a StringBuilder
5.2 Creating a String of N Identical Characters
5.3 Creating a String by Repeating a String N Times
5.4 Obfuscating a String
5.5 Converting Binary Data to a Hexadecimal String
5.6 Extracting Substrings from Larger Strings
5.7 Converting a String's Case
5.8 Comparing Strings with Case Sensitivity
5.9 Comparing Strings Without Case Sensitivity
5.10 Converting Strings to and from Character Arrays
5.11 Converting Strings to and from Byte Arrays
5.12 Tallying Characters
5.13 Counting Words
5.14 Removing Extra Whitespace
5.15 Using the Correct End-of-Line Characters
5.16 Replacing Substrings
5.17 Inserting a Character or String
5.18 Inserting a Line
5.19 Double-Spacing a String
5.20 Formatting Numbers into Strings
5.21 Trimming Sets of Characters from a String
5.22 Identifying and Validating Types of Data in a String
5.23 Converting Strings Between Encoding Systems
5.24 Determining a Character's Type
5.25 Parsing Strings
5.26 Concatenating Strings
5.27 Speeding Up String Manipulation
5.28 Counting Occurrences of a Substring
5.29 Padding a String for Exact Length and Alignment
5.30 Converting Tabs to Spaces
5.31 Reversing a String
5.32 Shuffling a String
5.33 Using a Simple String Encryption
5.34 Converting a String to Morse Code
5.35 Adding Strings to an Application's Resources
5.36 Converting Any Data to a String
5.37 Using Regular Expressions to Extract All Numbers
5.38 Getting a Count of Regular Expression Matches
5.39 Getting the Nth Regular Expression Match
5.40 Compiling Regular Expressions for Speed
5.41 Using Regular Expressions to Validate Data
5.42 Using Regular Expressions to Count Characters, Words, or Lines
5.43 Converting a String to and from Base64
5.44 Splitting a String
5.45 Creating a String of Space Characters

6. Numbers and Math
6.1 Using Compact Operator Notation
6.2 Choosing Integers of the Right Size and Type for the Job
6.3 Using Unsigned Integers
6.4 Swapping Two Integers Without Using a Third
6.5 Using Single- and Double-Precision Variables
6.6 Using Decimal Variables for Maximum Precision
6.7 Converting Between Number Types
6.8 Rounding Numbers Accurately
6.9 Declaring Loop Counters Within Loops
6.10 Converting Between Radians and Degrees
6.11 Limiting Angles to a Range
6.12 Creating Double-Precision Point Variables
6.13 Converting Between Rectangular and Polar Coordinates
6.14 Creating Three-Dimensional Variables
6.15 Converting Between Rectangular, Spherical, and Cylindrical Coordinates
6.16 Working with Complex Numbers
6.17 Solving Right Triangles
6.18 Solving Any Triangle
6.19 Determining if a String Contains a Valid Number
6.20 Converting Numbers to Integers
6.21 Calculating p to Thousands of Digits
6.22 Getting a Number's Prime Factors
6.23 Using Recursion to Calculate Factorials
6.24 Manipulating Bits with Bitwise Operators
6.25 Storing and Retrieving Bits in a BitArray
6.26 Enhancing the Random Number Generator
6.27 Generating Random Integers in a Range
6.28 Generating Random Real Numbers in a Range
6.29 Generating Normal-Distribution Random Numbers
6.30 Generating Exponential-Distribution Random Numbers
6.31 Creating a Matrix
6.32 Inverting a Matrix
6.33 Calculating the Determinant of a Matrix
6.34 Solving Simultaneous Equations
6.35 Listing of the MatrixHelper Class

7. Dates and Times
7.1 Getting the System Date and Time
7.2 Accessing the System's Time Zone
7.3 Using System Ticks
7.4 Timing Application Activities
7.5 Calculating Elapsed Time Using Ticks
7.6 Calculating Elapsed Time with the Stopwatch
7.7 Extracting Year, Month, and Day Numbers from a Date Value
7.8 Extracting Hour, Minute, and Second Numbers from a Date Value
7.9 Creating a Date or Time Value from Its Parts
7.10 Formatting Dates and Times
7.11 Parsing and Validating Dates and Times
7.12 Adding to Dates and Times
7.13 Subtracting from Dates and Times
7.14 Determining the Number of Days Between Two Dates
7.15 Determining the Day of the Week for a Date
7.16 Determining the Day of the Year for a Date
7.17 Determining the Number of Days in a Month
7.18 Using Controls to Enter or Select a Date
7.19 Calculating the Phase of the Moon
7.20 Creating a Calendar
7.21 Checking for Leap Years
7.22 Dates and Times in ISO 8601 Formats

8. Arrays and Collections
8.1 Filling an Array While Declaring It
8.2 Sorting Array Elements
8.3 Reversing an Array
8.4 Inserting into an Array
8.5 Shuffling an Array
8.6 Swapping Two Array Values
8.7 Resizing Arrays Without Losing Existing Values
8.8 Quickly Copying Part of an Array into Another
8.9 Writing a Comma-Separated-Values File from a String Array
8.10 Reading a Comma-Separated-Values File into a String Array
8.11 Using a Multivalue Array Instead of a Two-Dimensional Array
8.12 Converting Between Delimited Strings and Arrays
8.13 Formatting an Array as a Single String
8.14 Iterating Through Array Elements
8.15 Passing Arrays to Methods
8.16 Returning Arrays from Functions
8.17 Creating a Collection
8.18 Inserting an Item into a Collection
8.19 Deleting a Collection Item
8.20 Iterating Through a Collection

9. Graphics
9.1 Creating Graphics Objects
9.2 Drawing on Controls for Special Effects
9.3 Letting the User Select a Color
9.4 Working with Coordinate Systems (Pixels, Inches, Centimeters)
9.5 Creating a Bitmap
9.6 Setting a Background Color
9.7 Drawing Lines, Ellipses, and Rectangles
9.8 Drawing Lines One Pixel Wide Regardless of Scaling
9.9 Forcing a Form or Control to Redraw
9.10 Using Transparency
9.11 Scaling with Transforms
9.12 Using an Outline Path
9.13 Using Gradients for Smooth Color Changes
9.14 Drawing Bezier Splines
9.15 Drawing Cardinal Splines
9.16 Limiting Display Updates to Specific Regions
9.17 Drawing Text
9.18 Rotating Text to Any Angle
9.19 Mirroring Text on the Canvas
9.20 Getting the Height and Width of a Graphic String
9.21 Drawing Text with Outlines and Drop Shadows
9.22 Calculating a Nice Axis
9.23 Drawing a Simple Chart
9.24 Creating Odd-Shaped Forms and Controls
9.25 Using the RGB, HSB (HSV), and HSL Color Schemes
9.26 Creating a Rubber-Band Rectangular Selection
9.27 Animating with Transparency
9.28 Substitutions for Obsolete Visual Basic 6.0 Features

10. Multimedia
10.1 Playing an Audio File
10.2 Displaying Image Files
10.3 Playing a Video File
10.4 Making Your Computer Beep
10.5 Creating an Animation Using Multiple Images
10.6 Creating an Animation by Generating Multiple Bitmaps
10.7 Creating an Animation by Drawing at Runtime
10.8 Creating Animated Sprites
10.9 Resizing and Compressing JPEG Files
10.10 Getting JPEG Extended Information
10.11 Creating Thumbnails
10.12 Displaying Images While Controlling Stretching and Sizing
10.13 Scrolling Images
10.14 Merging Two or More Images
10.15 Using Resource Images
10.16 Capturing an Image of the Screen
10.17 Getting Display Dimensions
10.18 Speeding Up Image Processing
10.19 Converting an Image to Grayscale
10.20 Performing Edge Detection on an Image
10.21 Full Listing of the LockImage Class

11. Printing
11.1 Enumerating Printers
11.2 Sending "Raw" Data to a Printer
11.3 Get Details About the Default Printer
11.4 Creating a Print Preview
11.5 Prompting for Printed Page Settings
11.6 Drawing Text and Graphics to a Printer
11.7 Determining the Print Destination
11.8 Creating Graph Paper

12. Files and File Systems
12.1 Enumerating Drives
12.2 Determining if a Directory Exists
12.3 Creating a New Directory
12.4 Copying Directories
12.5 Moving Directories
12.6 Renaming Directories
12.7 Parsing File and Directory Paths
12.8 Searching Iteratively Through Directories and Subdirectories
12.9 Finding Directories and Files Using Wildcards
12.10 Determining if a File Exists
12.11 Getting and Setting File Attributes
12.12 Accessing Special User and Windows Directories
12.13 Determining the Space on a Drive
12.14 Browsing for a Directory
12.15 Getting File Information
12.16 Using File-Access Methods
12.17 Reading and Writing Files as Strings
12.18 Reading and Writing Binary Files
12.19 Copying or Moving a File
12.20 Sending a File to the Recycle Bin
12.21 Creating a Temporary File
12.22 Calculating a Checksum for a File
12.23 Comparing Two Files for Equality
12.24 Locking a File During Access
12.25 Reading from a File at a Specific Position
12.26 Reading and Writing Objects in a File
12.27 Creating a Comma-Separated-Values File

13. Databases
13.1 Connecting to a Data Provider
13.2 Issuing SQL Commands
13.3 Retrieving Results from a Database Query
13.4 Using SQL Parameters
13.5 Using Stored Procedures
13.6 Using Transactions
13.7 Storing the Results of a Query in Memory
13.8 Creating In-Memory Data Tables Manually
13.9 Writing In-Memory Data Tables to an XML File
13.10 Reading an XML File into In-Memory Data Tables

14. Special Programming Techniques
14.1 Preventing Multiple Instances of a Running Application
14.2 Creating a Simple User Control
14.3 Describing User Control Properties
14.4 Starting Other Applications by EXE, Document, or URL
14.5 Waiting for Applications to Finish
14.6 List All Running Processes
14.7 Terminating a Running Process
14.8 Pausing Execution of a Program
14.9 Control Applications by Simulating Keystrokes
14.10 Watching for File and Directory Changes
14.11 Creating an Icon in the System Tray
14.12 Accessing the Clipboard
14.13 Adding Tooltips to Controls
14.14 Dragging and Dropping Files to a ListBox
14.15 Dragging and Dropping Between ListBox Controls
14.16 Disposing of Objects Appropriately
14.17 Fine-Tuning Garbage Collection
14.18 Moving the (Mouse) Cursor
14.19 Intercepting All Key Presses on a Form
14.20 Accessing the Registry
14.21 Running Procedures in Threads
14.22 Reading XML into a TreeView
14.23 Creating an XML Document
14.24 Validating an XML Document
14.25 Using Generic Collections
14.26 Creating a Screensaver
14.27 Localizing the Controls on a Form
14.28 Adding Pop-up Help to Controls
14.29 Maintaining User-Specific Settings Between Uses of an Application
14.30 Verifying a Credit Card Number
14.31 Capturing a Console Application's Output
14.32 Reading an Assembly's Details
14.33 Performing Serial I/O
14.34 Rebooting the System

15. Exceptions
15.1 Catching an Exception
15.2 Throwing an Exception
15.3 Catching Unhandled Exceptions
15.4 Displaying Exception Information
15.5 Creating New Exception Types
15.6 Ignoring Exceptions in a Block of Code
16. Cryptography and Compression

16.1 Generating a Hash
16.2 Encrypting and Decrypting a String
16.3 Encrypting and Decrypting a File
16.4 Prompting for a Username and Password
16.5 Handling Passwords Securely
16.6 Compressing and Decompressing a String
16.7 Compressing and Decompressing a File
16.8 Generating Cryptographically Secure Random Numbers
16.9 Complete Listing of the Crypto.vb Module
16.10 Complete Listing of the Compress.vb Module

17. Web Development
17.1 Displaying Web Pages on a Form
17.2 Accessing Content Within an HTML Document
17.3 Getting All Links from a Web Page
17.4 Get the Local Computer's IP Address
17.5 Resolving a Host Name or IP Address for Another Computer
17.6 Pinging an IP Address
17.7 Using FTP to Download Files
17.8 Calling a Web Service
17.9 Sending Email Using SMTP
17.10 Getting POP3 Emails
17.11 Sending a Message to Another Computer
17.12 Adding Hyperlinks to a (Desktop) Form

Index

Sample Chapter: Chapter 4: Forms, Controls, and Other Useful Objects (PDF Format)
Amazon Link: Visual Basic 2005 Cookbook