User`s guide
Table Of Contents
- Programmer’s Guide
- Copyright Page
- Introduction
- Building Programs and Libraries
- Using the Compiler and Linker from the Command Line
- The Format of the DF Command
- Examples of the DF Command Format
- Input and Output Files
- Environment Variables Used with the DF Command
- Specifying Project Types with DF Command Options
- Redirecting Command-Line Output to Files
- Using the DF Command to Compile and Link
- Compiling and Linking a Single Source File
- Using the DF Environment Variable to Specify Options
- Compiling, but not Linking, a Fortran Source File
- Compiling and Linking Multiple Fortran Source Files
- Generating a Listing File
- Linking Against Additional Libraries
- Linking Object Files
- Compiling and Linking for Debugging
- Compiling and Linking for Optimization
- Compiling and Linking Mixed-Language Programs
- DF Indirect Command File Use
- Compiler and Linker Messages
- Compiler and Linker Options
- Compiler Options
- Categories of Compiler Options
- /[no]alignment
- /[no]altparam
- /architecture
- /[no]asmattributes
- /[no]asmfile
- /assume
- /[no]automatic
- /bintext
- /[no]browser
- /[no]check
- /[no]comments
- /[no]compile_only
- /convert
- /[no]d_lines
- /[no]dbglibs
- /[no]debug
- /define
- /dll
- /[no]error_limit
- /[no]exe
- /[no]extend_source
- /extfor
- /extfpp
- /extlnk
- /[no]f66
- /[no]f77rtl
- /fast
- /[no]fixed
- /[no]fltconsistency (x86 only)
- /[no]fpconstant
- /fpe
- /fpp
- /[no]fpscomp
- /[no]free
- /granularity (Alpha only)
- /help
- /iface
- /[no]include
- /[no]inline
- /[no]intconstant
- /integer_size
- /[no]keep
- /[no]libdir
- /libs
- /[no]link
- /[no]list
- /[no]logo
- /[no]machine_code
- /[no]map
- /math_library
- /[no]module
- /names
- /nodefine
- /[no]object
- /[no]optimize
- /[no]pad_source
- /[no]pdbfile
- /[no]pipeline (Alpha only)
- /preprocess_only
- /real_size
- /[no]recursive
- /[no]reentrancy
- /rounding_mode (Alpha only)
- /[no]show
- /source
- /[no]stand
- /[no]static
- /[no]synchronous_exceptions (Alpha only)
- /[no]syntax_only
- /[no]threads
- /[no]traceback
- /[no]transform_loops
- /tune
- /undefine
- /unroll
- /[no]vms
- /[no]warn
- /[no]watch
- /what
- /winapp
- Linker Options and Related Information
- Setting LINK Options in the Visual Development Environment
- Rules for LINK Options
- /ALIGN
- /BASE
- /COMMENT
- /DEBUG
- /DEBUGTYPE
- /DEF
- /DEFAULTLIB
- /DELAY
- /DELAYHOLD
- /DLL
- /DRIVER
- /ENTRY
- /EXETYPE
- /EXPORT
- /FIXED
- /FORCE
- /GPSIZE
- /HEAP
- /IMPLIB
- /IMPORT
- /INCLUDE
- /INCREMENTAL
- /LARGEADDRESSAWARE
- /LIBPATH
- /LINK50COMPAT
- /MACHINE
- /MAP
- /MAPINFO
- /MERGE
- /NODEFAULTLIB
- /NOENTRY
- /NOLOGO
- /OPT
- /ORDER
- /OUT
- /PDB
- /PDBTYPE
- /PROFILE
- /RELEASE
- /SECTION
- /STACK
- /STUB
- /SUBSYSTEM
- /SWAPRUN
- /VERBOSE
- /VERSION
- /VXD
- /WARN
- /WS
- Module-Definition Files
- Linker Reserved Words
- Microsoft Fortran PowerStation Command-Line Compatibility
- Compiler Options
- Debugging Fortran Programs
- Performance: Making Programs Run Faster
- Software Environment and Efficient Compilation
- Analyze Program Performance
- Data Alignment Considerations
- Use Arrays Efficiently
- Improve Overall I/O Performance
- Use Unformatted Files Instead of Formatted Files
- Write Whole Arrays or Strings
- Write Array Data in the Natural Storage Order
- Use Memory for Intermediate Results
- Enable Implied-DO Loop Collapsing
- Use of Variable Format Expressions
- Efficient Use of Record Buffers and Disk I/O
- Specify RECL
- Use the Optimal Record Type
- Additional Source Code Guidelines for Run-Time Efficiency
- Optimization Levels: the /optimize Option
- Other Options Related to Optimization
- Using QuickWin
- Capabilities of QuickWin
- Comparing QuickWin with Windows-Based Applications
- Using Win32 with QuickWin
- Types of QuickWin Programs
- The QuickWin User Interface
- USE Statement Needed for Fortran QuickWin Applications
- Creating QuickWin Windows
- Using Graphics and Character-Font Routines
- Defining Graphics Characteristics
- Displaying Graphics Output
- Working With Screen Images
- Enhancing QuickWin Applications
- Customizing QuickWin Applications
- QuickWin Programming Precautions
- Simulating Nonblocking I/O
- Creating Fortran DLLs
- Creating Windows Applications
- Portability and Design Considerations
- Using Dialogs
- Drawing Graphics Elements
- Using Fonts from the Graphics Library
- Using National Language Support Routines
- Portability Library
- Files, Devices, and I/O Hardware
- Using COM and Automation Objects
- Programming with Mixed Languages
- Overview of Mixed-Language Issues
- Exchanging and Accessing Data in Mixed-Language
- Handling Data Types in Mixed-Language Programming
- Visual Fortran/Visual C++ Mixed-Language Programs
- Fortran/Visual Basic Mixed-Language Programs
- Fortran/MASM Mixed-Language Programs
- Creating Multithread Applications
- Data Representation
- Handling Run-Time Errors
- Default Run-Time Error Processing
- Methods of Handling Errors
- Locating Run-Time Errors
- Using Traceback Information
- Run-Time Environment Variables
- The Floating-Point Environment
- Converting Unformatted Numeric Data
- Hexadecimal-Binary-Octal-Decimal Conversions
- Using the IMSL Mathematical and Statistical Libraries
- Compatibility Information
- Using Visual Fortran Tools
- Overview of Visual Fortran Tools
- Using Tools from the Command Line
- Setting Up the Command Console
- Fortran Compiler and Linker
- MS-DOS Editor
- Building Projects with NMAKE
- Resource Compiler Options
- Managing Libraries with LIB
- Editing files with EDITBIN
- Examining Files with DUMPBIN
- Editing Format Descriptors with the Format Editor
- Profiling Code from the Command Line
- Fortran Tools: FSPLIT and FPR

Using QuickWin Page 1 of 32
Using QuickWin
This chapter introduces the major categories of QuickWin library routines. It gives an overview of
QuickWin features and their use in creating and displaying graphics, and customizing your QuickWin
applications with custom menus and mouse routines. Drawing Graphics Elements, and Using Fonts
from the Graphics Library cover graphics and fonts in more detail.
The Visual Fortran QuickWin run-time library helps you turn graphics programs into simple
Windows applications. Though the full capability of Windows is not available through QuickWin,
QuickWin is simpler to learn and to use. QuickWin applications do support pixel-based graphics,
real-coordinate graphics, text windows, character fonts, user-defined menus, mouse events, and
editing (select/copy/paste) of text, graphics, or both.
In Visual Fortran, graphics programs must be either Fortran QuickWin, Fortran Standard Graphics,
Fortran Windows, or use OpenGL routines. Fortran Standard Graphics Applications are a subset of
QuickWin that support only one window.
You can choose the Fortran QuickWin or Standard Graphics application type from the drop-down list
of available project types when you create a new project in the visual development environment. Or
you can use the /libs:qwin compiler option for Fortran QuickWin or the /libs:qwins compiler option
for Fortran Standard Graphics.
Note that Fortran QuickWin and Standard Graphics applications cannot be DLLs, and QuickWin and
Standard Graphics cannot be linked with run-time routines that are in DLLs. This means that the
/libs=qwin option and the /libs=dll with /threads options cannot be used together.
You can access the QuickWin routines library from Visual Fortran as well as other languages that
support the Fortran calling conventions. The graphics package supports all video modes supported by
Windows NT, Windows 98, and Windows 95.
A program using the QuickWin routines must explicitly access the QuickWin graphics library
routines with the statement USE DFLIB (see USE Statement Needed for QuickWin Applications).
This section includes the following topics:
Capabilities of QuickWin
Comparing QuickWin with Windows-Based Applications
Using Win32 with QuickWin
Types of QuickWin Programs
The QuickWin User Interface
USE Statement Needed for QuickWin Applications
Creating QuickWin Windows
Using Graphics and Character-Font Routines
Defining Graphics Characteristics
Displaying Graphics Output
Working with Screen Images
Enhancing QuickWin Applications
Customizing QuickWin Applications










