AppSettings.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //-----------------------------------------------------------------------------
  2. //
  3. // Copyright (c) 2005,珠海友通科技有限公司——通用型DROC
  4. // All rights reserved.
  5. //
  6. // 文件名称:AppSettings.h
  7. // 文件标识:见配置管理计划书.
  8. // 摘 要:
  9. //
  10. // 当前版本:0.1
  11. // 作 者:胡昌红
  12. // 完成日期:2005-3-5 16:36:02
  13. //
  14. // 取代版本:
  15. // 原 作 者:
  16. // 完成日期:
  17. //
  18. //-----------------------------------------------------------------------------
  19. #pragma once
  20. //-----------------------------------------------------------------------------
  21. #include "Markup.h"
  22. #include <vector>
  23. using namespace std;
  24. //-----------------------------------------------------------------------------
  25. //
  26. // 该类处理结构如下描述的 XML 文档中的数据.
  27. // 包括对 <Data key=" ", value=" " /> 结点的 添加、修改、保存.
  28. // 以及对其 value 值的修改.
  29. // 同时还包括将所有的 key、value 以 DATA 结构的方式读入向量.
  30. //
  31. // <?xml version="1.0" encoding="utf-8" ?>
  32. // <AppSetting>
  33. // <Data key="SKULL" value="SKULL" />
  34. // <Data key="CSPINE" value="CSPINE" />
  35. // ……
  36. // </AppSetting>
  37. //
  38. // 其中,以其他字符串替换 XML 结构的关键字 AppSetting 和 Data , 不会影响程序的运行.
  39. // 但是,为了保持 所有 XML 文档结构的一致性,建议不要替换.
  40. //
  41. //-----------------------------------------------------------------------------
  42. class CAppSettings
  43. {
  44. public:
  45. CAppSettings(void);
  46. CAppSettings(const CString &strFileName);
  47. virtual ~CAppSettings(void);
  48. public:
  49. bool Load(const CString &strFileName);
  50. bool GetAllDataToVector(void);
  51. CString operator [](const CString &strKey) const;
  52. CString GetValue(const CString &strKey) const;
  53. CString GetValueByKey(const CString &strKey) const;
  54. bool SetValue(const CString &strKey, const CString &strValue) const;
  55. bool AddItem(const CString &strKey, const CString &strValue) const;
  56. bool DeleteItem(const CString &strKey) const;
  57. bool Save(const CString &strFileName);
  58. public:
  59. typedef struct tagData
  60. {
  61. CString key;
  62. CString value;
  63. }DATA;
  64. vector<DATA> vecData;
  65. protected:
  66. CMarkup *m_XmlMarkup;
  67. };