SV_DBF.H
上传用户:bjghjy
上传日期:2007-01-07
资源大小:379k
文件大小:2k
- #ifndef _DBF_STRU_
- #define _DBF_STRU_
- #define SUCCESS 0
- #define FAIL -1
- #define VALID 1
- #define INVALID 0
- #define ENDOFFILE 0x1a
- #define CH_SPACE 0x20
- #define OPEN_RETR 20
- #define OPEN_INTERVAL 500
- #define ENDOFFILE 0x1a
- #define SUCCEED 0
- #define OPEN_ERROR -1
- #define ALLOC_ERROR -3
- #define DBF_ERR -2
- #define READ_ERROR -4
- #define WRITE_ERROR -5
- #define LOCK_FAILED -6
- #define DBF_DESTROYED -7
- #define INIT_DBF_ERROR -8
- typedef struct DBFINFO {
- unsigned char id; /* the ID.for a FoxBase+ DBF File */
- char date[3]; /* year,month and date */
- char recnum[4]; /* total number of records */
- char hlen[2]; /* length of DBF head */
- char rlen[2]; /* length of each record */
- char null[20]; /* null char in the info. unit */
- } DbfStruct;
- typedef struct FLDINFO {
- char name[10]; /* fld name */
- char null1; /* fixed to 0x00 */
- char type; /* field type */
- char offset[2]; /* field offset in a record */
- char null2[2]; /* null chars */
- char wid; /* field length */
- char pnt; /* point number length */
- char null3[14]; /* used by system */
- } FieldStruct;
- void DelayMs(int ms);
- HFILE OpenDbfBase(char *file_name,int amode);
- int CloseDbf(int hd);
- int CheckDbf(int hd,DbfStruct *d_info,FieldStruct *f_info,short f_num);
- int InitBase(int hd, DbfStruct *BaseInfo,FieldStruct **FldInfo,short *FieldNum);
- int FldToString(char *rbuff,FieldStruct *finfo,char *fstr);
- int StringToFld(char *fbuff,FieldStruct finfo,char *fstr);
- int AppendRecord(int hDbf, DbfStruct *lpDbfInfo, char *lpDbfRecBuf);
- int WriteRecord(int hd,int no,short hlen,short rlen,char *rbuff);
- int ReadRecord(int hd,int no,short hlen,short rlen,char *rbuff);
- int GetRecNum(int hd);
- long GetDbfRecCount(int hd,short hlen,short rlen);
- #endif