File I/O API - C++ Sample Program

Overview
Dictls32.exe (dictls16.exe in its 16 bit incarnation) is a C++ sample program which
utilizes the File I/O API. It is a multiple document interface (MDI) application which displays
the dictionary information from SPSS data files in one or more child windows. The user simply
selects “Open” from the “File” menu to get a standard Open File dialog. If the selected file is an
SPSS data file, its dictionary information is displayed in an edit control in a child window. The
application is terminated by selecting “Exit” from the “File” menu.

Building
The sample program has been built with versions 1.5 (16 bit) and 4.0 (32 bit) of Microsoft
Visual C++. Other compilers may work, but they have not been tested. In order to build the
sample program, perform the following steps:

1. Copy all the files from the spssdkio_dllsmpl_cpp directory on the distribution disk
      to a directory on your hard disk.

2. Make sure spssdio.h is on the compiler’s search path - either by copying it to the
     directory containing the sample program or by modifying the INCLUDE environment
     variable.

3. Made sure spssio32.lib (spssio16.lib for a 16 bit build) is on the linker’s search
     path - either by copying the file to the directory containing the sample program or by
     modifying the LIB environment variable.

4. Use the nmake utility to build the application:
    nmake -f dictls32.mak DEBUG=1
   For a 16 bit build, substitute dictls16.mak for dictls32.mak .

Each of the makefiles recognizes two options which can either be set as environment variables
or defined on the command line. The first option is “DEBUG”. If this symbol is defined
(regardless of its value), the resulting executable will contain debug symbols. The default is not
to include debug symbols. The second option is “STATICMFC ”. If this symbol is defined
(regardless of its value), the resulting executable will contain statically-linked Microsoft
Foundation Classes (MFC) and C Run-Time. The default is to use DLL-resident versions of
MFC and the C Run-Time.

The 32 bit makefile writes its intermediate and target files to a subdirectory named “32” while
the 16 bit makefile writes the corresponding files to a subdirectory named “16”. In order to
execute the resulting application, spssio32.dll (spssio16.dll for 16 bit builds) must be
accessible at execution time.

Integrated Development Environment
Most users will opt to use Microsoft’s Integrated Development Environment (IDE) to build and
debug an application. The sample application is amenable to being built in this fashion. Simply
File I/O API - C++ Sample Program


open dictls32.mak by selecting “Open Workspace” from the “File” menu. You will have to
select “Settings” on the “Build” menu to specify the name of the target file, the name of the
required DLL, and the debug build command line.

If you are using the 16 bit IDE, open dictls16.mak via the “Open” item on the “Project”
menu. Here, the name of the target file and the debug build command line are specified via the
“Project” item on the “Options” menu, and the name of the required DLL is specified via the
“Debug” item on the “Options” menu.

Constituent Files
The following files are included as part of the sample program:

    dictafx.cpp              for building precompiled headers
    dictafx.h                includes the headers to be precompiled
    dictdoc.cpp              CDocument class CDictListDoc - does all the work
    dictdoc.h                Interface to class CDictListDoc
    dictdoc.ico              Icon for class CDictListDoc
    dictlist.cpp             CEditView class CDictListEditView and a CWinApp class
    dictlist.h               Interface to classes CDictListEditView and CDictListApp
    dictls16.def             Module definition for 16 bit application
    dictls16.exe             16 bit application built with STATICMFC defined
    dictls16.mak             External makefile for 16 bit application
    dictls16.rc              Resources for 16 bit application
    dictls32.exe             32 bit application built with STATICMFC defined
    dictls32.mak             External makefile for 32 bit application
    dictls32.rc              Resources for 32 bit application
    dictmain.ico             Icon for the application’s MDI frame window
    dict-res.h               Interface to the resources




                                              -2-

File i o api c++ sample program

  • 1.
    File I/O API- C++ Sample Program Overview Dictls32.exe (dictls16.exe in its 16 bit incarnation) is a C++ sample program which utilizes the File I/O API. It is a multiple document interface (MDI) application which displays the dictionary information from SPSS data files in one or more child windows. The user simply selects “Open” from the “File” menu to get a standard Open File dialog. If the selected file is an SPSS data file, its dictionary information is displayed in an edit control in a child window. The application is terminated by selecting “Exit” from the “File” menu. Building The sample program has been built with versions 1.5 (16 bit) and 4.0 (32 bit) of Microsoft Visual C++. Other compilers may work, but they have not been tested. In order to build the sample program, perform the following steps: 1. Copy all the files from the spssdkio_dllsmpl_cpp directory on the distribution disk to a directory on your hard disk. 2. Make sure spssdio.h is on the compiler’s search path - either by copying it to the directory containing the sample program or by modifying the INCLUDE environment variable. 3. Made sure spssio32.lib (spssio16.lib for a 16 bit build) is on the linker’s search path - either by copying the file to the directory containing the sample program or by modifying the LIB environment variable. 4. Use the nmake utility to build the application: nmake -f dictls32.mak DEBUG=1 For a 16 bit build, substitute dictls16.mak for dictls32.mak . Each of the makefiles recognizes two options which can either be set as environment variables or defined on the command line. The first option is “DEBUG”. If this symbol is defined (regardless of its value), the resulting executable will contain debug symbols. The default is not to include debug symbols. The second option is “STATICMFC ”. If this symbol is defined (regardless of its value), the resulting executable will contain statically-linked Microsoft Foundation Classes (MFC) and C Run-Time. The default is to use DLL-resident versions of MFC and the C Run-Time. The 32 bit makefile writes its intermediate and target files to a subdirectory named “32” while the 16 bit makefile writes the corresponding files to a subdirectory named “16”. In order to execute the resulting application, spssio32.dll (spssio16.dll for 16 bit builds) must be accessible at execution time. Integrated Development Environment Most users will opt to use Microsoft’s Integrated Development Environment (IDE) to build and debug an application. The sample application is amenable to being built in this fashion. Simply
  • 2.
    File I/O API- C++ Sample Program open dictls32.mak by selecting “Open Workspace” from the “File” menu. You will have to select “Settings” on the “Build” menu to specify the name of the target file, the name of the required DLL, and the debug build command line. If you are using the 16 bit IDE, open dictls16.mak via the “Open” item on the “Project” menu. Here, the name of the target file and the debug build command line are specified via the “Project” item on the “Options” menu, and the name of the required DLL is specified via the “Debug” item on the “Options” menu. Constituent Files The following files are included as part of the sample program: dictafx.cpp for building precompiled headers dictafx.h includes the headers to be precompiled dictdoc.cpp CDocument class CDictListDoc - does all the work dictdoc.h Interface to class CDictListDoc dictdoc.ico Icon for class CDictListDoc dictlist.cpp CEditView class CDictListEditView and a CWinApp class dictlist.h Interface to classes CDictListEditView and CDictListApp dictls16.def Module definition for 16 bit application dictls16.exe 16 bit application built with STATICMFC defined dictls16.mak External makefile for 16 bit application dictls16.rc Resources for 16 bit application dictls32.exe 32 bit application built with STATICMFC defined dictls32.mak External makefile for 32 bit application dictls32.rc Resources for 32 bit application dictmain.ico Icon for the application’s MDI frame window dict-res.h Interface to the resources -2-