亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tdbf.h

?? 一個操作DBF格式文件的類
?? H
字號:
////////////////////////////////////////////////////////////////////////
// class TDBF for Dbase or Foxpor Format Files For C++ Builder 4.0
// Written by Xiecg
// Modified 1999/06/02
////////////////////////////////////////////////////////////////////////

#if !defined(__DATABASE_H)
#define __DATABASE_H

const int FIELD_NAME_WIDTH  = 11;

enum errorType
{
    DBF_SUCCESS             =  0,

    DBF_OPEN_FILE_ERROR     = -1,
    DBF_READ_FILE_ERROR     = -2,
    DBF_WRITE_FILE_ERROR    = -3,
    DBF_APPEND_FILE_ERROR   = -5,

    DBF_LOCK_HEAD_ERROR     = -10,
    DBF_LOCK_RECORD_ERROR   = -11,
    DBF_LOCK_FILE_ERROR     = -12,

    DBF_UNLOCK_HEAD_ERROR   = -15,
    DBF_UNLOCK_RECORD_ERROR = -16,
    DBF_UNLOCK_FILE_ERROR   = -17,

    DBF_FIELD_INDEX_ERROR   = -18,
    DBF_FIELD_NAME_ERROR    = -19,

    DBF_RECORD_NUMBER_ERROR = -20,

    DBF_NOT_XBASE_FILE      = -21
};

struct TDBFHead
{
    unsigned char Id;
    unsigned char Year, Month, Day;
    long RecordNumber;
    unsigned short RecordOffset;
    unsigned short RecordWidth;
};

struct TDBFFieldStruct
{
  char Name[FIELD_NAME_WIDTH];
  unsigned char Type;
  unsigned short Offset;
  char Non[2];
  unsigned char Width;
  unsigned char Dec;
  char Tail[14];
};

class TDBFField
{
public:
    TDBFField();
    TDBFField(const char * aName,
              unsigned char aType = 'C',
              unsigned int aWidth = 10,
              unsigned int aDec = 0
             );
    void SetField(const char * aName,
                  unsigned char aType = 'C',
                  unsigned int aWidth = 10,
                  unsigned int aDec = 0
                 );

    char Name[FIELD_NAME_WIDTH];
    char Type;
    unsigned int Offset;
    unsigned int Width;
    unsigned int Dec;
};

class TDBF
{
public:

  TDBF();
  ~TDBF();

  enum DatabaseOpenType
  {
    ExclOpen          = 0x0001,
    ShareOpen         = 0x0002,

    ReadOnly          = 0x0004,
    ReadWrite         = 0x0008,

    AutoReadLock      = 0x0010,
    AutoWriteLock     = 0x0020,
    AutoLock          = 0x0030,

    XbaseLock         = 0x0040,
    ClipperLock       = 0x0080
  };

  enum IndexType
  {
      XbaseIndex = 0x0000,
      ClipperIndex = 0x0001
  };

  enum LockType
  {
      ltNoLock     = 0, // 沒有鎖
      ltRecordLock = 1, // 記錄鎖
      ltFileLock   = 2  // 文件鎖
  };

  void OpenIndex(const char * indexName, int mode = TDBF::XbaseIndex);

  void SetLockTime(unsigned time);

public:

  virtual void Open(const char * filename, int mode = TDBF::ReadOnly | TDBF::ShareOpen);
  virtual void New(const char * filename, TDBFField *, unsigned int);
  virtual void Close();
  virtual void Zap();
  virtual void CopyStructToFile(const char * fileName);
  virtual void CopyToFile(const char * fileName);

  void ReadHead();
  void WriteHead();
  void LockHead();
  void UnlockHead();
  void LockRecord(long rec);
  void UnlockRecord(long rec);
  void LockFile();
  void UnlockFile();

  virtual void ReadRecord(long rec);
  virtual void WriteRecord(long rec);
  virtual void AppendRecord();
  virtual void DeleteRecord(long rec);
  virtual void UndeleteRecord(long rec);

// 第三個參數表示目標串的長度,包括串結束符
  void GetField(unsigned int, char *, unsigned int);
  void GetField(const char *, char *, unsigned int);
  void GetField(const char *, char &);
  void GetField(const char *, signed short &);
  void GetField(const char *, unsigned short &);
  void GetField(const char *, signed int &);
  void GetField(const char *, unsigned int &);
  void GetField(const char *, signed long &);
  void GetField(const char *, unsigned long &);
  void GetField(const char *, double &);

  void SetField(unsigned int, const char *);
  void SetField(const char *, const char *);
  void SetField(const char *, char);
  void SetField(const char *, signed short);
  void SetField(const char *, unsigned short);
  void SetField(const char *, signed int);
  void SetField(const char *, unsigned int);
  void SetField(const char *, signed long);
  void SetField(const char *, unsigned long);
  void SetField(const char *, double);

  int GetErrorCode();
  long GetRecordNumber();
  unsigned int GetRecordWidth();
  unsigned int GetFieldNumber();
  const TDBFField * GetFieldInfo(unsigned int);
  const TDBFField * GetFieldInfo(const char *);
  const char * GetDatabaseName();
  int IsDelete();

  void ClearRecordBuffer();
  const char * GetRecordBuffer();
  void SetRecordBuffer(const char *);

  void ClearError();

  int operator !();
  operator void *();

protected:

  long RecordOffset(long rec);

  int m_fp;
  TDBFHead m_head;
  char * m_databaseName;
  char * m_recordBuffer;
  int m_openMode;
  int m_lockWaitTime;
  int m_errorCode;

  unsigned int m_fieldNumber;
  TDBFField * m_fieldInfo;

private:

    LockType m_lockType;
};

inline long TDBF::GetRecordNumber()
{
  return m_head.RecordNumber;
}

inline unsigned TDBF::GetRecordWidth()
{
  return m_head.RecordWidth;
}

inline unsigned TDBF::GetFieldNumber()
{
  return m_fieldNumber;
}

inline const char * TDBF::GetDatabaseName()
{
  return m_databaseName;
}

inline const char * TDBF::GetRecordBuffer()
{
  return m_recordBuffer;
}

inline long TDBF::RecordOffset(long rec)
{
  return (long) m_head.RecordOffset + (rec - 1L) * (long) m_head.RecordWidth;
}

inline int TDBF::GetErrorCode()
{
  return !(m_errorCode == DBF_SUCCESS);
}

inline int TDBF::operator !()
{
  return GetErrorCode();
}

inline TDBF::operator void *()
{
  return GetErrorCode() ? 0 : this;
}

inline void TDBF::SetLockTime(unsigned time)
{
  m_lockWaitTime = time;
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
4438x成人网最大色成网站| 色婷婷一区二区| 国产剧情一区二区| 在线中文字幕一区二区| 欧美mv日韩mv亚洲| 日韩毛片在线免费观看| 精品一区二区国语对白| 在线免费观看日韩欧美| 久久久国产精华| 爽好久久久欧美精品| 99久久99久久久精品齐齐| 国产白丝精品91爽爽久久| 精品综合免费视频观看| 91亚洲永久精品| 久久久一区二区三区捆绑**| 天天综合天天做天天综合| 99九九99九九九视频精品| xnxx国产精品| 美国av一区二区| 欧美日本精品一区二区三区| 一区二区三区久久久| av在线免费不卡| 国产精品免费丝袜| 国产精品一卡二卡| www国产亚洲精品久久麻豆| 蜜臀久久久久久久| 欧美精品三级日韩久久| 一区二区三区精品在线| 95精品视频在线| 亚洲欧洲韩国日本视频| 国产91露脸合集magnet| 久久久久久一二三区| 国产自产2019最新不卡| 精品粉嫩超白一线天av| 麻豆精品视频在线| 欧美电影精品一区二区| 久久福利视频一区二区| 欧美变态口味重另类| 看国产成人h片视频| 欧美电影免费观看高清完整版在线| 日本午夜一本久久久综合| 51精品视频一区二区三区| 国产不卡视频在线播放| 久久精品一二三| 免费观看在线综合| 精品区一区二区| 久久精品999| 久久久久久久综合色一本| 国产精品一二三在| 国产精品久久久久久久久久久免费看 | 国产精品中文字幕一区二区三区| 欧美精品一区二区三区视频 | 日本成人在线不卡视频| 日韩欧美不卡一区| 国产一区二区三区高清播放| 国产偷v国产偷v亚洲高清| 日韩区在线观看| 国产精品影视在线| 亚洲欧美日韩电影| 欧美精品在线视频| 国产精品综合在线视频| 国产精品电影一区二区三区| 欧美日韩国产另类不卡| 国产一区二区电影| 亚洲人xxxx| 日韩欧美国产精品| 97aⅴ精品视频一二三区| 日韩一区精品视频| 欧美高清在线视频| 欧美人妇做爰xxxⅹ性高电影| 精东粉嫩av免费一区二区三区| 国产精品美女久久久久久久久| 欧美中文字幕不卡| 国产精品 欧美精品| 亚洲bt欧美bt精品777| 久久久影视传媒| 欧美日韩精品专区| 成人app软件下载大全免费| 午夜激情综合网| 中文字幕乱码亚洲精品一区| 欧美久久久久久久久久| 岛国一区二区在线观看| 日精品一区二区三区| 中文字幕一区二区三区四区不卡| 在线综合亚洲欧美在线视频| 97久久超碰国产精品| 国产美女久久久久| 日韩成人午夜电影| 一区二区三区在线免费观看| 国产亚洲精品福利| 欧美一区二区三区免费在线看| 99久久婷婷国产综合精品| 另类小说综合欧美亚洲| 亚洲在线观看免费视频| 国产精品美女www爽爽爽| 欧美成人在线直播| 欧美精品久久久久久久多人混战| 99国产麻豆精品| 国产精品亚洲综合一区在线观看| 日韩成人av影视| 亚洲综合激情另类小说区| 国产精品久久久久久一区二区三区| 欧美草草影院在线视频| 91精品国产免费久久综合| 欧美无砖专区一中文字| 91蜜桃婷婷狠狠久久综合9色| 国产成人综合亚洲网站| 精品一区免费av| 日本欧美大码aⅴ在线播放| 一区二区三区欧美激情| 亚洲私人黄色宅男| 国产精品护士白丝一区av| 国产精品少妇自拍| 国产蜜臀97一区二区三区| 国产欧美一区二区三区沐欲| 久久这里只精品最新地址| 久久综合一区二区| 2024国产精品| 欧美极品aⅴ影院| 国产精品毛片高清在线完整版| 中文字幕乱码日本亚洲一区二区 | 黄色日韩三级电影| 精品一区二区三区久久| 国产酒店精品激情| 丰满放荡岳乱妇91ww| av资源网一区| 色天使色偷偷av一区二区| 日本国产一区二区| 欧美日韩久久久一区| 欧美一区二区福利在线| 337p粉嫩大胆色噜噜噜噜亚洲| 精品国产伦一区二区三区观看体验| 日韩精品资源二区在线| 国产亚洲欧美一区在线观看| 国产精品人妖ts系列视频| 最近中文字幕一区二区三区| 亚洲一级二级在线| 蜜臀av性久久久久蜜臀aⅴ| 韩国在线一区二区| 成人av电影在线观看| 欧美午夜精品久久久久久超碰| 欧美一级理论性理论a| 久久精品视频网| 亚洲日穴在线视频| 视频一区欧美精品| 国产精品1区2区| 欧美写真视频网站| 亚洲精品一区二区三区四区高清| 国产精品久久久久久久岛一牛影视| 亚洲精品成人悠悠色影视| 首页国产欧美久久| 粉嫩蜜臀av国产精品网站| 欧美色图在线观看| 久久久久国产精品厨房| 一区二区高清视频在线观看| 蜜桃视频在线观看一区| av一区二区三区在线| 日韩一卡二卡三卡四卡| 国产精品国产三级国产aⅴ入口| 日韩国产一二三区| 99r国产精品| 精品免费日韩av| 一区二区三区四区蜜桃 | 欧美电影免费观看高清完整版在| 国产精品久久久久aaaa| 久久精品久久久精品美女| 99久久综合精品| 欧美www视频| 午夜亚洲福利老司机| 成人精品免费网站| 日韩欧美中文字幕精品| 一区二区三区精品视频| 成人免费毛片高清视频| 欧美一区二区播放| 亚洲制服丝袜在线| www.欧美.com| 2020国产精品| 蜜臀av一级做a爰片久久| 欧美网站大全在线观看| 亚洲色图一区二区三区| 国产福利视频一区二区三区| 91精品国产美女浴室洗澡无遮挡| 亚洲免费观看在线视频| 丁香一区二区三区| 久久嫩草精品久久久精品| 欧美aaaaaa午夜精品| 欧美三级电影一区| 一区二区三区在线播放| 91在线视频网址| 国产精品二三区| 懂色av中文字幕一区二区三区 | 91福利在线免费观看| 中文字幕在线不卡| 成人免费av资源| 国产亚洲一区二区三区在线观看| 国产一区在线观看麻豆| 精品剧情v国产在线观看在线| 视频一区中文字幕| 91精品久久久久久蜜臀| 日韩av网站在线观看|