Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
True.H
Message
 
 
To
20/10/2011 13:52:43
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Re: True.H
Miscellaneous
Thread ID:
01526983
Message ID:
01526987
Views:
115
Likes (1)
>Does anyone have a copy of the True.H include file used by PrgToVcx?
* Program: True.h (Named Constant File)
*  Notice: The author releases all rights to the public domain
*        : subject to the Warranty Disclaimer in the programs
*        : and documentation.
*  Author: Tom Rettig
* Version: TRUE Version 1.0 July 15, 1995 (#defined in True.h)
* Created: December 10, 1994 (Beta 1)
*  Update: January 7, 1995 (Beta 1b)
*  Update: April 7, 1995 (Beta 2b)
*  Update: June 6, 1995 (Release Candidate 2a)
*  Update: July 15, 1995 (First Release)

*************************************************************
* Visual FoxPro Specific
*************************************************************

* Include VFP's constant file.
#INCLUDE "FoxPro.h"

* VFP AERROR() array dimensions.
#DEFINE cnVF_AERR_MAX           7
#DEFINE cnVF_AERR_NUMBER        1
#DEFINE cnVF_AERR_MESSAGE       2
#DEFINE cnVF_AERR_OBJECT        3
#DEFINE cnVF_AERR_WORKAREA      4
#DEFINE cnVF_AERR_TRIGGER       5
#DEFINE cnVF_AERR_EXTRA1        6
#DEFINE cnVF_AERR_EXTRA2        7

* VFP ERRORs used.
#DEFINE cnVF_ERR_FILE_NOTEXIST     1
   * File <insert> does not exist.
#DEFINE cnVF_ERR_PARAM_INVALID    11
   * Function argument value, type, or count is invalid.
#DEFINE cnVF_ERR_TABLE_NUMINVALID 17
   * Table number is invalid.
#DEFINE cnVF_ERR_FIELD_NOTFOUND   47
   * No fields found to process.
#DEFINE cnVF_ERR_TABLE_NOTOPEN    52
   * No table is open.
#DEFINE cnVF_ERR_DISK_SPACE       56
   * Not enough disk space for <insert>.
#DEFINE cnVF_ERR_EXCLUSIVE       110
   * File must be opened exclusively.
#DEFINE cnVF_ERR_ARRAYDIM        230
   * Array dimensions are invalid.
#DEFINE cnVF_ERR_SETARGINVALID   231
   * Invalid argument used with the SET function.
#DEFINE cnVF_ERR_NOTARRAY        232
   * "<insert>" is not an array.
#DEFINE cnVF_ERR_PARAM_TOOFEW   1229
   * Too few arguments.
#DEFINE cnVF_ERR_PARAM_TOOMANY  1230
   * Too many arguments.
#DEFINE cnVF_ERR_DB_NOTOPEN     1520
   * No database is open or set as the current database.
#DEFINE cnVF_ERR_DB_NOTDB       1552
   * File <insert> is not a database.
#DEFINE cnVF_ERR_PROP_INVALID   1560
   * Property value is invalid.
#DEFINE cnVF_ERR_DB_OBJNOTFOUND 1562
   * Cannot find object <insert> in the database.
#DEFINE cnVF_ERR_NAME_ISUSED    1569
   * The name you have chosen is already used for a
   * built in <insert>. Please choose a different name.
#DEFINE cnVF_ERR_OBJ_NAME       1575
   * Object name is invalid.
#DEFINE cnVF_ERR_PROP_DATATYPE  1732
   * Data type is invalid for this property.
#DEFINE cnVF_ERR_PROP_NOTFOUND  1734
   * Property <insert> is not found.               
#DEFINE cnVF_ERR_PROP_READONLY  1743
   * Property <insert> is read-only.
#DEFINE cnVF_ERR_PROP_PROTECTED 1757
   * Property <insert> is protected.
#DEFINE cnVF_ERR_OBJ_TYPE       1773
   * Database object type is invalid.
#DEFINE cnVF_ERR_STR_TOOLONG    1903
   * String is too long to fit.
#DEFINE cnVF_ERR_FILE_NOTCLOSED 1933
   * File '<insert>' is not closed.
#DEFINE cnVF_ERR_FUNC_NOTIMP    1999
   * Function is not implemented.

* VFP limits.
#DEFINE cnVF_FIELD_MAXCOUNT      255
#DEFINE cnVF_FIELD_MAXNAMELEN     10
#DEFINE cnVF_INDEX_MAXKEYLEN     240
#DEFINE cnVF_NUM_MAXPRECISION     16

* VFP SYS() functions used.
#DEFINE cnVF_SYS_EXEDIR         2004
#DEFINE cnVF_SYS_LOCKSTATUS     2011
#DEFINE cnVF_SYS_RELATIVEPATH   2014
#DEFINE cnVF_SYS_UNIQUEID       2015
#DEFINE cnVF_SYS_CROSSPATH      2027

*************************************************************
* TRUE General
*************************************************************
#DEFINE ccCRLF                  CHR(13)+CHR(10)
#DEFINE ccTAB                   CHR( 9)

*************************************************************
* EDC Specific
*************************************************************
#DEFINE ccEDC_VERSION   "EDC Version 1.0 July 15, 1995"

* Control codes.
#DEFINE ccMSG_INSERT1           "<insert1>"
#DEFINE ccMSG_INSERT2           "<insert2>"
#DEFINE ccMSG_INSERT3           "<insert3>"
#DEFINE cnPROP_REMOVE          -1
#DEFINE ccWILDCARD              "*"

* Reserved keywords and names.
* Mostly used in method parameters and messages.
#DEFINE ccALL                   "ALL"
#DEFINE ccCANDIDATE             "CANDIDATE"
#DEFINE ccCOPY                  "COPY"
#DEFINE ccMEMO                  "MEMO"
#DEFINE ccPACK                  "PACK"
#DEFINE ccPRIMARY               "PRIMARY"
#DEFINE ccREFRESH               "REFRESH"
#DEFINE ccREGULAR               "REGULAR"

* EdcLib classes used by DEFINE CLASS.
#DEFINE cxCLASS_EDC             EDC
#DEFINE ccCLASS_EDC            "EDC"      && for PrgToVcx
#DEFINE cxCLASS_MSG             Message
#DEFINE ccCLASS_MSG            "Message"  && for PrgToVcx

* EDC file structures.
#DEFINE cxANALYZE_FIELD         Analyze
#DEFINE cnEDC_FIXEDFIELDS       2         && the rest are extensions
#DEFINE cxEDC_ID                cUniqueID
#DEFINE ccEDC_ID                "cUniqueID"
#DEFINE cxEDC_OBJ               mEdcObject
#DEFINE ccEDC_OBJ               "mEdcObject"

* EDC system objects.
* Unique rows store actual name in cxEDC_ID field instead of SYS(2015).
#DEFINE ccEDC_OBJ_UNIQUETYPE    "EdcUnique "
** Unique type rows are limited to size of EDC_ID field (10),
** must be PROPER() case and defined to length.
#DEFINE ccEDC_OBJ_REGISTRY      "Registry  "

* Wildcard access to property maps.
#DEFINE ccEDC_MAPALL            THIS.cMapName + "*"

* EDC built-in registry properties.
#DEFINE cnEDC_REG_DEFAULT       13  && number of default registry properties
#DEFINE ccEDC_REG_ALTERNATE     "cEdcAlternate"  && alternate EDC file
#DEFINE ccEDC_REG_CREATE        "tEdcCreate"     && creation DateTime
#DEFINE ccEDC_REG_DBC           "cDBC"           && relative path back link
#DEFINE ccEDC_REG_REMOVELOCK    "lRemoveLock"    && prevent field removal
#DEFINE ccEDC_REG_VERSION       "cEdcVersion"
#DEFINE ccEDC_REG_EXTENSIONNAME "cEdcExtensionName"
#DEFINE ccEDC_REG_VENDORNAME    "cEdcVendorName"
#DEFINE ccEDC_REG_METHODOPEN    "cMethodOpen"    && methods are
#DEFINE ccEDC_REG_METHODGET     "cMethodGet"     && named for
#DEFINE ccEDC_REG_METHODSET     "cMethodSet"     && wildcard
#DEFINE ccEDC_REG_METHODLIB     "cMethodLib"     && access
#DEFINE ccEDC_REG_METHODCLASS   "cMethodClass"
#DEFINE ccEDC_REG_METHODINIT    "cMethodInit"    && pass to AddObject()
** Wildcard access to registry methods.
#DEFINE ccEDC_REG_METHODALL     "cMethod*"       && methods and
** Using string for list instead of INLIST() type list
** because these must be checked as case insensitive.
#DEFINE ccEDC_REG_LISTDBF       ccEDC_REG_ALTERNATE+","+ccEDC_REG_DBC
#DEFINE ccEDC_REG_LISTVCX       ccEDC_REG_METHODLIB
#DEFINE ccEDC_REG_LISTFILES     ccEDC_REG_LISTDBF+","+ccEDC_REG_LISTVCX
#DEFINE ccEDC_REG_LISTTYPEC     ccEDC_REG_LISTFILES+","+;
 ccEDC_REG_VERSION+","+ccEDC_REG_METHODGET+","+ccEDC_REG_METHODSET+","+;
 ccEDC_REG_METHODOPEN+","+ccEDC_REG_METHODALL
#DEFINE ccEDC_REG_LISTTYPEL ccEDC_REG_REMOVELOCK
#DEFINE ccEDC_REG_LISTTYPET ccEDC_REG_CREATE
#DEFINE ccEDC_REG_LISTALL   ccEDC_REG_LISTTYPEC+","+;
 ccEDC_REG_LISTTYPEL+","+ccEDC_REG_LISTTYPET
** Method argument substitution strings.  Case insensitive.
#DEFINE ccARG_DBC               "<dbc>"
#DEFINE ccARG_DBCID             "<dbc id>"
#DEFINE ccARG_EDC               "<edc>"
#DEFINE ccARG_OBJTYPE           "<object type>"
#DEFINE ccARG_OBJNAME           "<object name>"
#DEFINE ccARG_PROPNAME          "<property name>"
#DEFINE ccARG_PROPVALUE         "<property value>"
#DEFINE ccARG_REGISTRY          "<registry>"

* Extended property header.
#DEFINE ccHEAD_OFF              "."
#DEFINE ccHEAD_ON               "+"
#DEFINE cnHEAD_SIZE             36
#DEFINE cnHEAD_TYPE              1  && system use only
#DEFINE cnHEAD_NULL              2  && system use only
#DEFINE cnHEAD_READLOCK          3  && user access 3..14
#DEFINE cnHEAD_WRITELOCK         4  && overrides cnHEAD_UPDATE
#DEFINE cnHEAD_REMOVELOCK        5
#DEFINE cnHEAD_UPDATE            6
#DEFINE cnHEAD_RESERVED4         7
#DEFINE cnHEAD_RESERVED3         8
#DEFINE cnHEAD_RESERVED2         9
#DEFINE cnHEAD_RESERVED1        10
#DEFINE cnHEAD_USER4            11
#DEFINE cnHEAD_USER3            12
#DEFINE cnHEAD_USER2            13
#DEFINE cnHEAD_USER1            14
#DEFINE cnHEAD_SWITCHSIZE       14
#DEFINE cnHEAD_TIMESIZE         22  && max size with century and 12-hour
** Bytes 15..36 are used for PADR(TTOC(DATETIME()), cnHEAD_TIMESIZE)

* Alternate EDC update property array dimensions.
* Rows are dynamic.
#DEFINE cnALT_COLUMNS           2
#DEFINE cnALT_FIELD             1
#DEFINE cnALT_ALIAS             2

* Object method update property array dimensions.
* Rows are dynamic.
#DEFINE cnOBJ_COLUMNS           5
#DEFINE cnOBJ_OWNER             1
#DEFINE cnOBJ_OBJECT            2
#DEFINE cnOBJ_GETMETHOD         3
#DEFINE cnOBJ_SETMETHOD         4
#DEFINE cnOBJ_RELEASE           5  && name of class library to release

* Extended aObjectError[] array dimensions.
#DEFINE cnAERR_MAX              cnVF_AERR_MAX + 3
#DEFINE cnAERR_METHOD           cnVF_AERR_MAX + 1
#DEFINE cnAERR_LINE             cnVF_AERR_MAX + 2
#DEFINE cnAERR_SOURCE           cnVF_AERR_MAX + 3

* VFP DBC object types to length of ObjectType field.  Case sensitive.
#DEFINE cnVF_OBJ_TYPESIZE       10
#DEFINE ccVF_OBJ_CONNECTION     "Connection"
#DEFINE ccVF_OBJ_DATABASE       "Database  "
#DEFINE ccVF_OBJ_FIELD          "Field     "
#DEFINE ccVF_OBJ_INDEX          "Index     "
#DEFINE ccVF_OBJ_RELATION       "Relation  "
#DEFINE ccVF_OBJ_TABLE          "Table     "
#DEFINE ccVF_OBJ_VIEW           "View      "
#DEFINE cxVF_OBJ_LISTALL        ccVF_OBJ_CONNECTION,;
                                ccVF_OBJ_DATABASE,;
                                ccVF_OBJ_FIELD,;
                                ccVF_OBJ_INDEX,;
                                ccVF_OBJ_RELATION,;
                                ccVF_OBJ_TABLE,;
                                ccVF_OBJ_VIEW

* Known VFP DBC property types.
#DEFINE ccVF_IND_TAGTYPE        CHR(17)
#DEFINE ccVF_OBJ_SUBTYPE        CHR( 2)  && local table, local view, etc.
#DEFINE ccVF_REL_TAG            CHR(13)
#DEFINE ccVF_REL_FKTABLE        CHR(18)
#DEFINE ccVF_REL_FKTAG          CHR(19)
#DEFINE ccVF_TAB_FILEPATH       CHR( 1)
#DEFINE ccVF_TAB_PRIMARYTAG     CHR(20)
#DEFINE ccVF_VIE_COMMAND        CHR(42)

* Known VFP DBC property values.
#DEFINE ccVF_IND_REGULAR        CHR( 0)
#DEFINE ccVF_IND_CANDIDATE      CHR( 1)
#DEFINE ccVF_OBJ_LOCALTABLE     CHR( 1)
#DEFINE ccVF_OBJ_LOCALVIEW      CHR( 6)

* VFP ADBOBJECTS("RELATION") array columns.
#DEFINE cnVF_REL_MAXCOLS        5
#DEFINE cnVF_REL_PARENTTABLE    1
#DEFINE cnVF_REL_CHILDTABLE     2
#DEFINE cnVF_REL_PARENTTAG      3
#DEFINE cnVF_REL_CHILDTAG       4
#DEFINE cnVF_REL_RIINFO         5


*************************************************************
* ENV Specific
*************************************************************
#DEFINE ccENV_VERSION   "ENV Version 1.0 July 15, 1995"

#DEFINE ccSET_ONE       "1"
#DEFINE ccSET_TWO       "2"
#DEFINE ccSET_BOTH      "3"


*************************************************************
* PTOV Specific
*************************************************************
#DEFINE ccPTOV_VERSION  "PrgToVcx Version 1.0 July 15, 1995"

#DEFINE ccCRLF_DEF              "CHR(13)+CHR(10)"
#DEFINE ccVISUAL_DESCRIPTION    "*>*"
#DEFINE ccVISUAL_DELIMITER      ","
#DEFINE cnCUSTOM_HEIGHT         17    && pixels
#DEFINE cnCUSTOM_WIDTH          100   && pixels

*** TRUE.h **************************************************
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform