Digital Visual Fortran 6.0
The Digital Visual Fortran 6.0 is kind of an interesting approach. This development environment is supposed to fit into the Visual Studio Suite, namely, the Visual C++ IDE but with the Fortran compiler. It uses Fortran 95 or earlier versions. Digital added a number of capabilities to enhance the compatibility of Fortran with Windows. The format for programming is very much the approach for Visual C. The classical Windows Frame Window applications with window creation and main callback portions. Digital generates a module for you and you can also introduce your global variables using the module approach. Thus, a good working knowledge of Charles Petzold's book is indispensable in order to get past the classic Windows programming paradigm. Once the approach is mastered, there should be no great difficulty in getting a Fortran only program up and running with all the Fortran mathematical capabilities. Also indispensable is the extensive example code provided by Digital in small projects that cover a focused area of code. The main thing they did not seem to do was put together a complete advanced application of sorts.
The example given is a spreadsheet written entirely in Fortran and with a number of capabilities. This code is built directly on top of the Digital example that implemented menus in code. A number of other Digital provided approaches are used including their approach to the clipboard. The code for the paint event and the menu actions involving functions are developed here. A certain familiarity with the Windows API is needed to select what functions to use to aid the development. There are a couple of ways to get some idea of what these functions do and where to use them. One is in Visual Basic where a list of the functions and the defined constants are available as an add on to the IDE. Another source is Petzold's book which shows you how to use them. Another is to look at the MSDN Library and the SDK which describes them and very often gives sample code for their use. Finally, Dan Appleman's book on Visual Basic and the API gives a great deal of detail on the Windows approach, the API, and how to implement the API. Therein is a very detailed discussion of fonts if this is of interest.
Use this for a basis to build your own processing tool and display the results graphically. The one control that is missing from the DVF package is the multiline edit control. Digital provided some routines to do some string conversions back and forth between Fortran and C Strings. These are rather indispensable when acessing the Windows API. There are also some pointer capabilities built in by Digital to access when needed. A few of the menu actions contain code using the IMSL libraries. If this is of interest to you then look for these among the matrix operations and regression applications. There is a graphical display included to plot your results or to display data.
Good luck with your Fortran spreadsheet. There are probably some subtleties here that demand some explanation. My code is largely in menud.f90 unit. This unit takes a long time to compile so be prepared for a bit of a wait (about 2 min on an 800 MHz cpu). This points up the value of distributing the code in terms of compile time which has not been done in my case. There are some behaviors that could be improved. The cell expression evaluation requires spaces between terms and use of the decimal point is mandatory. The parsing of the cell expression is not very pretty, but it will handle nested parentheses and elementary functions. The userfn routine basically serves as an evaluator and subsequently a plotting routine for a user defined function placed in cell A5B5. Input values are highlighted for the plot and the function is plotted in the graphic display.
Menuf