MFC, ATL, and WFC Is MFC Dead?

Size: px
Start display at page:

Download "MFC, ATL, and WFC Is MFC Dead?"

Transcription

1 MFC, ATL, and WFC Is MFC Dead? MFC, ATL, and WFC Is MFC Dead? Ever since Microsoft released the Active Template Library (ATL) as part of Visual C++, Windows developers have speculated that the Microsoft Foundation Class Library (MFC) was no longer "en vogue" at Microsoft and that future efforts would focus on newer libraries such as ATL. Recently, Microsoft released another class library, Windows Foundation Classes (WFC), for Java Windows developers, which has unfortunately helped to fan the rumors that "MFC is dead." The rumors of MFC's demise are definitely premature. Visual C has added significant functionality to MFC and ATL in parallel, which indicates that both libraries will receive equal attention moving forward. Part of the problem is that the design goals of each library are sometimes not clearly stated and therefore are not clearly understood by the Visual C++ developer. MFC is designed to be a great class library for creating graphically rich, sophisticated Windows applications. ATL is designed to make it easy to create extremely lightweight COM objects and ActiveX controls. Each of these design goals has resulted in a different library to empower the developer. Another common misconception is that MFC and ATL are mutually exclusive. This is definitely not the case! In fact, it is very easy to create ATL-based COM objects that use MFC. The only issue is that since many developers choose ATL for its lightweight nature, using MFC, which is feature-rich and "heavy," seems to contradict the reason for choosing ATL. While this might be the case for some developers, it doesn't make ATL and MFC mutually exclusive. While ATL does not replace MFC, we do think it is an important part of Visual C++, so in this edition of Programming Microsoft Visual C++ we have added two chapters that cover the ATL class libraries.

2 C++ vs. Java C++ vs. Java In the last couple of years, there has been a great deal of interest in the Java programming language. Why should you choose C++ over Java? In the first place, a compiled program will always be faster than an interpreted program. Think about a high-performance spreadsheet program with cell formulas and macros. Now imagine the Java virtual machine interpreting the code that, in turn, interprets the formulas and macros. Not pretty, is it? With just-in-time compilation, it's necessary to compile the program every time you load it. Will that code be as good as the optimized output from a C++ compiler? Execution speed is one factor; access to the operating system is another. For security reasons, Java applets can't perform such tasks as writing to disk and accessing serial ports. In order to be platform-independent, Java application programs are limited to the "lowest common denominator" of operating system features. A C++ program for Microsoft Windows is more flexible because it can call any Win32 function at any time. Java will be an important language, but we believe it's just another language, not a revolution. If you need an Internet applet or a truly platform-independent application, choose Java. If you need efficiency and flexibility, choose C++.

3 Who Can Use This Book Who Can Use This Book The product name "Visual C++" misleads some people. They think they've bought a pure visual programming system similar to Microsoft Visual Basic, and for the first few days the illusion persists. However, people soon learn that they must actually read and write C++ code. The Visual C++ wizards save time and improve accuracy, but programmers must understand the code that the wizards generate and, ultimately, the structure of the MFC library and the inner workings of the Windows operating system. Visual C++, with its sophisticated application framework, is for professional programmers, and so is this book. We assume that you're proficient in the C language you can write an if statement without consulting the manual. And we assume that you've been exposed to the C++ language you've at least taken a course or read a book, but maybe you haven't written much code. Compare learning C++ to learning the French language. You can study French in school, but you won't be able to speak fluently unless you go to France and start talking to people. Reading this book is like taking your trip to France! We won't assume, however, that you already know Windows programming. We're sure that proficient C programmers can learn Windows the MFC way. It's more important to know C++ than it is to know the Win32 application programming interface (API). You should, however, know how to run Windows and Windows-based applications. What if you're already experienced with the Win32 API or with the MFC library? There's something in this book for you too. First you'll get some help making the transition to Win32 programming. Then you'll learn about new features such as Data Access Objects (DAO), ActiveX control container support, and the controls introduced with Windows 95. If you haven't already figured out the Component Object Model (COM), this book presents some important theory that will get you started on understanding ActiveX Controls. You'll also learn about the ATL class library, the new Microsoft Internet Explorer 4.0 common controls, and OLE/DB database programming. Finally, you'll learn C++ programming for the Internet (including the hot new topic Dynamic HTML). We've even included coverage on how to make your Visual C++ programs work on the new Windows CE operating system.

4 What's Not Covered What's Not Covered It's not possible to cover every aspect of Windows-based programming in a single book. We exclude topics that depend on special-purpose hardware and software, such as MAPI, TAPI, and communications port access. We do cover using ActiveX controls in an application, but we'll defer the subject of writing ActiveX controls to Adam Denning and his ActiveX Controls Inside Out (Microsoft Press, 1997). We get you started with 32-bit memory management, DLL theory, and multithreaded programming techniques, but you need to get the third edition of Jeffrey Richter's Advanced Windows (Microsoft Press, 1997) if you're serious about these subjects. Another useful book is MFC Internals by George Shepherd and Scot Wingo (Addison-Wesley, 1996).

5 How to Use This Book How to Use This Book When you're starting with Visual C++, you can use this book as a tutorial by going through it sequentially. Later you can use it as a reference by looking up topics in the table of contents or in the index. Because of the tight interrelationships among many application framework elements, it wasn't possible to cleanly isolate each concept in its own chapter, so the book really isn't an encyclopedia. When you use this book, you'll definitely want to keep the online help available for looking up classes and member functions. If you're experienced with the Win16 version of Visual C++, scan Part I for an overview of new features. Then skip the first three chapters of Part II, but read Chapters 6 through 12, which cover elements specific to Win32.

6 The Organization of This Book The Organization of This Book As the table of contents shows, this book has six parts and an appendix section. Part I: Windows, Visual C++, and Application Framework Fundamentals In this part, we try to strike a balance between abstract theory and practical application. After a quick review of Win32 and the Visual C++ components, you'll be introduced, in a gentle way, to the MFC application framework and the document-view architecture. You'll look at a simple "Hello, world!" program, built with the MFC library classes, that requires only 30 lines of code. Part II: The MFC Library View Class The MFC library documentation presents all the application framework elements in quick succession, with the assumption that you know the original Windows API. In Part II, you're confined to one major application framework component the view, which is really a window. You'll learn here what experienced Windows programmers know already, but in the context of C++ and the MFC library classes. You'll use the Visual C++ tools that eliminate much of the coding drudgery that early Windows programmers had to endure. Part II covers a lot of territory, including graphics programming with bitmaps, dialog data exchange, ActiveX control usage, 32-bit memory management, and multithreaded programming. The exercises will help you to write reasonably sophisticated Windows-based programs, but those programs won't take advantage of the advanced application framework features. Part III: The Document-View Architecture This part introduces the real core of application framework programming the document-view architecture. You'll learn what a document is (something much more general than a word processing document), and you'll see how to connect the document to the view that you studied in Part II. You'll be amazed, once you have written a document class, at how the MFC library simplifies file I/O and printing. Along the way, you'll learn about command message processing, toolbars and status bars, splitter frames, and context-sensitive help. You'll also be introduced to the Multiple Document Interface (MDI), the current standard for Windows-based applications. Part III also contains a discussion of dynamic link libraries (DLLs) written with the MFC library. You'll learn the distinction between an extension DLL and a regular DLL. If you're used to Win16 DLLs, you'll notice some changes in the move to Win32. Part IV: ActiveX: COM, Automation, and OLE COM by itself deserves more than one book. Part IV will get you started in learning fundamental COM theory from the MFC point of view. You'll progress to Automation, which is the link between C++ and Visual Basic for Applications (VBA). You'll also become familiar with uniform data transfer and structured storage, and you'll learn the basics of compound documents and embedded objects. Part V: Database Management Windows-based programs often need access to information in large databases. Visual C++ now supports two separate database management options: Open Database Connectivity (ODBC) and Data Access Objects (DAO). Part V offers a chapter on each option. You'll learn about the extensive MFC and wizard support for both options, and you'll see the differences between and similarities of ODBC and DAO. We'll also cover a new data access technology, OLE/DB, which is supported by ATL OLE/DB consumer and providers. Part VI: Programming for the Internet This part starts with a technical Internet tutorial that covers the TCP/IP protocol plus the Winsock and WinInet APIs. You'll learn how to write C++ server and client programs for the Internet and the intranet, you'll learn how to write ISAPI DLLs that extend the Microsoft Internet Information Server, and you'll learn how to program for Dynamic HTML. We've also included coverage on Windows CE in this section. Appendixes Appendix A contains a list of message map macros and their corresponding handler function prototypes. ClassWizard usually generates this code for you, but sometimes you must make manual entries. Appendix B offers a description of the MFC application framework's runtime class information and dynamic creation system. This is independent of the RTTI (runtime type information) feature that is now a part of ANSI C++.

7 Win32 vs. Win16 Win32 vs. Win16 Lots of old computers out there are still running Windows 3.1. However, there's not much point in spending money writing new programs for obsolete technology. This edition of Programming Microsoft Visual C++ is about 32-bit programming for Microsoft Windows 95, Microsoft Windows 98, and Microsoft Windows NT using the Win32 API. If you really need to do 16-bit programming, find an old copy of the second edition of this book.

8 Windows 95 and Windows 98 vs. Windows NT Windows 95 and Windows 98 vs. Windows NT Visual C++ version 6.0 requires either Windows 95, Windows 98, or Windows NT version 4.0 or later, all of which have the same user interface. We recommend that you use Windows NT as your development platform because of its stability you can often go for months without rebooting your computer. If you use only the MFC programming interface, your compiled programs will run under Windows 95, Windows 98, and Windows NT, but a program can include Win32 calls that use specific Windows 98 or Windows NT features.

9 Going Further with Windows: The "For Win32 Programmers" Sidebars Going Further with Windows: The "For Win32 Programmers" Sidebars This book can't offer the kind of detail, tricks, and hidden features found in the newer, specialized books on Win32. Most of those books are written from the point of view of a C-language programmer: in order to use them, you'll have to understand the underlying Win32 API and its relationship to the MFC library. In addition, you'll need to know about the Windows message dispatch mechanism and the role of window classes. This book's "For Win32 Programmers" sidebars, scattered throughout the text, help you make the connection to low-level programming for Windows. These specially formatted boxes help experienced C programmers relate new MFC library concepts to principles they're already familiar with. If you're unfamiliar with low-level programming, you should skip these notes the first time through, but you should read them on your second pass through the book. Even though you may never write a low-level Windows-based program with a WinMain function, for example, you eventually need to know how the Windows operating system interacts with your program.

10 Using the Companion CD-ROM Using the Companion CD-ROM The companion CD-ROM bound inside the back cover of this book contains the source code files for all the sample programs. The executable program files are included, so you won't have to build the samples that you're interested in. To install the companion CD-ROM's files, insert the disc in your CD-ROM drive and run the Setup program. Follow the on-screen instructions. The Setup program copies about 30 MB of files to your hard disk. If you prefer, you can manually install only the files for individual projects. Simply tree-copy the corresponding subdirectories from the CD-ROM to c:\vcpp32. Because each project is self-contained, no additional files from other projects are needed. (You'll need to remove the read-only attribute from these files if you copy them using Windows Explorer or File Manager.) Many of the files on the companion CD-ROM have long filenames. If you use Windows 95 and your CD-ROM drive uses a real-mode driver, you'll see truncated names for these files and you might not see all of the files or directories. The Setup program will still work correctly, however, by copying files from a special \SETUP directory on the CD-ROM and renaming them with their proper long filenames. You can then browse the files on your hard disk. Alternatively, you can browse the files using the 8.3 aliases in the \SETUP directory on the CD-ROM. With a conventional C-language program using the Windows API, the source code files tell the whole story. With the MFC library application framework, things are not so simple. AppWizard generates much of the C++ code, and the resources originate in the resource editors. The examples in the early chapters of this book include step-bystep instructions for using the tools to generate and customize the source code files. You'd be well advised to walk through those instructions for the first few examples; there's very little code to type. For the middle chapters, use the code from the companion CD-ROM but read through the steps in order to appreciate the role of the resource editors and the wizards. For the final chapters, not all the source code is listed. You'll need to examine the companion CD-ROM's files for those examples. For Win32 Programmers: Unicode Until recently, Windows-based programs have used only the ANSI character set, which consists of 256 single-byte characters. Developers targeting the Asian software market are moving to the Unicode character set, which consists of 65,536 characters, each 2 bytes (wide). A third option, the double-byte character set (DBCS), includes both 1-byte characters and 2-byte characters, but DBCS is falling out of favor. The MFC library and the runtime library both support Unicode applications. If you define the constant _UNICODE and follow the steps described in the online documentation, all your character variables and constant strings will be wide and the compiler will generate calls to the wide-character versions of the Win32 functions. This assumes that you use certain macros when you declare character pointers and arrays for example, TCHAR and _T. You'll hit a snag, though, if you try to run your MFC Unicode applications under Windows 95 or Windows 98, because they don't support Unicode internally. Even though Windows 95 and Windows 98 have wide-character versions of Win32 functions, those functions return a failure code. Windows NT, on the other hand, uses Unicode internally and has two versions of the Win32 functions that deal with characters. If you call a single-byte version, Windows NT makes the necessary conversions to and from wide characters. None of the sample programs in this book are configured for Unicode. All the programs use single-byte types such as char and single-byte string constants, and they do not define _UNICODE. If you run the samples under Windows NT, the operating system will do the necessary single-to-wide conversions; if you run them under Windows 95 or Windows 98, the interface is pure single-byte. One area in which you're forced to deal with wide characters is COM. All non-mfc COM functions (except DAO functions) that have string and character parameters require wide (OLECHAR) characters. If you write a non-unicode program, you must do the conversions yourself with the help of the MFC CString class and various MFC macros. If you want to write Unicode applications, read the Unicode chapter in Jeffrey Richter's Advanced Windows. You should also read the Unicode material in the Visual C++ online documentation.

11 Technical Notes and Sample Programs Technical Notes and Sample Programs The MSDN Library for Visual Studio 6.0 contains technical notes and sample programs that are referenced in this book. The technical notes, identified by number, are available from the Contents tab under the heading: MSDN Library Visual Studio 6.0 Visual C++ Documentation Reference Microsoft Foundation Class Library and Templates Microsoft Foundation Class Library MFC Technical Notes The MSDN CD-ROM also contains a number of MFC sample programs also referenced in the book and identified by name. These sample programs are documented under the heading: MSDN Library Visual Studio 6.0 Visual C++ Documentation Samples MFC Samples

12 Support Support Every effort has been made to ensure the accuracy of this book and the contents of the companion disc. Microsoft Press provides corrections for books through the Web at: If you have comments, questions, or ideas regarding this book or the companion disc, please send them to Microsoft Press using postal mail or Microsoft Press Attn: Programming Microsoft Visual C++ Editor One Microsoft Way Redmond, WA Please note that product support is not offered through the above mail addresses. For support information regarding Microsoft Visual C++, you can call the technical support line at (425) weekdays between 6 a.m. and 6 p.m. Pacific time. Microsoft also provides information about Visual C++ at and about the Microsoft Developer Network at

Inside Visual C++: With CDROM (Microsoft Programming Series) PDF

Inside Visual C++: With CDROM (Microsoft Programming Series) PDF Inside Visual C++: With CDROM (Microsoft Programming Series) PDF In addition, INSIDE VISUAL C++, Fifth Edition, delivers authoritative guidance on:-- Fundamentals -- GDI, event handling, dialog boxes,

More information

Essential Winlnet: Developing Applications Using The Windows Internet API With RAS, ISAPI, ASP, And COM Ebook

Essential Winlnet: Developing Applications Using The Windows Internet API With RAS, ISAPI, ASP, And COM Ebook Essential Winlnet: Developing Applications Using The Windows Internet API With RAS, ISAPI, ASP, And COM Ebook The era of stand-alone, self-contained applications is rapidly ending. Distributed, networked

More information

KINGS COLLEGE OF ENGINEERING PUNALKULAM DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK UNIT - I WINDOWS PROGRAMMING PART A (2 MARKS)

KINGS COLLEGE OF ENGINEERING PUNALKULAM DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK UNIT - I WINDOWS PROGRAMMING PART A (2 MARKS) 1 KINGS COLLEGE OF ENGINEERING PUNALKULAM - 613 303 DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK Subject Code & Name: CS1305 Visual Programming Year / Sem : III / VI UNIT - I WINDOWS PROGRAMMING

More information

Prentice Hall CBT Systems X In A Box IT Courses

Prentice Hall CBT Systems X In A Box IT Courses Prentice Hall CBT Systems X In A Box IT Courses We make it click Visual Basic 5 In A Box Gary Cornell and Dave Jezak Prentice Hall PTR Upper Saddle River, NJ 07458 http://www.phptr.com Part of the Prentice

More information

Lab 7 Macros, Modules, Data Access Pages and Internet Summary Macros: How to Create and Run Modules vs. Macros 1. Jumping to Internet

Lab 7 Macros, Modules, Data Access Pages and Internet Summary Macros: How to Create and Run Modules vs. Macros 1. Jumping to Internet Lab 7 Macros, Modules, Data Access Pages and Internet Summary Macros: How to Create and Run Modules vs. Macros 1. Jumping to Internet 1. Macros 1.1 What is a macro? A macro is a set of one or more actions

More information

DEPARTMENT OF INFORMATION TECHNOLOGY ACADEMIC YEAR EVEN SEMESTER QUESTION BANK. UNIT I WINDOWS PROGRAMMING Part-A (2-MARKS)

DEPARTMENT OF INFORMATION TECHNOLOGY ACADEMIC YEAR EVEN SEMESTER QUESTION BANK. UNIT I WINDOWS PROGRAMMING Part-A (2-MARKS) SUB CODE: CS1253 DEPARTMENT OF INFORMATION TECHNOLOGY ACADEMIC YEAR 2008-2009 EVEN SEMESTER SUB NAME: VISUAL PROGRAMMING QUESTION BANK UNIT I WINDOWS PROGRAMMING 1. Write a simple windows program to print

More information

Win32 System Programming Epub Gratuit

Win32 System Programming Epub Gratuit Win32 System Programming Epub Gratuit With this book, you can capitalize on your knowledge of high-end operating systems such as UNIX, MVS, and VMS to learn Windows system programming quickly. Written

More information

How to Improve Your Campaign Conversion Rates

How to Improve Your  Campaign Conversion Rates How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email

More information

Linked Lists. What is a Linked List?

Linked Lists. What is a Linked List? Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the

More information

COPYRIGHTED MATERIAL. Starting Strong with Visual C# 2005 Express Edition

COPYRIGHTED MATERIAL. Starting Strong with Visual C# 2005 Express Edition 1 Starting Strong with Visual C# 2005 Express Edition Okay, so the title of this chapter may be a little over the top. But to be honest, the Visual C# 2005 Express Edition, from now on referred to as C#

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

Getting Started. 1.1 A look at Developer Studio

Getting Started. 1.1 A look at Developer Studio Getting Started 1 1.1 A look at Developer Studio Compaq Visual Fortran (Visual Fortran) uses the same development environment as Microsoft Visual C++. This development environment is shown in Figure 1.1,

More information

Opening Microsoft Visual Studio. On Microsoft Windows Vista and XP to open the visual studio do the following:

Opening Microsoft Visual Studio. On Microsoft Windows Vista and XP to open the visual studio do the following: If you are a beginner on Microsoft Visual Studio 2008 then you will at first find that this powerful program is not that easy to use for a beginner this is the aim of this tutorial. I hope that it helps

More information

dark star Excelsior User s guide A Year 2000 Auto-Renovation Tool

dark star Excelsior User s guide A Year 2000 Auto-Renovation Tool dark star s y s t e m s Excelsior User s guide A Year 2000 Auto-Renovation Tool dark star s y s t e m s Excelsior User s guide A Year 2000 Auto-Renovation Tool Dark Star Systems Inc., 1999. All rights

More information

The Domino Designer QuickStart Tutorial

The Domino Designer QuickStart Tutorial The Domino Designer QuickStart Tutorial 1. Welcome The Domino Designer QuickStart Tutorial You've installed Domino Designer, you've taken the Designer Guided Tour, and maybe you've even read some of the

More information

Programming in Microsoft Visual C++ Programming in Microsoft Visual C++

Programming in Microsoft Visual C++ Programming in Microsoft Visual C++ Programming in Microsoft Visual C++ INDEX Part I - Getting Started with Visual C++ 5 Section 1 - Introducing Visual C++ 5 Section 2 - Writing Simple C++ Programs Section 3 - Structures, Classes, and the

More information

GLY Geostatistics Fall Lecture 2 Introduction to the Basics of MATLAB. Command Window & Environment

GLY Geostatistics Fall Lecture 2 Introduction to the Basics of MATLAB. Command Window & Environment GLY 6932 - Geostatistics Fall 2011 Lecture 2 Introduction to the Basics of MATLAB MATLAB is a contraction of Matrix Laboratory, and as you'll soon see, matrices are fundamental to everything in the MATLAB

More information

Read & Download (PDF Kindle) Multithreading Applications In Win32: The Complete Guide To Threads

Read & Download (PDF Kindle) Multithreading Applications In Win32: The Complete Guide To Threads Read & Download (PDF Kindle) Multithreading Applications In Win32: The Complete Guide To Threads Using multiple threads, you can create high-performance servers, build extensions for Internet servers,

More information

A PROGRAM IS A SEQUENCE of instructions that a computer can execute to

A PROGRAM IS A SEQUENCE of instructions that a computer can execute to A PROGRAM IS A SEQUENCE of instructions that a computer can execute to perform some task. A simple enough idea, but for the computer to make any use of the instructions, they must be written in a form

More information

This chapter is intended to take you through the basic steps of using the Visual Basic

This chapter is intended to take you through the basic steps of using the Visual Basic CHAPTER 1 The Basics This chapter is intended to take you through the basic steps of using the Visual Basic Editor window and writing a simple piece of VBA code. It will show you how to use the Visual

More information

Part I: Programming Access Applications. Chapter 1: Overview of Programming for Access. Chapter 2: Extending Applications Using the Windows API

Part I: Programming Access Applications. Chapter 1: Overview of Programming for Access. Chapter 2: Extending Applications Using the Windows API 74029c01.qxd:WroxPro 9/27/07 1:43 PM Page 1 Part I: Programming Access Applications Chapter 1: Overview of Programming for Access Chapter 2: Extending Applications Using the Windows API Chapter 3: Programming

More information

Chapter 1: Introduction to Visual C++ Certification Objectives. Cha 01: Certification Objectives. 1. Introduction to Visual Studio.

Chapter 1: Introduction to Visual C++ Certification Objectives. Cha 01: Certification Objectives. 1. Introduction to Visual Studio. Cha 01: Chapter 1: Introduction to Visual C++ Certification Objectives. 1 Introduction to Visual Studio. 4 Introduction to Visual C++. 6 Installation Requirements. 13 Installing Visual C++ 6.0 Using Visual

More information

Azon Master Class. By Ryan Stevenson Guidebook #11 Squidoo Marketing

Azon Master Class. By Ryan Stevenson   Guidebook #11 Squidoo Marketing Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #11 Squidoo Marketing Table of Contents 1. Getting Started With Squidoo 2. Lens Research & Targeting 3. Lens Creation Tutorial

More information

Force.com Workbook. Last updated: May 17, 2010

Force.com Workbook. Last updated: May 17, 2010 Force.com Workbook: Summer '10 Force.com Workbook Last updated: May 17, 2010 Copyright 2000-2010 salesforce.com, inc. All rights reserved. Salesforce.com is a registered trademark of salesforce.com, inc.,

More information

Google Docs Website (Sign in or create an account):

Google Docs Website (Sign in or create an account): What is Google Docs? Google Docs is a free online word processor, spreadsheet, and presentation editor that allows you to create, store, share, and collaborate on documents with others. Create and share

More information

Getting Help...71 Getting help with ScreenSteps...72

Getting Help...71 Getting help with ScreenSteps...72 GETTING STARTED Table of Contents Onboarding Guides... 3 Evaluating ScreenSteps--Welcome... 4 Evaluating ScreenSteps--Part 1: Create 3 Manuals... 6 Evaluating ScreenSteps--Part 2: Customize Your Knowledge

More information

Kindle Books The C Programming Language

Kindle Books The C Programming Language Kindle Books The C Programming Language The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized

More information

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts

More information

And FlexCel is much more than just an API to read or write xls files. On a high level view, FlexCel contains:

And FlexCel is much more than just an API to read or write xls files. On a high level view, FlexCel contains: INTRODUCTION If you develop applications for the.net Framework, be it Winforms, ASP.NET or WPF, you are likely to need to interface with Excel sooner or later. You might need to create Excel files that

More information

MITOCW ocw apr k

MITOCW ocw apr k MITOCW ocw-6.033-32123-06apr2005-220k Good afternoon. So we're going to continue our discussion about atomicity and how to achieve atomicity. And today the focus is going to be on implementing this idea

More information

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships Instructor: Craig Duckett Lecture 04: Thursday, April 5, 2018 Relationships 1 Assignment 1 is due NEXT LECTURE 5, Tuesday, April 10 th in StudentTracker by MIDNIGHT MID-TERM EXAM is LECTURE 10, Tuesday,

More information

Visual Studio 2010 Silverlight No Symbols Have Been Loaded For This Document

Visual Studio 2010 Silverlight No Symbols Have Been Loaded For This Document Visual Studio 2010 Silverlight No Symbols Have Been Loaded For This Document No symbols have been loaded for this document when debugging asp.net service im getting the subject error for breakpoints set

More information

Professional Visual C++ 5 Activex/Com Control Programming PDF

Professional Visual C++ 5 Activex/Com Control Programming PDF Professional Visual C++ 5 Activex/Com Control Programming PDF A book written by programmers, Professional Visual C++ ActiveX Intranet Programming is a guide to creating custom ActiveX components to allow

More information

A Guided Tour of Doc-To-Help

A Guided Tour of Doc-To-Help A Guided Tour of Doc-To-Help ii Table of Contents Table of Contents...ii A Guided Tour of Doc-To-Help... 1 Converting Projects to Doc-To-Help 2005... 1 Using Microsoft Word... 10 Using HTML Source Documents...

More information

Slide 1 CS 170 Java Programming 1 Testing Karel

Slide 1 CS 170 Java Programming 1 Testing Karel CS 170 Java Programming 1 Testing Karel Introducing Unit Tests to Karel's World Slide 1 CS 170 Java Programming 1 Testing Karel Hi Everybody. This is the CS 170, Java Programming 1 lecture, Testing Karel.

More information

Read & Download (PDF Kindle) Pcm Visual Basic Programmers Guide To The WIN32 API

Read & Download (PDF Kindle) Pcm Visual Basic Programmers Guide To The WIN32 API Read & Download (PDF Kindle) Pcm Visual Basic Programmers Guide To The WIN32 API Turn your Visual Basic knowledge into Windows programming expertise by tapping into the powerful tools of the Windows application

More information

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition)

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Data Structures and Other Objects Using Java is a gradual, "just-in-time" introduction to Data Structures for a CS2

More information

Physics REU Unix Tutorial

Physics REU Unix Tutorial Physics REU Unix Tutorial What is unix? Unix is an operating system. In simple terms, its the set of programs that makes a computer work. It can be broken down into three parts. (1) kernel: The component

More information

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek Seite 1 von 5 Issue Date: FoxTalk July 2000 It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek This month, Paul Maskens and Andy Kramek discuss the problems of validating data entry.

More information

Eventually, you'll be returned to the AVD Manager. From there, you'll see your new device.

Eventually, you'll be returned to the AVD Manager. From there, you'll see your new device. Let's get started! Start Studio We might have a bit of work to do here Create new project Let's give it a useful name Note the traditional convention for company/package names We don't need C++ support

More information

Business Data Communications And Networking Ebooks Free

Business Data Communications And Networking Ebooks Free Business Data Communications And Networking Ebooks Free Updated with the latest advances in the field,â Jerry FitzGerald, Alan Dennis, and Alexandra Durcikova's 12th Edition of Business Data Communications

More information

Module 15: Context-Sensitive Help

Module 15: Context-Sensitive Help Module 15: Context-Sensitive Help Program examples compiled using Visual C++ 6.0 (MFC 6.0) compiler on Windows XP Pro machine with Service Pack 2. Topics and sub topics for this Tutorial are listed below:

More information

RIS shading Series #2 Meet The Plugins

RIS shading Series #2 Meet The Plugins RIS shading Series #2 Meet The Plugins In this tutorial I will be going over what each type of plugin is, what their uses are, and the basic layout of each. By the end you should understand the three basic

More information

Data Structures And Other Objects Using Java Download Free (EPUB, PDF)

Data Structures And Other Objects Using Java Download Free (EPUB, PDF) Data Structures And Other Objects Using Java Download Free (EPUB, PDF) This is the ebook of the printed book and may not include any media, website access codes, or print supplements that may come packaged

More information

Arduino IDE Friday, 26 October 2018

Arduino IDE Friday, 26 October 2018 Arduino IDE Friday, 26 October 2018 12:38 PM Looking Under The Hood Of The Arduino IDE FIND THE ARDUINO IDE DOWNLOAD First, jump on the internet with your favorite browser, and navigate to www.arduino.cc.

More information

SHRI ANGALAMMAN COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE VISUAL PROGRAMMING UNIT I

SHRI ANGALAMMAN COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE VISUAL PROGRAMMING UNIT I SHRI ANGALAMMAN COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE YEAR : III VISUAL PROGRAMMING UNIT I SEMESTER : V WINDOWS PROGRAMMING 1. List out the aspects of Windows 2. Define Dynamic

More information

MITOCW watch?v=r6-lqbquci0

MITOCW watch?v=r6-lqbquci0 MITOCW watch?v=r6-lqbquci0 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Skill 1: Multiplying Polynomials

Skill 1: Multiplying Polynomials CS103 Spring 2018 Mathematical Prerequisites Although CS103 is primarily a math class, this course does not require any higher math as a prerequisite. The most advanced level of mathematics you'll need

More information

Excel Macros For Dummies 2010 Enable But Not

Excel Macros For Dummies 2010 Enable But Not Excel Macros For Dummies 2010 Enable But Not Working She says that this is happening with all of the files she has on Excel 2010 but on a of settings and macros are enabled and there doesn't seem to be

More information

TourMaker Reference Manual. Intro

TourMaker Reference Manual. Intro TourMaker Reference Manual Intro Getting Started Tutorial: Edit An Existing Tour Key Features & Tips Tutorial: Create A New Tour Posting A Tour Run Tours From Your Hard Drive Intro The World Wide Web is

More information

Slide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Advance mode: Auto

Slide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Advance mode: Auto CS 170 Java Programming 1 The Switch Slide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Menu-Style Code With ladder-style if-else else-if, you might sometimes find yourself writing menu-style

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

HELPLINE. Dilwyn Jones

HELPLINE. Dilwyn Jones HELPLINE Dilwyn Jones Remember that you can send me your Helpline queries by email to helpline@quanta.org.uk, or by letter to the address inside the front cover. While we do our best to help, we obviously

More information

I Want To Wipe My Computer Clean And Start Over Windows 7

I Want To Wipe My Computer Clean And Start Over Windows 7 I Want To Wipe My Computer Clean And Start Over Windows 7 How to delete everything on your laptop and start all over again You saved my life. How to wipe a laptop: Make sure your data is deleted before

More information

Welcome to this IBM Rational podcast, enhanced. development and delivery efficiency by improving initial

Welcome to this IBM Rational podcast, enhanced. development and delivery efficiency by improving initial IBM Podcast [ MUSIC ] GIST: Welcome to this IBM Rational podcast, enhanced development and delivery efficiency by improving initial core quality. I'm Kimberly Gist with IBM. Catching defects earlier in

More information

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they

More information

Windows Script Host Fundamentals

Windows Script Host Fundamentals O N E Windows Script Host Fundamentals 1 The Windows Script Host, or WSH for short, is one of the most powerful and useful parts of the Windows operating system. Strangely enough, it is also one of least

More information

Basic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis. Copyright 2012 L. Leona Davis All Rights Reserved

Basic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis. Copyright 2012 L. Leona Davis All Rights Reserved Basic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis Copyright 2012 L. Leona Davis All Rights Reserved Cover Photo by Dmitry Maslov Cover Design by L. Leona Davis Smashwords Edition June

More information

Contents. What's New. Upcoming new version. Newsletter #43 (Aug 6, 2017) A couple quick reminders:

Contents. What's New. Upcoming new version. Newsletter #43 (Aug 6, 2017) A couple quick reminders: Campground Master Newsletter #43 (Aug 6, 2017) 1 Newsletter #43 (Aug 6, 2017) Contents A couple quick reminders: Make Backups! It's so sad when we hear from someone whose computer has crashed and they

More information

Meet our Example Buyer Persona Adele Revella, CEO

Meet our Example Buyer Persona Adele Revella, CEO Meet our Example Buyer Persona Adele Revella, CEO 685 SPRING STREET, NO. 200 FRIDAY HARBOR, WA 98250 W WW.BUYERPERSONA.COM You need to hear your buyer s story Take me back to the day when you first started

More information

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience Persona name Amanda Industry, geographic or other segments B2B Roles Digital Marketing Manager, Marketing Manager, Agency Owner Reports to VP Marketing or Agency Owner Education Bachelors in Marketing,

More information

Integrating Visual FoxPro and MailChimp

Integrating Visual FoxPro and MailChimp Integrating Visual FoxPro and MailChimp Whil Hentzen We've all written our own email applications. I finally decided to use an outside service to handle my emailing needs. Here's how I used VFP to integrate

More information

Running Wordstar 6 on Windows 7 Using vdos

Running Wordstar 6 on Windows 7 Using vdos Running Wordstar 6 on Windows 7 Using vdos Thanks to Dennis McCunney for helping me learn how to set vdos up. DISCLAIMER #1: As explained below, I am running Wordstar 6 for DOS on a Windows 7 (64- bit)

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Java platform. Applets and applications. Java programming language: facilities and foundation. Memory management

More information

Different Ways of Writing Windows Programs

Different Ways of Writing Windows Programs How Windows Works Notes for CS130 Dr. Beeson Event-Driven Programming. In Windows, and also in Java applets and Mac programs, the program responds to user-initiated events: mouse clicks and key presses.

More information

Slide 1 CS 170 Java Programming 1 Duration: 00:00:49 Advance mode: Auto

Slide 1 CS 170 Java Programming 1 Duration: 00:00:49 Advance mode: Auto CS 170 Java Programming 1 Eclipse@Home Downloading, Installing and Customizing Eclipse at Home Slide 1 CS 170 Java Programming 1 Eclipse@Home Duration: 00:00:49 What is Eclipse? A full-featured professional

More information

Free Downloads Microsoft Access 2010 Step By Step

Free Downloads Microsoft Access 2010 Step By Step Free Downloads Microsoft Access 2010 Step By Step Experience learning made easy-and quickly teach yourself how to build database solutions with Access 2010. With STEP BY STEP, you set the pace-building

More information

Windows Programming Using MFC and Visual C ++.Net

Windows Programming Using MFC and Visual C ++.Net Windows Programming Using MFC and Visual C ++.Net Introduction Masoud Milani School of Computer Science Florida International University Miami, FL 33199 milani@fiu.edu INTRODUCTION This course covers the

More information

Free Downloads Microsoft Access Developer's Guide To SQL Server

Free Downloads Microsoft Access Developer's Guide To SQL Server Free Downloads Microsoft Access Developer's Guide To SQL Server Microsoft Access 2000 Developer's Guide to Microsoft SQL Server provides much needed information and guidance for the Access power user or

More information

Embedding Python in Your C Programs

Embedding Python in Your C Programs 1 of 7 6/18/2006 9:05 PM Embedding Python in Your C Programs William Nagel Abstract C, meet Python. Python, this is C. With surprisingly little effort, the Python interpreter can be integrated into your

More information

Setting Up OS/2 Peer-to-Peer Networking & Coexistence of Warp & NT Machines

Setting Up OS/2 Peer-to-Peer Networking & Coexistence of Warp & NT Machines Setting Up OS/2 Peer-to-Peer Networking & Coexistence of Warp & NT Machines 1998, Frank R. Field, III (furd@mit.edu) (Last revision: February 13, 1998} Ed. Original version is http://web.mit.edu/activities/os2/peer/warppeer.htm.

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

How To Make 3-50 Times The Profits From Your Traffic

How To Make 3-50 Times The Profits From Your Traffic 1 How To Make 3-50 Times The Profits From Your Traffic by Chris Munch of Munchweb.com Copyright Munchweb.com. All Right Reserved. This work cannot be copied, re-published, or re-distributed. No re-sell

More information

Watch the video below to learn more about number formats in Excel. *Video removed from printing pages. Why use number formats?

Watch the video below to learn more about number formats in Excel. *Video removed from printing pages. Why use number formats? Excel 2016 Understanding Number Formats What are number formats? Whenever you're working with a spreadsheet, it's a good idea to use appropriate number formats for your data. Number formats tell your spreadsheet

More information

Understanding Browsers

Understanding Browsers Understanding Browsers What Causes Browser Display Differences? Different Browsers Different Browser Versions Different Computer Types Different Screen Sizes Different Font Sizes HTML Errors Browser Bugs

More information

6.001 Notes: Section 15.1

6.001 Notes: Section 15.1 6.001 Notes: Section 15.1 Slide 15.1.1 Our goal over the next few lectures is to build an interpreter, which in a very basic sense is the ultimate in programming, since doing so will allow us to define

More information

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides for both problems first, and let you guys code them

More information

Chapter 1 Getting Started

Chapter 1 Getting Started Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different

More information

Installation Guide. Tivoli Decision Support 2.0

Installation Guide. Tivoli Decision Support 2.0 Installation Guide Tivoli Decision Support 2.0 Tivoli Decision Support 2.0 Installation Guide (August, 1998) Copyright 1998 by Tivoli Systems, an IBM Company, including this documentation and all software.

More information

Screenshots Made Easy

Screenshots Made Easy Screenshots Made Easy Welcome to the simplest screenshot tutorial ever. We'll be using the simplest graphic editing tool ever: Microsoft Paint. The goal of this tutorial is to get you making your own screenshots

More information

Writing Excel Macros: Automating Excel To Work For You By PhD Steven Roman

Writing Excel Macros: Automating Excel To Work For You By PhD Steven Roman Writing Excel Macros: Automating Excel To Work For You By PhD Steven Roman If searching for the ebook Writing Excel Macros: Automating Excel to Work for You by PhD Steven Roman in pdf format, then you've

More information

Promoting Component Architectures in a Dysfunctional Organization

Promoting Component Architectures in a Dysfunctional Organization Promoting Component Architectures in a Dysfunctional Organization by Raj Kesarapalli Product Manager Rational Software When I first began my career as a software developer, I didn't quite understand what

More information

Chapter 1 INTRODUCTION SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

Chapter 1 INTRODUCTION SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. hapter 1 INTRODUTION SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: Java features. Java and its associated components. Features of a Java application and applet. Java data types. Java

More information

Math Modeling in Java: An S-I Compartment Model

Math Modeling in Java: An S-I Compartment Model 1 Math Modeling in Java: An S-I Compartment Model Basic Concepts What is a compartment model? A compartment model is one in which a population is modeled by treating its members as if they are separated

More information

Azon Master Class. By Ryan Stevenson Guidebook #8 Site Construction 1/3

Azon Master Class. By Ryan Stevenson   Guidebook #8 Site Construction 1/3 Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #8 Site Construction 1/3 Table of Contents 1. Code Generators 2. Home Page Menu Creation 3. Category Page Menu Creation 4.

More information

FrontPage Help Center. Topic: FrontPage Basics

FrontPage Help Center. Topic: FrontPage Basics FrontPage Help Center Topic: FrontPage Basics by Karey Cummins http://www.rtbwizards.com http://www.myartsdesire.com 2004 Getting Started... FrontPage is a "What You See Is What You Get" editor or WYSIWYG

More information

Designing a Database -- Understanding Relational Design

Designing a Database -- Understanding Relational Design Designing a Database -- Understanding Relational Design Contents Overview The Database Design Process Steps in Designing a Database Common Design Problems Determining the Purpose Determining the Tables

More information

XML Web Services Basics

XML Web Services Basics MSDN Home XML Web Services Basics Page Options Roger Wolter Microsoft Corporation December 2001 Summary: An overview of the value of XML Web services for developers, with introductions to SOAP, WSDL, and

More information

Class #7 Guidebook Page Expansion. By Ryan Stevenson

Class #7 Guidebook Page Expansion. By Ryan Stevenson Class #7 Guidebook Page Expansion By Ryan Stevenson Table of Contents 1. Class Purpose 2. Expansion Overview 3. Structure Changes 4. Traffic Funnel 5. Page Updates 6. Advertising Updates 7. Prepare for

More information

An Introductory Guide to SpecTRM

An Introductory Guide to SpecTRM An Introductory Guide to SpecTRM SpecTRM (pronounced spectrum and standing for Specification Tools and Requirements Methodology) is a toolset to support the specification and development of safe systems

More information

Upgrading And Fixing Computers Do-it-Yourself For Dummies PDF

Upgrading And Fixing Computers Do-it-Yourself For Dummies PDF Upgrading And Fixing Computers Do-it-Yourself For Dummies PDF An illustrated, step-by-step guide to repairs and upgrades Whether you want to prepare your computer for Windows 7, avoid investing in a new

More information

Azon Master Class. By Ryan Stevenson Guidebook #4 WordPress Installation & Setup

Azon Master Class. By Ryan Stevenson   Guidebook #4 WordPress Installation & Setup Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #4 WordPress Installation & Setup Table of Contents 1. Add Your Domain To Your Website Hosting Account 2. Domain Name Server

More information

To get started with Visual Basic 2005, I recommend that you jump right in

To get started with Visual Basic 2005, I recommend that you jump right in In This Chapter Chapter 1 Wading into Visual Basic Seeing where VB fits in with.net Writing your first Visual Basic 2005 program Exploiting the newfound power of VB To get started with Visual Basic 2005,

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

Install Guide Windows 7 Professional 32 Bit Iso

Install Guide Windows 7 Professional 32 Bit Iso Install Guide Windows 7 Professional 32 Bit Iso File An ISO file combines all the Windows installation files into a single uncompressed file. Windows XP SP2, Windows Vista, or Windows 7 (32-bit or 64-bit).

More information

Azon Master Class. By Ryan Stevenson Guidebook #7 Site Construction 2/2

Azon Master Class. By Ryan Stevenson   Guidebook #7 Site Construction 2/2 Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #7 Site Construction 2/2 Table of Contents 1. Creation of Additional Site Pages & Content 2. Custom HTML Menus for Category

More information

Here's how you declare a function that returns a pointer to a character:

Here's how you declare a function that returns a pointer to a character: 23 of 40 3/28/2013 10:35 PM Violets are blue Roses are red C has been around, But it is new to you! ANALYSIS: Lines 32 and 33 in main() prompt the user for the desired sort order. The value entered is

More information

Last week, David Terei lectured about the compilation pipeline which is responsible for producing the executable binaries of the Haskell code you

Last week, David Terei lectured about the compilation pipeline which is responsible for producing the executable binaries of the Haskell code you Last week, David Terei lectured about the compilation pipeline which is responsible for producing the executable binaries of the Haskell code you actually want to run. Today, we are going to look at an

More information

Install Guide Windows 7 Professional 64 Bit >>>CLICK HERE<<<

Install Guide Windows 7 Professional 64 Bit >>>CLICK HERE<<< Install Guide Windows 7 Professional 64 Bit Product Key Install windows 7 without cd / windows 7 professional cd key 64 bit / mount iso Edge dialog box lets you want to define the inventor for dummies

More information