SV_DBF.H
上传用户:bjghjy
上传日期:2007-01-07
资源大小:379k
文件大小:2k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. #define SUCCESS        0
  2. #define FAIL           -1
  3. #define VALID          1
  4. #define INVALID        0
  5. #define ENDOFFILE      0x1a
  6. #define CH_SPACE       0x20
  7. #define OPEN_RETR     20
  8. #define OPEN_INTERVAL 500
  9. #define ENDOFFILE     0x1a
  10. #define SUCCEED         0
  11. #define OPEN_ERROR     -1
  12. #define ALLOC_ERROR    -3
  13. #define DBF_ERR        -2
  14. #define READ_ERROR     -4
  15. #define WRITE_ERROR    -5
  16. #define LOCK_FAILED    -6
  17. #define DBF_DESTROYED  -7
  18. #define INIT_DBF_ERROR -8
  19. typedef struct DBFINFO {
  20.   unsigned char id;              /* the ID.for a FoxBase+ DBF File */
  21.   char          date[3];         /* year,month and date            */
  22.   char          recnum[4];       /* total number of records        */
  23.   char          hlen[2];         /* length of DBF head             */
  24.   char          rlen[2];         /* length of each record          */
  25.   char          null[20];        /* null char in the info. unit    */
  26.   }             DbfStruct;
  27. typedef struct FLDINFO {
  28.   char          name[10];        /* fld name                      */
  29.   char          null1;           /* fixed to 0x00                  */
  30.   char          type;            /* field type                     */
  31.   char          offset[2];       /* field offset in a record       */
  32.   char          null2[2];        /* null chars                     */
  33.   char          wid;             /* field length                   */
  34.   char          pnt;             /* point number length            */
  35.   char          null3[14];       /* used by system                 */
  36.   }             FieldStruct;
  37. HFILE OpenDbfBase(char *file_name,int amode);
  38. int CloseDbf(int hd);
  39. int  CheckDbf(int hd,DbfStruct *d_info,FieldStruct *f_info,short f_num);
  40. int  InitBase(int hd, DbfStruct *BaseInfo,FieldStruct **FldInfo,short *FieldNum);
  41. int  FldToString(char *rbuff,FieldStruct *finfo,char *fstr);
  42. int  StringToFld(char *fbuff,FieldStruct finfo,char *fstr);
  43. int AppendRecord(int hDbf, DbfStruct *lpDbfInfo, char *lpDbfRecBuf);
  44. int ReadRecord(int hd,int no,short hlen,short rlen,char *rbuff);