************************* MASTER CODE *************************************** The name of the first file in this disk's directory identifies the volume, issue number and revision of the disk. The format of this filename is: !CDmvvii.rrr where ! = the '!' character m = C for C Users Journal, W for Windows Developer's Journal vv = volume ii = issue rrr = revision (001 for initial release, 002 for next update, etc.) The file UPDATE.DOC contains information about any additions or corrections to material on the disk since the original magazine publication. If you have obtained this code from a floppy diskette or from CompuServe, the headings under the column "FILENAME" represent the names of .ZIP files. All files listed under the filename are archived in the .ZIP file. Keywords: Jan97 C C+ CGI Templates GUI Skip List Console Printing The code listings for the January 1997 issue of C/C++ Users Journal include source code for Richard B. Lam's C++ CGI framework, Jamie Guinan's wxWindows sample code, Michael Martinka's template implementation of skip lists, and David Tamashiro's console printing techniques for Windows 95. Also included is source code from P.J. Plauger's column, Standard C/C++, an update to Harry H. Cheng's code from his November 1996 article on CGI Programming in C and a listing from our Letters to the Editor (We Have Mail) section. ************************* FILE DESCRIPTION ********************************** The following files are included in the disk: FILENAME AUTHOR-NAME TITLE PAGE (Zip archive/ subdirectory name) ------------------------------------------------------------------------------- lam Richard B. Lam A C++ Framework form.htm - listing 1, HTML code for a simple form mimehead.htm - listing 2, An output string for CGI programs that specifies the MIME type of the data that follows helpfrag.c - listing 3, Code fragment demonstrating cgiHTMLHelper methods main.c - listing 4, The main program for a CGIFramework application myproc.h - listing 5, A derived class for constructing a complete CGI program myproc.c - listing 6, A generic HTML form processor that returns the list of name-value pairs to the browser myproc.htm - listing 7, HTML source output from the program in Listing 6 myproc2.c - listing 8, More advanced form processor Full source code for CGI framework: env.dsw env.c env.ide noparse.c noparse.ide noparse.dsw parse.c parse.dsw parse.ide cgifwork.lib process.h tappl.h parser.h environ.h xcpt.h defs.h htmlhelp.h process.c cgifwork.ide parser.c environ.c htmlhelp.c cgifwork.dsw readme.txt guinan Jamie Guinan Platform-Independent C++ GUI Toolkits oninit.cpp listing 1, Startup method for Tetris game trisfiel.h listing 2, Definition of Trisfield class notify.cpp listing 3, Handling timer messages triscell.h listing 4, Defines a Tetris cell triscell.cpp listing 5, TriscCell methods martinka Michael A Template Implementation of Martinka Skip Lists skiplist.h listing 1, Classes SLPosition and Skiplist slpositi.cpp listing 2, SLPosition constructors skiplist.cpp listing 3, Skiplist constructor find.cpp listing 4, Skiplist search function insert.cpp listing 5, Skiplist insertion function remove.cpp listing 6, Skiplist deletion function test.cpp listing 7, Skiplist test function tamashir David Tamashiro Three Printing Techniques for Windows 95 Console Applications exam1.cpp - not listed, Technique for writing to the printer as though it were a file exam2.cpp - not listed, Technique for printing through the GDI exam3.cpp - not listed, Technique for printing using traditional GDI drawing exam4.cpp - listing 1, Printing using the generic class BasePrinter printers.hpp - not listed, Defines class BasePrinter printers.cpp - not listed, Implements class BasePrinter readme - not listed, Instructions for building print programs pdemo.mak - not listed, Makefile for print programs exam1.exe - not listed, Executable resulting from exam1.cpp exam2.exe - not listed, Executable resulting from exam2.cpp exam3.exe - not listed, Executable resulting from exam3.cpp exam4.exe - not listed, Executable resulting from exam4.cpp plauger P.J. Plauger Standard C/C++: The Header vector - listing 1, Template class vector vectorb.h - listing 2, vector cheng Harry H. Cheng CGI Programming in C (from November 1996 issue) The following files constitute an update to the code supplied with Harry Cheng's article in the November 1996 issue of CUJ. This update corrects some bugs in the original version, as described in this month's We Have Mail section. copyrigh makefile readme change-p.c count.c env.c form.c form1.c imagemap.c util.c www.h letters P.J. Plauger We Have Mail lopez.c - listing 1, Failed attempt to read a large file ******************************************************************************* If you have questions regarding to the disk, please call or write us. ----------------------------------------------------------------------------- Miller Freeman Inc. 1601 W. 23rd St. Suite 200 Lawrence, KS 66046 1-800-444-4881 or 913-841-1631 -----------------------------------------------------------------------------