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 | +-----------------------------------------------------------+