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

金融证券系统

开发平台:

Visual C++

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