Dec 142017
C code to "Designing Screen Interfaces in C" by James Pinson.
File DSIIC2.ZIP from The Programmer’s Corner in
Category C Source Code
C code to “Designing Screen Interfaces in C” by James Pinson.
File Name File Size Zip Size Zip Type
BARDEMO.C 2933 925 deflated
BARDEMO.LST 20 20 stored
BARDEMO2.C 2929 864 deflated
BARDEMO2.LST 23 23 stored
DIR-DEMO.C 701 383 deflated
DIR-DEMO.LST 22 22 stored
HELP.H 1012 367 deflated
HELPDEMO.C 727 359 deflated
HELPDEMO.HLP 154 32 deflated
HELPDEMO.LST 33 31 deflated
HLP_IO.C 7801 2495 deflated
HLP_MENU.C 6251 1857 deflated
IN-DEMO.C 5074 1882 deflated
IN-DEMO.LST 21 21 stored
LISTDEMO.C 945 453 deflated
LISTDEMO.LST 23 23 stored
L_BAR.C 4540 1589 deflated
L_CHIP.C 1854 569 deflated
L_COPY.C 1109 491 deflated
L_DIR.C 4872 1506 deflated
L_GETFLD.C 8485 2539 deflated
L_GETKEY.C 715 290 deflated
L_INPUT.C 3646 1286 deflated
L_LIST.C 10700 3078 deflated
L_MAIN.C 6308 2014 deflated
L_POPUP.C 4844 1675 deflated
L_PRINT.C 7140 2355 deflated
L_SCRN1.C 8013 2080 deflated
L_SCRN2.C 2367 740 deflated
L_SCRN3.C 2126 712 deflated
L_SCRN4.C 2223 831 deflated
L_STRING.C 1501 542 deflated
L_TRIM.C 2242 606 deflated
L_WIN1.C 12424 3437 deflated
L_WIN2.C 5852 1829 deflated
L_WIN3.C 8864 2094 deflated
L_WIN4.C 8404 1615 deflated
L_WIN5.C 1068 325 deflated
MAKEHELP.C 4304 1645 deflated
MAKEHELP.LST 44 36 deflated
MYDEF.H 11658 3347 deflated
MYLIBCP.LIB 34304 12914 deflated
MYLIBQC.LIB 50941 19007 deflated
MYLIBTC.LIB 32256 12504 deflated
PANEL1.C 1150 538 deflated
PANEL1.LST 22 22 stored
PANEL2.C 1331 593 deflated
PANEL2.LST 21 21 stored
PD-DEMO.C 4839 1363 deflated
PD-DEMO.LST 27 25 deflated
PD.C 9494 2759 deflated
POPDEMO.C 2826 909 deflated
POPDEMO.LST 22 22 stored
READ.ME 4902 2044 deflated
READHLP.C 4069 1644 deflated
TWO-WAY.C 1968 732 deflated
TWO-WAY.LST 22 22 stored
WINDEMO.C 5243 1715 deflated
WINDEMO.LST 22 22 stored

Download File DSIIC2.ZIP Here

Contents of the READ.ME file

Source code

Designing Screen Interfaces in C

Yourdon Press/Prentice-Hall


The source code, as it appeared in the book, was released under
the name DSIIC.ZIP. The modifications made in this release were done to
make the code compatible with Borland C++.

If you have been using the first release (DSIIC.ZIP), you should note the
following changes:

- The prototype for the function start is now:
int start(int argc, char *argv[]);
- The function gotoxy() has been renamed goxy().

Microsoft C users should set the stack size to 4000 to avoid stack
related errors.


The book "Designing Screen Interfaces in C" covers the process of
creating a screen/window library. The screen/window library is then used
to create various screen interfaces such as:

-Pop-up menus.
-Moving light bar menus.
-Multi-level moving light bar menus.
-Pull-down menus.
-Data input screens (with verification).
-List selection (point & shoot /Hot key techniques).
-Directory functions.
-Context specific help screens.
-Help screen builder.

These routines are coded so that they may easily be modified and
used in your applications.

The full instructions for using this code are found in the book
and will not be duplicated here.

If you have not read the book (shame on you), I have a few
comments to help you get started.

-This code will compile under all memory models of Borland Turbo C 2.0,
and Microsoft QuickC V2.5. Borland C++ users may rename the source code
so it will compile as C++ code (rename *.c to *.cpp)

To specify the compiler you are using, change the first
definition found in "mydef.h" to read:

#define TURBOC
#define QUICKC

TURBOC will compile for Turbo C and Borland C++.
QUICKC will compile for Microsoft QuickC and Microsoft C

Note: The default is "#define TURBOC"

-The file "mydef.h" contains all function prototypes and data
structures, and should be included in all your programs which use
the library functions.

(ie: #include "mydef.h" )

-The source code for building the screen/window library are found
in the files having the specification "l_*.c". These files may
be compiled and placed in a library called "mylib.lib " for
linkage with the sample code.

I have precompiled three large model libraries for your immediate use:

MYLIBTC.LIB is for use with Borland Turbo.
MYLIBQC.LIB is for use with Microsoft QuickC (and probably works with
the full Microsoft C compilers)
MYLIBCP.LIB is for Borland C++.

Chose the library appropriate for you, and rename it "MYLIB.LIB".

-The function main() is found in the library module l_main.c. The
sample code, and any code you create, should have the function
start(), which will be called from main(). The function start()
is the entry point for your programs.

-I have not included make or project files for these programs,
due to the number of compilers supported. The following list files
(*.lst) are provided for each sample program. These files contain lists
of the code modules which should be compiled and linked to produce the
executable files.:

BARDEMO.LST Sample moving light bar menu (Lotus 123 style).
BARDEMO2.LST Multilevel moving light bar menu.
DIR-DEMO.LST Directory window demo (point & shoot / Hot key).
HELPDEMO.LST Context specific Help screen.
IN-DEMO.LST Data input screen (with field editing).
LISTDEMO.LST List selection demo (point & shoot / Hot key).
MAKEHELP.LST Editor for creating help screens.
PANEL1.LST Demonstrates nonoverlapping windows (panels).
PD-DEMO.LST Pull-down menu system.
POPDEMO.LST Pop-up menu.
TWO-WAY.LST Demonstrates full/partial menu selection.
WINDEMO.LST Demonstration of window creation/movement.

NOTE: When running all sample menus, select the option "Print",
Which opens up submenus. The other options, except
for "Exit", do not have any real function.

If you have a CGA graphics card which does NOT display
"snow", you may use the 'n' (no snow) parameter to speed
up screen displays.

ie: "windemo n".

Copyright (c) Information.

You are free to use these programs in any software product you
produce as long as:

-You include a credit line in your documentation or software.
-You do not resell the screen/window library as a stand-alone
product. (You may however, charge a small processing fee for
distributing the code.)

Jim Pinson 4/3/1992

CompuServe 73427,2424 or [email protected]

 December 14, 2017  Add comments

Leave a Reply