= FORTRAN/TK =
== General information ==
Welcome to the provisional homepage of the Open Source project FORTRAN/TK.[[BR]]
FORTRAN/TK is, an easy to learn, powerful cross-platform (OS/2 Warp and Windows 9x/NT) widget toolkit for the [http://www.openwatcom.org/ Open Watcom] FORTRAN/77 compiler. Technically it's a kind of wrapper to [http://rexxtk.sourceforge.net/ Rexx/Tk] but it does not rely on a Rexx interpreter. Although it is possible to [http://www.dci.clrc.ac.uk/Publications/Cookbook/f1.html embed FORTRAN] console programs in Tcl/Tk using pipes, FORTRAN/TK is the first real FORTRAN implementation of the Tk-toolkit from [http://www.tcl.tk/ Tcl/Tk] so far. However if you don't want or can't use the Open Watcom compiler or if you need support for Linux/Unix platforms, you might want to check out [http://ftcl.sourceforge.net/ Ftcl], an API for evaluating Tcl code in FORTRAN programs which can be used for creating Tk-interfaces, too.[[BR]]
All Rexx/Tk functions are already usable from within FORTRAN/TK including some which are not even listed in the [http://rexxtk.sourceforge.net/functions.html Rexx/Tk help]. It also includes about 20 new functions, called FORTRAN/TK extensions, which are neither part of Tcl/Tk nor Rexx/Tk nor Open Watcom FORTRAN. They include functions for file management, file searching, basic support for dynamic DLL handling and the clipboard which are commonly needed to write sophisticated GUI applications.[[BR]]
FORTRAN/TK is one of the easiest and most comfortable ways to create graphical user interfaces using the [wiki:fortran FORTRAN programming language]. It even implements features that are not really supported by the Open Watcom FORTRAN compiler at all like variable length argument lists, using some very dirty assembly hacks. Don't ask...[[BR]]
For more information, including dependencies, examples and build instructions, please refer to the [source:/trunk/readme.txt readme.txt]. The [ftp://pub.netlabs.org/pub/fortrantk/misc/fortrantk.pdf presentation about FORTRAN/TK] I held at the [http://wiki.netlabs.org/index.php/Developers_Workshop_2005 Developers Workshop 2005] in Dresden is also a good introduction, although it already contains outdated information.
FORTRAN/TK is licensed under the [http://www.opensource.org/licenses/osl-2.1.php Open Software License v.2.1].
== History ==
The history of all official FORTRAN/TK releases may be found in the [source:/trunk/history.txt history.txt].
== Screenshots ==
Here are some screenshots of the included example programs.
{{{
#!html
}}}
[[Image(scr_calc_0.6.jpg, width=113)]] [[Image(scr_edit_0.7d.jpg, width=104)]] [[Image(scr_example_0.7d.jpg, width=126)]]
{{{
#!html
}}}
== Releases ==
The various FORTRAN/TK releases are no real binary releases but more like source distributions. It must be compiled to a fortrantk.lib according to the build instructions. So each release is for OS/2 Warp and Windows 9x/NT. It is necessary to be able to compile FORTRAN/TK itself to compile a FORTRAN/TK program anyway. However the example programs are precompiled for both platforms and necessary runtime libraries are included so you can have a look at it first.
* [ftp://pub.netlabs.org/pub/fortrantk/ftk0.6beta.zip FORTRAN/TK Version 0.6 Beta]
* [ftp://pub.netlabs.org/pub/fortrantk/ftk0.5beta.zip FORTRAN/TK Version 0.5 Beta][[BR]]
FIX: One DLL-library is missing from the runtime-libraries of the OS/2 version to let it run properly. So you have to put it in the "examples\binos2\runtime" directory.[[BR]]
Download it from [ftp://pub.netlabs.org/pub/fortrantk/misc/rexxtran.dll here].
* [ftp://pub.netlabs.org/pub/fortrantk/ftk0.1alpha.zip FORTRAN/TK Version 0.1 Alpha]
== Applications using FORTRAN/TK ==
Here's a list of all bigger programs that use FORTRAN/TK as far as I know. If you wrote or know another one, please let me know.
* [http://svn.netlabs.org/canabis Canabis, the Open Source Canasta card-game]
* As a project in my engineering course at school, I'm working on a program that's capable of capturing a photo containing several Lego robots each marked with two circles of the same color and of different size. The program can distinguish the robots and calculate their correct position, their angle compared to the photos bottom and their direction. It is planned to be possible to navigate a robot to a given position. It uses the Video for Windows subsystem to control the webcam so it doesn't run on OS/2. I'll maybe release the source code sometime if there are no copyright problems. It's anyway unlikely that someone is going to continue it at school.
* FORTRAN/TK includes two major [source:/trunk/examples sample applications]. One of them is a simple calculator and another one is a notepad-like text editor.
== Further information ==
Currently there is no complete FORTRAN/TK documentation and guide but there are a number of files and homepages you should check out if you do want to write your own FORTRAN/TK programs.
* There's a short tutorial about how to write [wiki:helloworld "Hello world" in FORTRAN/TK].
* As already mentioned, the [source:/trunk/readme.txt readme.txt] contains useful information.
* There's a presentation I held at the OS/2 Developers Workshop 2005.[[BR]]
[ftp://pub.netlabs.org/pub/fortrantk/misc/fortrantk.pdf FORTRAN/TK: Easy GUI development for OS/2 and Windows]
* There are [source:/trunk/examples FORTRAN/TK examples] like a text editor, a calculator and a simple test program.
* The [http://svn.netlabs.org/canabis Canasta card-game Canabis] is based on FORTRAN/TK, too.
* The [source:/trunk FORTRAN/TK sourcecode].[[BR]]
You can find information about already implemented [source:/trunk/fortrantk.fap extended FORTRAN/TK functions] and about [source:/trunk/useful.fap FORTRAN/TK extensions].
* FORTRAN/TK is based on [http://rexxtk.sourceforge.net/ Rexx/Tk], so the [http://rexxtk.sourceforge.net/functions.html Rexx/Tk API] is very similar to the FORTRAN/TK one.
* For detailed information about the Tk-toolkit and its API, you should refer to the [http://www.tcl.tk/man/tcl8.0/ Tcl/Tk 8.0.5 manual].
=== FORTRAN Preprocessors ===
If you don't want to use the Open Watcom FORTRAN dialect or you already know the [http://sepwww.stanford.edu/software/ratfor.html Ratfor-preprocessor], you may want to give it a try with FORTRAN/TK. Here are some notes about [wiki:ratfor FORTRAN/TK and Ratfor].[[BR]]
Currently I'm working on my own FORTRAN preprocessor adapted to the Open Watcom dialect, that's able to overcome some of the compiler's limitations - in a way more FORTRAN-like than Ratfor.
== Contact ==
If you have questions or opinions or if you want to contribute, feel free to [mailto:robin.haberkorn@gmail.com send me an email].
[[Image(os2win.jpg, nolink, align=right)]]