********************************************************************
**                                                                **
**               IBM-PC Installation of DISLIN                    **
**                                                                **
**  Contents:  1.)  Introduction                                  **
**             2.)  Installation of DISLIN                        **
**             3.)  Getting a DISLIN License                      **
**             4.)  Programming with DISLIN                       **
**                                                                **
**  Date   :   15.04.2003                                         **
**  Version:   8.1  /  Windows,  Visual C++ 4.x, 5.x, 6.x         **
**  Author :   Helmut Michels, Tel.: +49 5556 979 334             **
**             MPI fuer Aeronomie, Max-Planck-Str. 2,             **
**             D-37191 Katlenburg-Lindau, Germany                 **
**             E-mail: michels@linmpi.mpg.de                      **
********************************************************************

1.)  Introduction

     This file describes the  installation  of the  data  plotting
     software DISLIN on IBM-PCs  for  the operating system Windows
     9x/NT/2000/XP and the Microsoft C compiler Visual C++.

2.)  Installation of DISLIN

     The  DISLIN version for the Microsoft Compiler Visual C++  is
     distributed in the zipped file  dl_81_vc.zip.  An utility for
     unpacking the DISLIN files is available from the same locati-
     on where you have downloaded dl_81_vc.zip, or from the DISLIN
     CD-ROM. 

     To install DISLIN, make the following steps:

  a) Create a temporary directory and copy the files dl_81_vc.zip
     and unzip.exe to it:

     for example:   md  c:\temp
                    cd  c:\temp
                    copy e:\dislin\windows\unzip.exe    *.*
                    copy e:\dislin\windows\dl_81_vc.zip *.*

  b) Extract the DISLIN files with the command:

                 unzip  -o dl_81_vc.zip

  c) Run the setup program with the command

                  setup

     -  Choose OK

     -  Give the Installation Directory where  DISLIN  should be in-
        stalled. The default directory is C:\DISLIN.


  d) Reconfigure the System

     Add the DISLIN\WIN directory to the PATH environment in the 
     file AUTOEXEC.BAT

     for example:  PATH C:\BIN;C:\DISLIN\WIN

     Add the DISLIN environment variable DISLIN to the autoexec.bat
     file:

     for example:  SET DISLIN=c:\dislin   
   
  e) Now you can compile,  link and run the example programs in the
     DISLIN subdirectory examples with the commands

                    clink  -a  exa_c
                    clink  -a  map_c

     Note: clink links by default with the static library disvc.lib 
           of DISLIN. If you want to use dynamic linking, you can link
           the export library dislnc.lib to your programs instead of
           disvc.lib. Your programs call then the DISLIN DLL dislnc.dll
           in the win subdirectory of the DISLIN directory. 


3.) Getting a DISLIN License

   You can install and check DISLIN for 10 days.  Once this date passes,
   DISLIN must be licensed. See the file 'DISLIN.INF' for licenses and 
   prices. 

   To get a license number, you have to run the program  'license'
   in the DISLIN\win directory:

   license

   The program will create the file 'license.lis'. Send it via E-mail
   to
                   michels@linmpi.mpg.de

   to receive a valid license number. After that, you will be contacted
   by  Garching Innovation  that manages the payment of DISLIN licenses
   (see the file 'DISLIN.INF'). 


4.)  Programming with DISLIN

     The software  DISLIN allows users to write graphic programs for
     the Microsoft Windows system  without knowledge of Windows pro-
     gramming.  The programs must be written in the programming lan-
     guage C and compiled and  linked  with  the  Microsoft compiler
     Visual C++.    
     
     Structure of DISLIN programs

     The following example shows the structure of DISLIN programs:

     a) Windows Console Programs

     #include <stdio.h>
     #include "dislin.h"           /* DISLIN  include file  */

     main()
     { metafl ("xwin");     /* Screen output            */
       disini ();           /* Initialization of DISLIN */
       pagera ();           /* plots a page border      */
       complx ();           /* Selects the COMPLX font  */

       messag ("This is a test!", 100, 100);   /* plots a message */
       disfin ();           /* Terminates DISLIN        */
       return 0;            /* End of the program        */
     }


     This example is compiled and linked by Visual C++ to a Windows
     console application. A console is created automatically by
     the program which can be used for input/output with standard
     C functions such as printf and scanf.  

     b) Windows Applications

     #include <windows.h>          /* Windows include file  */
     #include "dislin.h"           /* DISLIN  include file  */

     /* The following routine WinMain replaces the main routine of 
        normal C programs.
     */

     int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
                         PSTR lpsz, int nShow)
     {

       winapp ("windows");  /* DISLIN function: Warnings are written */
                            /* to a file and the protocol in disfin  */
                            /* is displayed in a widget.             */

       metafl ("xwin");     /* Screen output            */
       disini ();           /* Initialization of DISLIN */
       pagera ();           /* plots a page border      */
       complx ();           /* Selects the COMPLX font  */

       messag ("This is a test!", 100, 100);   /* plots a message */
       disfin ();           /* Terminates DISLIN        */
       return 0;            /* End of the program        */
     }

     This example is compiled and linked by Visual C++ to a Windows
     application. Standard C functions for input/output cannot be
     used. Instead of printf/scanf, DISLIN widget routines can be used. 

