






     Microsoft Backgrounder: Microsoft Visual Basic, May 1991
     ========================================================


     Introduction

     The Microsoft Windows graphical environment offers many benefits to
     end users -- ease of use, user interface consistency, inter-
     application integration -- but poses new challenges for programmers.
     Writing Windows applications poses a challenge to programmers because
     the available development tools lack the very combination of
     functionality and ease of use that the applications themselves
     feature.

     Tools for Developing Graphical Applications

     Microsoft Windows applications make doing powerful things easy. The
     Microsoft Visual Basic programming system creates applications that
     tap into such Windows functionality as rich forms and controls, pull-
     down menus, graphics and animation, dynamic data exchange (DDE) and
     multi-tasking. These are difficult for Windows programmers using
     traditional tools to develop, but very easy to achieve in the
     Microsoft Visual Basic programming system. In general, software
     development tools have resided at either end of a spectrum, and each
     extreme forced developers to make tradeoffs. High-level tools allow
     faster development, which is paid for in reduced flexibility and
     control and greater runtime overhead. Low-level tools provide better
     control and less overhead, but require more programming skill. Thus,
     choosing a tool often involves making an undesirable compromise.

     Microsoft Visual Basic: Real Windows Applications Really Fast

     Microsoft Visual Basic programming system is a general-purpose
     graphical application development system for the Microsoft Windows
     environment that bridges the extremes of the tool spectrum described
     above. The Visual Basic system addresses the need for a Windows
     programming solution that is both serious and easy to use. It is
     specifically designed to accelerate Windows version 3.0 development by
     harnessing the power of the graphical environment to make mainstream
     programmers more productive. Visual Basic helps programmers create
     real Windows applications real fast. Extremely easy to use, it is the
     ultimate productivity tool.

     Visual Basic Key Features

     The following is a description of the key features of the Microsoft
     Visual Basic programming system.






     Visual Design Tools for the User Interface

     The Visual Basic system offers rich design tools that enable the
     visual components of an application to be designed with drawing tools.
     No code is required to create graphical user interfaces. Programs are
     designed, created and run within the target Windows environment.

     With Visual Basic programming system, windows and dialog boxes are
     designed visually by selecting a tool from the Toolbox of controls and
     then placing and sizing them on a form. All the Windows controls are
     included in the Toolbox: command buttons, option buttons, check boxes,
     simple and drop-down list boxes and combo boxes, text fields, labels
     (static text), pictures (that can display icons, bitmaps, Windows
     metafiles and programmatic graphics), Frame (to visually and
     functionally group controls), Timer (that responds to the system
     clock), scroll bars, and file system controls (drives, directory and
     file list boxes). These controls have the appearance and behavior of
     Windows controls such as three-dimensional command buttons that push
     in and out, scroll bars that scroll, and edit fields that accept text
     input and support cutting and pasting without writing any code.

     Visual design tools are also used to set the attributes of a form's
     appearance and behavior, from within the Visual Basic environment. The
     Property Bar provides a list of available properties for each type of
     control. A color palette offers a visual way to assign color
     properties. Menus, complete with access keys and accelerators, are
     created in outlining fashion in a menu design window. A project or
     application can include many forms.

     A Structured, Powerful Programming Language

     The Visual Basic language is a powerful, structured, general-purpose
     programming language. It is a derivative of the Microsoft QuickBasic
     modern programming system. Visual Basic language offers all the modern
     programming structures such as Subs and Functions, Block
     If...Then...Else..., Select Case, Do While/Until, For/Next and error
     trapping with an easy-to-learn syntax.

     An Event-Driven Programming Model

     The Visual Basic system introduces a high-level, event-driven
     programming model that is especially suited for programming in a
     graphical environment. Events such as mouse clicks and key presses are
     automatically detected and processed by the system. The Visual Basic
     programmer doesn't need to deal with event trapping or Windows message
     dispatching and can simply tell the Visual Basic application how to
     respond to a specific recognized event on a particular form or
     control. The Visual Basic system's visual design tools, combined with
     its event-driven nature, free the programmer to think of how the
     application should look and behave, instead of having to concentrate
     on lower-level system events or coding the user interface.






     A Fast, Responsive Coding and Debugging Environment

     The Microsoft Visual Basic programming system's combination of an
     intuitive front-end building tool with an easy-to-learn programming
     language creates a highly productive development environment.

     Further productivity is realized by the system's threaded p-code
     incremental compiler, a technology first introduced in Microsoft
     QuickBasic programming system version 4.0 in 1987. Each line of code
     is automatically parsed and incrementally compiled as soon as it is
     typed in. Syntax errors are trapped immediately, alerting the
     programmer to any syntax problem. The incremental compilation allows a
     very fast transition from Design mode to Run mode. Break mode is also
     available when the program encounters a runtime error or a breakpoint
     in the code. The programmer can then single-step or procedure-step
     through the application. The programmer also can set the next
     statement to be executed anywhere within a procedure. An Immediate
     window lets the programmer interact with the application while it is
     temporarily suspended in the running state. The programmer can check
     or even change the value of a variable, or enter any valid line of
     code, which is directly executed without affecting the source code.
     The programmer can then copy code entered in the Immediate window to
     the Code window, to be included in the program's source code. This
     revolutionary technology, first introduced in Microsoft QuickBasic
     system version 4.0, is the threaded p-code incremental compiler.

     For additional productivity, help is readily available in both online
     and printed form. A detailed computer-based tutorial gets the user up
     and running fast, and manuals (Programmer's Guide and Language
     Reference) provide further training and reference materials. Context-
     sensitive online Help provides readily available reference information
     on the programming language and environment. Code examples from Help
     can be copied and pasted to an application's source listing.

     The Ability to Create Real Windows .EXE Files

     When a program is designed, coded, debugged and fully functional, the
     programmer simply chooses Make EXE File from the File menu to create
     an .EXE file that can be freely distributed, without any royalties or
     runtime fees. .EXE files can have all the features generally
     associated with Microsoft Windows programs, such as multiple windows,
     pull-down menus, standard controls (command buttons, text fields,
     option button), graphics and icons, drag-and-drop and DDE.






     Interoperability and Extensibility

     Microsoft Visual Basic programming system gives programmers access to
     DDE and dynamic link libraries (DLLs) for interoperability and
     extensibility with other applications. Inter-application communication
     and integration is available via DDE. Visual Basic applications can be
     DDE clients, servers or both. The environment offers high-level DDE
     (paste-link) as well as programmable DDE in the language. Visual Basic
     environment includes a rich set of DDE events (LinkOpen, LinkClose,
     LinkExecute, LinkError), properties (LinkMode, LinkTopic, LinkItem,
     LinkTimeout), and methods (LinkExecute, LinkPoke, LinkRequest,
     LinkSend).

     Visual Basic programmers can access external routines in DLLs,
     including directly calling the Windows API (applications programming
     interface). This is accomplished with a very straightforward syntax. A
     one-line Function or Sub Declaration is all that is required to use an
     external DLL routine as though it were built into the Visual Basic
     system's language.

     Users can gain powerful additional functionality by extending the
     Microsoft Visual Basic development environment with custom controls.
     Microsoft has separately announced the Visual Basic Control
     Development Kit, which allows Windows developers to create extensions
     to the Visual Basic system. Custom controls can have predefined
     properties and events and some built-in functionality, just like the
     standard controls in the Visual Basic Toolbox. A Visual Basic
     programmer can load a custom control into a project, then assign
     properties and write code for it just as though it were a built-in
     control. Custom controls, like the standard ones, can trap events and
     call the appropriate event procedures written in Visual Basic
     language. This mechanism allows the Visual Basic environment to be
     extended in many different ways, providing custom user-interface
     components and specialized functionality such as multimedia, data
     access or communications capabilities.

     Visual Basic For High Productivity

     Visual Basic programming system is designed to make Windows
     application developers more productive regardless of skill level or
     application complexity. Its tightly integrated graphical development
     environment helps move applications from concept to executable code in
     the shortest possible time.






     The Visual Basic User

     Users of the Microsoft Visual Basic system have the common task of
     creating Windows applications, although they come to it with different
     backgrounds and skills. They are professional programmers working with
     small ISVs, VARs and system integrators; part-time programmers,
     including engineers, scientists, analysts and educators; corporate
     development staff and MIS professionals; and general PC "power users"
     who want to create their own Windows applications. Visual Basic system
     doesn't require programming experience, but it is helpful if the user
     is familiar with general programming concepts. Anyone who has written
     a macro or batch file, or has programmed in any high-level language,
     can be productive very quickly with Microsoft Visual Basic. Using the
     Visual Basic system, programmers can carry out a variety of tasks,
     including writing standalone GUI applications; integrating
     applications; developing application front ends, utilities or tools,
     and graphical display-oriented programs; and prototyping.

     Summary

     As Microsoft Windows grows in popularity, development environments are
     naturally evolving toward graphical hosts, allowing programmers to
     realize the productivity benefits of the graphical user interface.
     Microsoft visual Basic programming system is a low-cost (under $200
     U.S. suggested retail price) Microsoft Windows-hosted and targeted
     development tool that uses an event-driven programming model. It
     offers high-level visual design tools to help programmers develop
     interfaces.

     A graphical tool for graphical systems, the Visual Basic programming
     system provides a simple solution to the otherwise complex task of
     creating and integrating real Windows applications. It is the only
     general-purpose, high-productivity programming system for the
     Microsoft Windows environment.

     +-----------------------------------------------------------+
     | Processed using OmniPage/386 OCR software from Caere Corp |
     +-----------------------------------------------------------+
     