KTabFile.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //---------------------------------------------------------------------------
  2. // Sword3 Engine (c) 1999-2000 by Kingsoft
  3. //
  4. // File: KTabFile.h
  5. // Date: 2002.02.18
  6. // Code: Spe
  7. // Desc: Header File
  8. //---------------------------------------------------------------------------
  9. #ifndef KTabFile_H
  10. #define KTabFile_H
  11. #include "KMemClass.h"
  12. #include "KITabFile.h"
  13. //---------------------------------------------------------------------------
  14. typedef struct tagTabOffset
  15. {
  16. DWORD dwOffset;
  17. DWORD dwLength;
  18. } TABOFFSET;
  19. class ENGINE_API KTabFile:public KITabFile
  20. {
  21. private:
  22. int m_Width;
  23. int m_Height;
  24. KMemClass m_Memory;
  25. KMemClass m_OffsetTable;
  26. private:
  27. void CreateTabOffset();
  28. BOOL GetValue(int nRow, int nColumn, LPSTR lpRString, DWORD dwSize);
  29. int Str2Col(LPSTR szColumn);
  30. public:
  31. KTabFile();
  32. ~KTabFile();
  33. BOOL Load(LPSTR FileName);
  34. BOOL Save(LPSTR FileName){return FALSE;}; //无法保存
  35. BOOL LoadPack(LPSTR FileName);
  36. int FindRow(LPSTR szRow);//返回以1为起点的值
  37. int FindColumn(LPSTR szColumn);//返回以1为起点的值
  38. void Col2Str(int nCol, LPSTR szColumn);
  39. int GetWidth() { return m_Width;};
  40. int GetHeight() { return m_Height;};
  41. BOOL GetString(int nRow, LPSTR szColumn, LPSTR lpDefault, LPSTR lpRString, DWORD dwSize, BOOL bColumnLab = TRUE);
  42. BOOL GetString(int nRow, int nColumn, LPSTR lpDefault, LPSTR lpRString, DWORD dwSize);
  43. BOOL GetString(LPSTR szRow, LPSTR szColumn, LPSTR lpDefault, LPSTR lpRString, DWORD dwSize);
  44. BOOL GetInteger(int nRow, LPSTR szColumn, int nDefault, int *pnValue, BOOL bColumnLab = TRUE);
  45. BOOL GetInteger(int nRow, int nColumn, int nDefault, int *pnValue);
  46. BOOL GetInteger(LPSTR szRow, LPSTR szColumn, int nDefault, int *pnValue);
  47. BOOL GetFloat(int nRow, LPSTR szColumn, float fDefault, float *pfValue, BOOL bColumnLab = TRUE);
  48. BOOL GetFloat(int nRow, int nColumn, float fDefault, float *pfValue);
  49. BOOL GetFloat(LPSTR szRow, LPSTR szColumn, float fDefault, float *pfValue);
  50. void Clear();
  51. };
  52. //---------------------------------------------------------------------------
  53. #endif