CINI.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /**************************************************************************************************
  2. 版本所有(C), 2020-2022, 北京普达迪泰
  3. ***************************************************************************************************
  4. 文 件 名: CINI.h
  5. 功能描述: .ini配置文件
  6. 版 本 号: 1.00初版
  7. 作 者: HYF
  8. 生成日期; 2021-12-20
  9. 最近修改:
  10. 函数列表:
  11. 修改历史:
  12. 1.日 期 :2021-12-20
  13. 作 者 : HYF
  14. 修改内容 : 创建文件
  15. **************************************************************************************************/
  16. #pragma once
  17. #include <afx.h>
  18. #define BUFF_MAX 512
  19. struct NodeData
  20. {
  21. TCHAR* strNode;
  22. int m_nIndex;
  23. int m_SubCount;
  24. long m_ByteOffe;
  25. int size;
  26. };
  27. class CINI : public CObject
  28. {
  29. protected:
  30. NodeData *GetNode(LPCTSTR findc);
  31. public:
  32. CINI();
  33. ~CINI();
  34. BOOL WriteStrVal(LPCTSTR strHead, LPCTSTR strKey, LPCTSTR strValue);
  35. BOOL WriteFloatVal(LPCTSTR Node, LPCTSTR Key, float n);
  36. BOOL WriteDoubleVal(LPCTSTR Node, LPCTSTR Key, double n);
  37. BOOL WriteIntVal(LPCTSTR Node, LPCTSTR Key, int n);
  38. BOOL WriteStrVal(LPCTSTR Node, LPCTSTR Key, TCHAR* Value);
  39. BOOL ReadStrVal(LPCTSTR strHead, LPCTSTR strKey, CString &buff);
  40. double ReadDoubleVal(LPCTSTR strHead, LPCTSTR strKey, const double idefault);
  41. float ReadFloatVal(LPCTSTR strHead, LPCTSTR strKey, const float idefault);
  42. BOOL ReadStrVal(LPCTSTR strHead, LPCTSTR strKey, TCHAR *buff, int size);
  43. UINT ReadIntVal(LPCTSTR strHead, LPCTSTR strKey, const UINT idefault);
  44. BOOL GetSubValueFromStr(LPCTSTR str, double &fDest, int index);
  45. BOOL GetSubValueFromStr(LPCTSTR str, int &iDest, int index);
  46. BOOL GetSubValueFromStr(LPCTSTR str, CString &strDest, int index);
  47. BOOL GetSubValueFromStrEx(LPCTSTR str, double &fDest, int index);
  48. BOOL GetSubValueFromStrEx(LPCTSTR str, int &iDest, int index);
  49. BOOL GetSubValueFromStrEx(LPCTSTR str, CString &strDest, int index);
  50. BOOL GetInitFlag();
  51. void SetFileName(LPCTSTR Filename);
  52. BOOL DeleteNode(LPCTSTR Node);
  53. BOOL DeleteKey(LPCTSTR Node, LPCTSTR Key);
  54. BOOL ReadIniNodes(CStringList *li = NULL, TCHAR *FileName = NULL);
  55. BOOL ReadIniNodeSubData(LPCTSTR Nodestr, CStringList *li);
  56. int GetNodeSubCount(LPCTSTR str);
  57. void RemoveAll();
  58. TCHAR m_cReadBuff[BUFF_MAX];
  59. TCHAR m_cFileName[BUFF_MAX];
  60. BOOL m_bDebug;
  61. CPtrList m_pNodeList;
  62. };