The Master Genealogist (TMG)
File Structures
Updated May 1998 for v3.6

The file structures in TMG are described below as an aid to developers and those seeking direct access to TMG’s data files. We encourage third-party development because it provides further options to our users.
While the basic design and fundamental file associations are expected to remain stable for the foreseeable future, Wholly Genes, Inc., reserves the right to change TMG’s file structures at any time without notice. Serious developers should write to the Technical Support Department for complete and up-to-date file descriptions.

Wholly Genes, Inc., further reserves the right to develop, license, market, and sell feature enhancements and/or external utilities which operate on TMG’s data files and which might compete or conflict with those provided by third-party vendors. In an effort to foster a cooperative spirit among developers and provide the best possible service to our customers, developers are encouraged to inquire about work in progress before proceeding.
Warning	We strongly discourage access to TMG’s data files from outside the controlled parameters of the program environment by users who are not skilled in relational database design and xBase programming techniques. In all circumstances, Wholly Genes, Inc., specifically disavows any responsibility for damage or loss of these data files which might result from access by other parties. In particular, the accuracy of the file structures in this document is not guaranteed, nor are these file structures certified for any particular purpose. Back up often — and proceed at your own risk!
Not included
This document is limited to the description of users’ data files. No attempt is made to describe the structures of program files, administrative files, system configuration/memory files, macro files, and temporary work files, as they do not contain genealogical data.  For assistance in accessing any files not specifically described in this document, please contact Wholly Genes, Inc., Technical Support Department.
File Compatibility
Information which is entered in TMG is stored in a series of Foxpro-compatible database files. Note that, while many of these files may be read or manipulated by database managers such as dBase and Paradox, complete compatibility with such systems should not be assumed. In particular, while TMG’s database (DBF) files are technically compatible with those produced by dBase III and dBase IV, the memo (FPT) files which are associated with some of those databases are not. Attempts to access those database files through dBase or other utility may render them incompatible or unreadable by Foxpro and TMG.
Structural compound index (CDX) files are likewise Foxpro-compatible. However, because the user-defined functions which are utilized as index keys are compiled into the program, they are not accessible to third-party developers. Attempts to open these data files from Foxpro will generate a “File does not exist” or similar error.

For these reasons, it is recommended that TMG be exited using the Exit and Minimize option on the File menu prior to direct access through Foxpro or other utility. This process will eliminate complications by erasing the associated structural index files. Upon restarting TMG, any missing index file(s) will be recreated.

Alternatively, the compact index (CDX) files may be erased when not in use. When subsequently accessed directly from Foxpro, a “Structural CDX File Not Found” error will be generated. The developer should choose “Ignore,” which will eliminate the open link between DBF and CDX.

TMG’s database (DBF) files are encoded with the code page which was in use when it was created (or updated by a patch). The default code page is 437 (U.S.). All DBF files within a single TMG data set are expected to be marked with the same code page. The collation sequence may be any that is supported by Foxpro 2.5b but is also expected to be the same throughout any indexes for a single data set.

Modifying files
The data in TMG’s database files may be manipulated by careful developers according to the specific guidelines in this document.  Care should be taken to access these files in exclusive mode, however. In particular, do not access these files via a network, multitasking environment, or task switcher (i.e., MS/Windows, Desqview, etc.) while TMG is running.

With the notable exception of the Person (P) file described later, the experienced developer may rearrange or add additional fields to any TMG data file to suit a particular purpose. Deletion of default fields, however, at least will cause abnormal terminations of TMG — and at most will risk unrecoverable corruption of the data files. Likewise, developers must not change field names, field types, field lengths, or other attributes of the default file structures.

Developers who wish to create their own index files or keys are encouraged to use standard index (IDX) files, rather than structural compound index (CDX) files, in order to avoid conflicts with index keys created by TMG. Among other concerns, the speed of TMG may be severely degraded by the presence of unused or unrecognized index keys.

TMG Versions
Throughout this document, distinctions are made when file structures vary according to the version of TMG at hand.  For instance, there are a number of differences between the file structures of TMG/DOS                                         v1.2a and TMG/Win v3.0.   
Note that references by version are independent of platform.  That is, “v3.x or later” refers to TMG/DOS v3.x as well as TMG/Win v3.x.  
Versions prior to v1.2a (DOS) are not described in this document.

Basic Organization
All files associated with a single TMG data set are contained in a single subdirectory.  In versions prior to v3.x, that directory has the same name as the data set and is subordinate to the program directory.  For instance, the SAMPLE data set is self-contained in the C:\TMG1\SAMPLE subdirectory.

In all other versions, the data set may be stored on any drive and directory. 

All file names within the data subdirectory begin with the same seven characters: the name of the data set padded on the right as necessary with underscore (_) characters. For instance, all files in the SAMPLE data set (i.e., C:\TMG1\SAMPLE directory) begin with “SAMPLE_”. The eighth character and file extension identify the contents of the file.

File types with the following extensions are represented in each data subdirectory:
	DBF	 Foxpro database files
	FPT	 Foxpro memo files
	CDX	 Foxpro structural compound indexes
	VER	 Version control file (ASCII text) (v1.2a and earlier)
	TMG	 Version control file (ASCII text) (v2.0 and later)
	DOC	 Documentation file (ASCII text)
	MEM	 Foxpro memory variable file.
Each file type is described in detail in the following sections.
Database Files (DBF/FPT/CDX)
This section describes the file structure or record layout for the database files within a TMG data set. A small amount of redundancy is intentionally included to enhance performance on the Picklist and other operations.

Total record length includes one byte for the DELETED() flag, as is customary in xBase languages.
Take care when manually deleting records that the record is left empty and that all links to other files are likewise deleted.

By default, the memo block size is set to 33 bytes and the code page is set to 437 (or the user’s current code page).

Warning	Deleted records are recycled automatically by TMG.  Some files (notably the N, G, F, M, and R files, and perhaps others in future revisions) use the record number to link to other files.  For this reason, ** DO NOT PACK TMG’S DATA FILES **.  To do so would irrevocably corrupt those links.
TMG users may use the built-in Optimize feature to conserve unused disk space while preserving all internal file associations.
Foxpro developers may PACK MEMO to recycle unused space in the FPT file without removing deleted records.

Each TMG data set contains the following database files:
Prior to v3.x
	_.DBF	Person File	(i.e., DATASET_.DBF)
v3.x and later
	$.DBF	Person File	(i.e., DATASET$.DBF)

And all versions:
	N.DBF	and N.FPT	Name File
	E.DBF	Event Witness File
	G.DBF* 	Event File
	F.DBF*	Father/Mother (Relationship) File
	S.DBF*	Source Citation File
	M.DBF*	Source File
	R.DBF*	Repository File
	W.DBF	Repository Link File
	P.DBF*	Place File
	K.DBF	Timeline Lock File
	T.DBF	Tag Type File
	I.DBF*	Exhibit File (created if/when first accessed)
	L.DBF*	Research Log File (created if/when first accessed)

* = Has accompanying .FPT file for memos.

Layout of Person File (_.DBF or $.DBF)

The record length of this file will vary with the addition of user-defined flags.

Warning	Do not change, add, or reorder fields in this file.

Field  Field Name  Type       Width 
    1  PER_NO      Numeric       10	Unique ID Number - Assigned sequentially by the system
    2  FATHER      Numeric       10	ID Number of Primary Father              
    3  FATHSURE    Character      1	Relationship surety to Primary Father 
    4  MOTHER      Numeric       10	ID Number of Primary Mother 
    5  MOTHSURE    Character      1	Relationship surety to Primary Mother  (see “Surety” later)
    6  LAST_EDIT   Date           8	Date this person was last edited
    7  REFERENCE   Character     12	User-defined Reference Number
    8  SPOULAST    Character      3	ID number of last spouse with whom this person was paired on a Family or Tree View.  The number is converted to base 255 and each byte is stored by its ASCII representation.  This accommodates numbers as large as 16.5 million ((255^3)-1) within 3 bytes and helps to conserve space.  For instance, Spouse ID #341 = (86*(255^0))+(1*(255^1))+(0*(255^2)) so SPOULAST = CHR(86)+CHR(1)+CHR(0)
    9  SCBUFF      Character     10	Temporary scratch buffer - no data             
   10  PBIRTH      Character     24	Primary birth date  (see “Dates” later) (lengthened to 30 characters in v3.5)
   11  PDEATH      Character     24	Primary death date  (see “Dates” later) (lengthened to 30 characters in v3.5)
   12  SEX         Character      1	Sex    (?/M/F)
   13  LIVING      Character      1	Living (?/Y/N) 
   14  BIRTHORDER  Character      2	Sequential birth order among full siblings              
   15  MULTIBIRTH  Character      1	Multiple Birth Flag (?/Y/N)
   16  ADOPTED     Character      1	Adopted Flag (?/N/Y)              
   17  ANCE_INT    Character      1	Ancestor Interest Flag (0-3) 
   18  DESC_INT    Character      1	Descendant Interest Flag (0-3)
   19+ (FLAGNAME)  Character      1	User-Defined Flag.  Versions prior to v2.x are limited to ten user-defined flags.  All other versions allow any number of such flags.
 
Layout of Name File (N.DBF and N.FPT)

Field  Field Name  Type       Width    
    1  NPER        Numeric       10	ID Number of Person
    2  ALTYPE      Numeric        5	Name/Alias Tag Type (related to ETYPENUM in T.DBF)
    3  ISPICKED    Logical        1	Flag for user selection from Picklist, etc.
    4  NAME        Memo          10	Name of this individual delimited as follows :
Surname#Title#GivenName#Suffix 
In this context, “#” represents the standard delimiter.  See Standard Delimiter at the end of this document.
    5  INFS        Logical        1	Flag to indicate whether the surname in this record is inferred from the person’s primary name record, rather than entered directly by the user.
    6  INFG        Logical        1	Flag to indicate whether the given name in this record is inferred from the person’s primary name record, rather than entered directly by the user.              
See Surety later in this Appendix.
    7  PRIMARY     Logical        1	Primary name?                  
    8  NSURE       Character      1	Max Name surety   
    9  FSURE       Character      1	Max Memo surety 
   10  NNOTE       Memo          10	Name memo              
   11  RECNO       Numeric       10	Sequential Name Record Number (=RECNO())
   12  NDATE       Character     25	Name date (v2.0 or later) (lengthened to 30 characters in v3.5)
   13  SRTDATE     Character     25	Name sort date (v2.0 or later) (lengthened to 30 characters in v3.5)
   14  DSURE       Character      1	Name date surety (v2.0 or later)

Layout of Event Witness File (E.DBF)

Note: all principals are also witnesses.  A witness is a principal if E.EPER = G.PER1 or E.EPER = G.PER2.

Field  Field Name  Type       Width    
    1  EPER        Numeric       10	Witness ID Number
    2  GNUM        Numeric       10	Event Number (related to G.DBF)              
    3  PRIMARY     Logical        1	Event is primary for this witness?  Must be .F. unless this witness is a principal in the event

Layout of Event File (G.DBF and G.FPT)
Field  Field Name  Type       Width
    1  ETYPE       Numeric        5  Event Tag Type (related to T.DBF)
    2  PER1SHOW    Logical        1  Principal 1 is displayed on Person View?
    3  PER2SHOW    Logical        1  Principal 2 is displayed on Person View?
    4  PER1        Numeric       10  First Principal of this event
    5  PER2        Numeric       10  Second Principal of this event
    6  EDATE       Character     24  Date of this event.  See “Dates” later in this document. (lengthened to 30 characters in v3.5) 
    7  PLACENUM    Numeric       10  Place Number (related to P.DBF)
    8  EFOOT       Memo          10  Memo
    9  ENSURE      Character      1  Max Surety of Principal 1 (see “Surety” later in this document)
   10  ESSURE      Character      1  Max Surety of Principal 2
   11  EDSURE      Character      1  Max Surety of Date              
   12  EPSURE      Character      1  Max Surety of Place              
   13  EFSURE      Character      1  Max Surety of Memo
   14  RECNO       Numeric       10  Event Number (=RECNO())
   15  SENTENCE    Memo          10  Sentence Construction Rules
   16  SRTDATE     Character     25  Sort date (v2.0 or later) (lengthened to 30 characters in v3.5)

Layout of Father/Mother (Relationship) File (F.DBF and F.FPT)
Field  Field Name  Type       Width
    1  PRIMARY     Logical        1	Primary Parental Relationship?
    2  CHILD       Numeric       10	Child ID Number
    3  PARENT      Numeric       10	Parent ID Number
    4  PTYPE       Numeric        5	Relation Tag Type (related to T.DBF)
    5  PNOTE       Memo          10	Relationship Memo                  
    6  PSURE       Character      1	Max Relationship Surety
    7  FSURE       Character      1	Max Memo Surety
    8  RECNO       Numeric       10	Relationship Number (=RECNO())

Layout of Source Citation File (S.DBF and S.FPT)
Field  Field Name  Type       Width
    1  STYPE       Character      1	Citation Record Type
	N = Name Record (N.DBF)
	F = Relationship Record (F.DBF)
	M = Source Record (M.DBF)
	E = Event Record (G.DBF; NOTE:*not* E.DBF)                  
    2  REFREC      Numeric       10	Citation Record Number (of file identified by STYPE)                  
    3  MAJSOURCE   Numeric       10	Source Number (related to M.DBF)                  
    4  SUBSOURCE   Memo          10	Citation Detail
    5  SNSURE      Character      1	Principal 1 Surety (or name or relationship surety) See “Surety” later in this document.             
    6  SSSURE      Character      1	Principal 2 Surety                  
    7  SDSURE      Character      1	Date Surety              
    8  SPSURE      Character      1	Place Surety                  
    9  SFSURE      Character      1	Relationship Surety                  
   10  ISPICKED    Logical        1	Flag to record user-defined selection(s) in pop-up lists, etc.               
   11  EXCLUDE     Logical        1  Exclude citation from reports? (v2.0 or later)

Layout of Source File (M.DBF)
Field  Field Name  Type       Width 
    1  MACTIVE     Logical        1	Should this source appear on the MSL?                 
    2  MAJNUM      Numeric       10	Source Record Number (=RECNO())
    3  ABBREV      Character     30	Source Abbreviation   
See Surety later in this appendix.
    4  DEFSURE     Character      1	Default Surety
    5  TITLE       Memo          10	Full Title of Source             
    6  TYPE        Numeric        2	Source Type
    7  RECORDER    Numeric        2	Source Recorder Type     
		1=Other
		2=Person
		3=Civil
		4=Church
		5=Commercial
		6=Institutional
    8  MEDIA       Numeric        2	Media Type
		1=Other
		2=Film
		3=Book
		4=Visual
		5=Audio
		6=Memory
    9  FIDELITY    Numeric        2	Fidelity  
		1=Other
		2=Original
		3=Photocopy
		4=Transcript
		5=Extract    
   10  INDEXED     Numeric        1	Indexed
		1=Unknown
		2=No
		3=Yes                
   11  STATUS      Numeric        2	(Reserved)
   12  TEXT        Memo          10	Source Memo              
   13  SPERNO      Numeric       10	Author ID Number 
   14  SUBJECTID   Numeric       10	Subject ID Number (v3.5 and later)
   15  COMPILERID  Numeric       10	Compiler ID Number (v3.5 and later)
   16  EDITORID    Numeric       10	Editor ID Number (v3.5 and later)
   17  SPERNO2     Numeric       10	Second Person ID Number (v3.5 and later)
   18  ISPICKED    Logical        1	Flag for user selection                  
   19  INFO        Memo          10	Miscellaneous Source Data delimited as follows :
v3.0 and before:
	TimePeriod#AuthorName#Publisher#PublishDate#Series#
PublishAddress#Edition#CallNumber#FilmNumber#Page#
Volume#
v3.5 and later:
Author#Subject#Compiler#Editor#SecondPerson#
Reserved#Volume#Series#Edition#Version#Subtitle#
Date#SecondDate#Publisher#Location#
PublisherLocation#Reserved#SecondLocation#
Reserved#Reserved#RecordType#Reserved#FileName#
Pages#RecordNumber#FilmNumber#ShortTitle#
ShortSubtitle#Reserved# 
In this context, “#” represents the standard delimiter.  See Standard Delimiter at the end of this document.
   20  FFORM       Memo          10	Full Footnote Sentence Form              
   21  SFORM       Memo          10	Short Footnote Sentence Form                 
   22  BFORM       Memo          10	Bibliography Sentence Form
   23  CITED       Logical        1	Administrative Tracking

Layout of Repository File (R.DBF and R.FPT)
Field  Field Name  Type       Width    
    1  ABBREV      Character     20	Abbreviation
    2  NAME        Memo          10	Full Repository Name
    3  ADDRESS     Numeric       10	Repository Place Number (related to P.DBF)
    4  RNOTE       Memo          10	Repository Memo
    5  RPERNO      Numeric       10	Repository Person ID Number              
    6  RECNO       Numeric       10	Record Number (=RECNO())
    7  ISPICKED    Logical       10	Repository is selected for reports (v2.0 or later)

Layout of Repository Link File (W.DBF)
Field  Field Name  Type       Width 
    1  MNUMBER     Numeric       10	Source Number (related to M.DBF)
    2  RNUMBER     Numeric       10	Repository Number (related to R.DBF) 
    3  REFERENCE   Character     25	User-defined Reference Number
    4  PRIMARY     Logical        1	Primary Repository Flag

Layout of Place File (P.DBF and P.FPT)
Field  Field Name  Type       Width
    1  PLACE       Memo          10	Place Name delimited as follows 
	Addressee#Detail#City#County#State#
	Country#PostalCode       
In this context, “#” represents the standard delimiter.  See Standard Delimiter at the end of this document.
    2  RECNO       Numeric       10	Place Number (=RECNO())

Layout of Timeline Lock File (K.DBF)

Field  Field Name  Type       Width    
    1  IDLOCK      Numeric        8	ID Number of Subject
    2  TNAME       Character      8	Timeline file name (.DBF assumed)

Layout of Tag Type File (T.DBF)

Field  Field Name  Type       Width    
    1  PICKED      Logical        1	Flag for user selection
    2  ACTIVE      Logical        1	Should tag type appear on default list?
    3  ETYPENUM    Numeric        6	Tag type Number
    4  ADMIN       Numeric        2	Tag type administrative group
    5  LDSONLY     Logical        1	Tag is LDS ordinance?
    6  ETYPENAME   Character     10	Tag type name/label
    7  SENTENCE    Character    100	Sentence construction rules
    8  GEDCOM_TAG  Character      4	GEDCOM tag for transport
    9  YNDATE      Logical        1	User selected date for report?
   10  YNPLACE     Logical        1	User selected place for report?
   11  YNFOOT      Logical        1	User selected memo for report?
   12  YNNAME      Logical        1	User selected name for report?
   13  ISREPORT    Logical        1	User selected this tag type for report?

Layout of Exhibit File (I.DBF and I.FPT)
Field  Field Name  Type       Width
    1  XNAME       Character     30	Exhibit Name                  
    2  IFILENAME   Memo          10	External Video Exhibit File Name            
    3  AFILENAME   Memo          10	External Audio Exhibit File Name                 
    4  TFILENAME   Memo          10	External Text Exhibit File Name
    5  ISCALE      Numeric        1	Scale
    6  IWHERE      Numeric        1	Video Exhibit Type
		1 = None
		2 = Internal
		3 = External         
    7  AWHERE      Numeric        1	Audio Exhibit Type                  
		1 = None
		2 = Internal
		3 = External         
    8  TWHERE      Numeric        1	Text Exhibit Type
		1 = None
		2 = Internal
		3 = External         
    9  TOFFSET     Numeric        4	Image Top Offset              
   10  LOFFSET     Numeric        4	Image Left Offset
   11  BOFFSET     Numeric        4	Image Bottom Offset
   12  ROFFSET     Numeric        4	Image Right Offset
   13  COLOR       Numeric        1	Image Color
		0 = No
		1 = Yes
   14  GRAY        Numeric        1	Image Greyscale
		0 = No
		1 = Yes
   15  BW          Numeric        1	Image Blank & White
		0 = No
		1 = Yes
   16  INVERT      Logical        1	Image Inverted?              
   17  DITHER      Logical        1	Image Dithered?                  
   18  FSBINV      Logical        1	Image FSB Inverted?
   19  OPTIMIZE    Logical        1	Image Optimized?                  
   20  FLIPH       Logical        1	Image Flipped horizontally?
   21  REFERENCE   Character     10	User-Defined Reference Number
   22  HERTZ       Numeric        5	Hertz for Audio Exhibit
   23  LENGTH      Numeric        3	Length in Seconds of Audio Exhibit
   24  TEXT        Memo          10	Internal Literal Exhibit (text)
   25  IMAGE       Memo          10	Internal Video Exhibit (binary)                  
   26  AUDIO       Memo          10	Internal Audio Exhibit (binary)                  
   27  DESCRIPT    Memo          10	Description of Exhibit                  
   28  INCREMENT   Numeric        4	Increment of Video Exhibit movement                  
   29  FOREGROUND  Numeric        2	Video Exhibit Foreground Color              
   30  BACKGROUND  Numeric        2	Video Exhibit Background Color
   31  MESSAGE     Logical        1	Display video coordinates in edit mode?
   32  IX1         Numeric        3	Coordinates of 
   33  IY1         Numeric        3	Image Show Window
   34  IX2         Numeric        3	   "
   35  IY2         Numeric        3	   "
   36  TX1         Numeric        3	Coordinates of
   37  TY1         Numeric        3	Text Show Window
   38  TX2         Numeric        3	   "
   39  TY2         Numeric        3	   "
   40  CX1         Numeric        3    Coordinates of
   41  CY1         Numeric        3	Show Control Window
   42  RLTYPE      Character      1	Exhibit Linked to
	_ = Person Record (_.DBF)
	M = Source Record (M.DBF)
	E = Event Record (G.DBF; NOTE:*not* E.DBF)                  
	R = Repository (R.DBF)
   43  RLNUM       Numeric       10	Exhibit linked to Record Number (related to file according to RLTYPE)              
   44  RLPER1      Numeric       10	Principal 1 in event linked to exhibit
   45  RLPER2      Numeric       10	Principal 2 in event linked to exhibit
   46  RLGTYPE     Numeric        5	Tag Type of event linked to exhibit              
   47  FLIP        Character      4	Flip image (v2.0 and later)
   48  ISOMETRIC   Logical        1	Isometric flag (v2.0 and later)
   53  ISANTI      Logical        1	Anti-Alias flag (v2.0 and later)
   54  EXHTYPE     Numeric        1	Exhibit type (v2.0 and later)
		1=Text
		2=image
		3=Audio
		4=OLE
   55  ISSCROLL    Logical        1	Scroll bar active flag (v2.0 and later)
   56  ISFILL      Logical        1	Fill active flag (v2.0 and later)
   57  WINSIZE     Numeric        1	Display window size (1 is smaller) (v2.0 and later)
   58  OLE_OBJECT  General       10 	OLE object link field (v2.0 and later)
   59  PRIMARY     Logical        1	Primary exhibit?

Layout of Research Log File (L.DBF and L.FPT)

Field  Field Name  Type       Width    
    1  RLTYPE      Character      1	Research Task Linked to
	_ = Person Record (_.DBF)
	M = Source Record (M.DBF)
	E = Event Record (G.DBF; NOTE:*not* E.DBF)                  
	R = Repository (R.DBF)
    2  RLNUM       Numeric       10	Research Task Record Number (related to file according to RLTYPE)
    3  RLPER1      Numeric       10	Principal 1 in Event linked to task
    4  RLPER2      Numeric       10	Principal 2 in Event linked to task
    5  RLGTYPE     Numeric        5	Tag Type of event linked to task (related to T.DBF)
    6  TASK        Memo          10	Task memo        
    7  RLEDITED    Character     11	Last Edited     
    8  DESIGNED    Character     11	Date Designed  (See “Dates” later in this document)
    9  BEGUN       Character     11	Date Begun 
   10  PROGRESS    Character     11	Date of Progress         
   11  COMPLETED   Character     11	Date Completed
   12  PLANNED     Character     11	Date Planned
   13  EXPENSES    Numeric        8,2	Expenses           
   14  COMMENTS    Memo          10	Progress text delimited as follows :
	Designed#Begun#Progress#Completed#Planned
In this context, “#” represents the standard delimiter.  See Standard Delimiter at the end of this document.
   15  RLNOTE      Memo          10	Task Memo              
   16  KEYWORDS    Memo          10	Task Keywords              

Standard Delimiter
In several fields, text elements are concatenated for efficiency.  The delimiting string varies according to the version of the data set in question.
Prior to v2.0, the delimiter is CHR(255).
In v2.0 and after, the delimiter is CHR(36)+CHR(33)+CHR(38)  (or “$!&”)
Surety
Surety fields may contain character values of 0, 1, 2, 3 (low to high surety), or a minus sign (-) to represent negative surety. “Max surety” fields are the highest surety in the appropriate category from all citations for that record.
Dates
Date fields contain a structured value as follows:

Irregular Dates
	Position  
     1	“0”
    2-30	Irregular Date Value

Regular Dates
	Position
     1	“1”
    2-9	YYYYMMDD of date 1
     10	“0” = Not Old Style
	“1” = Old Style
     11        v3.0 and prior      v3.5 and after
“1” = Before		“0”=Before
	“2” = Circa		“1”=Say
	“3” = Exact		“2”=Circa
	“4” = After		“3”=Exact
	“5” = Between		“4”=After
	“6” = Or		“5”=Between
				“6”=Or
				“7”=From...to
  If preceding position = 1,2,3 or 4
    12-20	“000000000”
  else
    12-19	YYYYMMDD of date 2
     20	“0” = Not Old Style date 2
	“1” = Old Style date 2
  endif

     21	“0” = blank
	“1” = question mark
    22-30       (reserved)

Date Examples:

  “0Third Monday in January”  equals  “Third Monday in January”
  “119610924000000000000   ”  equals  “Before 09 Sep 1961”
  “117120100130000000000   ”  equals  “Jan 1712/13”
  “119420000051943000000   ”  equals  “Between 1942 and 1943”
  “100000000030000000000   ”  equals  (empty date)

Version Control File (_.VER or .TMG)
Each data set includes exactly one Version Control File. This is a plain text file containing evidence of the last version update which was applied to that data set. This file is used by TMG to determine whether any updates are pending.

The Version Control File should not be edited or changed. If it is missing entirely, the data set will not be opened or updated.
Documentation File (_.DOC)
The data set Documentation File is a plain text file which describes the contents, theme, author, or other information about the data set.  It is created if and only if the user accesses the Memo feature on the data-set list. This file may be created or edited by any text editor.  The first line of the file is displayed on the data-set list as a means of identifying the data set.
Memory Variable File (_.MEM)
The data set Memory Variable File contains user-defined characteristics about the data set.  The file conforms to the conventions set forth by Foxpro 2.5 for the storage of memory variables.  
The following memory variables are saved in this file.  All variables are declared public:

Variable    Type Description                          Example
M_FVALPNO     N  Last ID Number Viewed                  17
M_FVALDLAS    N  Last View Viewed                        1
                    1=Person View
                    2=Family View
                    3=Tree View
M_FVAL1       C  List of possible values for           “?NY”
                 user-defined Flag #1
           or L  No such flag                           .f.
M_FVAL2          (same as above, flag #2 )
M_FVAL3          (same as above, flag #3 )
M_FVAL4          (same as above, flag #4 )
M_FVAL5          (same as above, flag #5 )
M_FVAL6          (same as above, flag #6 )
M_FVAL7          (same as above, flag #7 )
M_FVAL8          (same as above, flag #8 )
M_FVAL9          (same as above, flag #9 )
M_FVAL10         (same as above, flag #10)
M_FVAL11         ...and so on (v2.0 and later)
M_FVALDF      N  Date Display Format                     1
                 also used for interpreting
                 ambiguous dates.
                    1= mm/dd/yyyy
                    2= yyyy.mm.dd
                    3= dd/mm/yyyy
                    4= dd.mm.yyyy
                    5= dd-mm-yyyy
                    6= Mmm dd yyyy
                    7= MMM dd yyyy
                    8= dd Mmm yyyy
                    9= dd MMM yyyy
                   10= (reserved)
M_FVALACC     C  Accent condition                “ACC.CLERGY=“Y””
                 File alias must be “ACC.”
M_FVALLAST    N  (not currently used)                    1                         
M_FVALBKS     N  Bookmark screen                         1
                    1=Person View
                    2=Family View
                    3=Tree View
M_FVALBKP     N  Bookmark ID Number                     21
M_FVALCOLL    C  Collation Sequence                  “MACHINE”
			Any legal SET COLLATE TO value for Foxpro