zF-9Zݺ25.w ~MfikAPi3F\9Utq:gܹkGҊ>4nWڕRV.{ileM8ipj4R Aݕtq7թJx j!UFiUԧH\l=T_ ju2UWiQU^kA iNS (=ɮ%'x,}K26S b +Yʎ):oV`Jva 푸APBԦӮֵ!m^۝6JE&7o+ ~Z(nMx 3K$ܖ hp/ {&NA b?.*(ΊS❜(!^[L.0>wc@6HL"_$HN&;D;there is no RFX...() function to transfer the type of data you need, you can create your own RFX...() functions. You can use the existing RFX...() functions in the DBRFX.CPP file as starting points.

An AppWizard-Generated Program


This chapter's example is an AppWizard (Visual C++ 4) database program that uses ODBC. The final functionality (the dialog box controls for the main window, as well as connections between the controls in the dialog box and the program's variables) was done with the Visual C++ 4 IDE and ClassWizard. The actual time it took to develop this application was only a few minutes.



NOTE

Windows 95, Windows NT, and Visual C++ 4 all now support long filenames. This lets the names of the class implementation files have meaningful names. You should give your projects meaningful names because you're no longer limited to project names that had to be only a few characters to fit into DOS's 8.3 filename structure.


This program uses the CDatabase class, the CRecordset class, and the CRecordView class. This final part of the chapter takes a look at the files that support the CRecordView class (the Record ViewView.cpp file) and the CRecordset class (the Record ViewSet.cpp file).

CRecordView Support

The CRecordView class is supported in the RecordView View.cpp file. The minimal support is sufficient to create a working application that can be easily turned into a working record browser with editing capabilities. The default implementation of the AppWizard-produced program doesn't support adding records to the recordset, but you can add this functionality easily.

First, the RecordView View.cpp file, shown in Listing 2.1, contains the constructor and destructor for our CRecordView object, which is called CRecordViewView.

The next function is DoDataExchange(), which transfers the fields in the recordset to the application's data variables. This is the first time I've mentioned the DoDataExchange() function. Its purpose is to transfer data to and from the application's variables to the main window's dialog box controls.



NOTE

Don't confuse the DoDataExchange() function, which transfers data between an application's variables and dialog box controls, with DoFieldExchange(), which transfers data from the same variables and the current record in the recordset.


The Record ViewView.cpp file also contains functions to assist the programmer in implementing printer support (including print preview) and diagnostic support.

Listing 2.1. The CRecordView handler: Record ViewView.cpp.


// Record ViewView.cpp : implementation of the CRecordViewView class

//

#include "stdafx.h"

#include "Record View.h"

#include "Record ViewSet.h"

#include "Record ViewDoc.h"

#include "Record ViewView.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

// CRecordViewView

IMPLEMENT_DYNCREATE(CRecordViewView, CRecordView)

BEGIN_MESSAGE_MAP(CRecordViewView, CRecordView)

    //{{AFX_MSG_MAP(CRecordViewView)

        // NOTE - the ClassWizard will add and remove mapping macros here.

        //    DO NOT EDIT what you see in these blocks of generated code!

    //}}AFX_MSG_MAP

 body of the report; that's sufficient.
Yes--because is the first occurrence of the borrowed information, it must be documented; not to do so would be plagiarism.

  • Should an informative abstract contain general, introductory information? Click on the correct answer:
    No--the informative abstract must condense the report to its most essential information so that the busy reader can get a quick view of exactly what the report contains.
    Yes--because the informative abstract is similiar to an introduction, general, background material that eases the reader into the body of the report is appropriate.

  • Is the informative abstract essentially the same as a report introduction? Click on the correct answer:
    No--the job of the introduction is to prepare readers to read the body of the report; the job of the abstract is to summarize the body of the report, to highlight its most important contents.
    Yes--the report introduction adds some words to ease the reader into the main text of the report, but otherwise there is no real difference.

  • Is the purpose of the informative abstract to provide background on the report topic that will enable readers to understand the main text of the report? Click on the correct answer:
    No--the informative abstract summarize key detail from all sections of the report, including any background sections.
    Yes--that is the purpose of the informative abstract: to provide technical background for the report topic and to enable readers to understand the main text.

  • Click on one of the following that states the proper location for the descriptive abstract in the report design described in this chapter:
    At the bottom of the title page
    On the next page following the table of contents (or list of figures, if present)
    On the front cover of the report
    In an appendix at the back of the report

  • Click on one of the following that states the proper location for the informative abstract in the report design described in this chapter:
    At the bottom of the title page
    On the next page following the table of contents (or list of figures, if present)
    On the front cover of the report
    In an appendix at the back of the report

  • Is it appropriate to leave out normal words such as "the," "a" or "an" and obvious verbs or connective words in abstracts? Click on the correct answer:
    No--although abstracts must be condensed as much as possible, they must still use good English.
    Yes--abstracts must be as brief and condensed as possible, but still summarize all the key information in the report; leaving out obvious words can help that.

  • Based on your reading of the chapter, do you think you should summarize anything from the introduction or conclusion of a report in an informative abstract? Click on the correct answer:
    No--the chapter states that you should not include summarized detail from these two sections of reports; and, in any case, they don't contain essential information.
    Yes--while these sections often contain general information inappropriate in an informative abstract, they can certainly contain important facts and conclusions that must be summarized.


    Click here to wipe everything out and start over.

    Click here to send this information to your Online Technical Writing instructor.

    This information is provided and maintained by David A. McMurrey. For information on use, customization, or copies, e-mail hcexres@io.com.