I have a Duplicate Bridge Scoring Program written in Clipper which I want converting to a MS Windows application.
The linkage structure is slightly convoluted due to size and addressing constraints inherent in DOS based programs. These would of course be simplified in converting to a Windows based program, where in the simplest terms all the program modules would be strung together to give one executable module. The basic structure of the overall suite is:
There is a small batch program ([login to view URL]) which executes PAIRMENU.EXE. This is merely a list of seven executable modules chained together within. Each module is given a sequential number, and each program in the list can direct execution to another program through a DOS exit code set by ERRORLEVEL() (At start up PAIRMENU executes the first program in the parameter list - SCORER.EXE. Thereafter PAIRMENU executes the program whose sequential position in the parameter list equals the indicated exit code). None of this would be required under a Windows based program.
The seven executable modules are: [login to view URL]; [login to view URL]; [login to view URL]; [login to view URL]; [login to view URL]; [login to view URL]; UTILMENU.EXE. ( [login to view URL] is the one which does the bulk of the actual scoring). Probably [login to view URL] could be ignored since the functionality provided within this (i.e. ladder maintenance routines) is rarely used by any clubs.
Each of the above executable modules is composed of a number of object modules, each together with two object modules relating to the actual Clipper instructions (CLIPPER and EXTEND - if these are needed in the re-development process please advise).
The composition of the executable modules is:
SCORER - [login to view URL]; [login to view URL]; [login to view URL]
EVMENU - [login to view URL]; [login to view URL]; [login to view URL]; [login to view URL]; [login to view URL];
MOVEMENU - [login to view URL]; [login to view URL]; [login to view URL]
NAMEMENU - [login to view URL]; [login to view URL]; [login to view URL]
LADMENU - [login to view URL]; [login to view URL]; [login to view URL]
MPMENU - [login to view URL]; [login to view URL]; [login to view URL]
NAMEMENU - [login to view URL]; [login to view URL]; [login to view URL]
UTILMENU - [login to view URL]; [login to view URL]; [login to view URL]
As you can see there is a considerable amount of duplication within the .EXE modules particularly in relation to [login to view URL] and [login to view URL]
Within the Clipper linkage, when creating the object module, each individual .PRG program is automatically linked within the lead object module (e.g. when using the development Clipper command 'tlink evmenu', all the routines in the chain headed by [login to view URL] are picked up and linked together).