InitDatei.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. #ifndef InitDatei_H
  2. #define InitDatei_H
  3. #include "Array.h"
  4. namespace Framework
  5. {
  6. class Text; //! Text.h
  7. //! Verwaltet Initialisierungsdateien in denen Bestimmte Variablen im Format
  8. //! name=Wert gespeichert sind
  9. class InitDatei : public virtual ReferenceCounter
  10. {
  11. private:
  12. Text* pfad;
  13. RCArray<Text>* name;
  14. RCArray<Text>* wert;
  15. public:
  16. //! Konstruktor
  17. DLLEXPORT InitDatei();
  18. //! Konstruktor
  19. //! \param pfad Der Pfad zur Datei
  20. DLLEXPORT InitDatei(Text* pfad);
  21. //! Konstruktor
  22. //! \param pfad Der Pfad zur Datei
  23. DLLEXPORT InitDatei(const char* pfad);
  24. //! Destruktor
  25. DLLEXPORT ~InitDatei();
  26. //! Setzt den Pfad zur Datei
  27. //! \param pfad Der Pfad zur Datei
  28. DLLEXPORT void setPfad(Text* pfad);
  29. //! Setzt den Pfad zur Datei
  30. //! \param pfad Der Pfad zur Datei
  31. DLLEXPORT void setPfad(const char* pfad);
  32. //! Lähdt die Werte aus der Datei
  33. //! \return 1, falls das Laden erfolgreich war. 0, wenn ein fehler
  34. //! aufgetreten ist.
  35. DLLEXPORT bool laden();
  36. //! Fügt der Datei einen Wert hinzu
  37. //! \param name Der Name des Wertes
  38. //! \param wert Der Wert, der gespeichert werden soll
  39. //! \return 1, falls der Wert erfolgreich hinzugefügt wurde
  40. DLLEXPORT bool addWert(Text* name, Text* wert);
  41. //! Fügt der Datei einen Wert hinzu
  42. //! \param name Der Name des Wertes
  43. //! \param wert Der Wert, der gespeichert werden soll
  44. //! \return 1, falls der Wert erfolgreich hinzugefügt wurde
  45. DLLEXPORT bool addWert(const char* name, const char* wert);
  46. //! Ändert einen bestimmten Wert
  47. //! \param name Der Name des Wertes
  48. //! \param wert Der Wert, der gespeichert werden soll
  49. //! \return 1, falls der Wert vorhanden war und erfolgreich geändert
  50. //! werden konnte
  51. DLLEXPORT bool setWert(Text* name, Text* wert);
  52. //! Ändert einen bestimmten Wert
  53. //! \param name Der Name des Wertes
  54. //! \param wert Der Wert, der gespeichert werden soll
  55. //! \return 1, falls der Wert vorhanden war und erfolgreich geändert
  56. //! werden konnte
  57. DLLEXPORT bool setWert(const char* name, const char* wert);
  58. //! Ändert einen bestimmten Wert
  59. //! \param num Der Index des Wertes der geändert werden soll
  60. //! \param wert Der Wert, der gespeichert werden soll
  61. //! \return 1, falls der Wert vorhanden war und erfolgreich geändert
  62. //! werden konnte
  63. DLLEXPORT bool setWert(int num, Text* wert);
  64. //! Ändert einen bestimmten Wert
  65. //! \param num Der Index des Wertes der geändert werden soll
  66. //! \param wert Der Wert, der gespeichert werden soll
  67. //! \return 1, falls der Wert vorhanden war und erfolgreich geändert
  68. //! werden konnte
  69. DLLEXPORT bool setWert(int num, const char* wert);
  70. //! Löscht einen bestimmten Wert
  71. //! \param name Der Name des Wertes, der gelöscht werden soll
  72. //! \return 1, falls der Wert vorhanden war und erfolgreich gelöscht
  73. //! werden konnte
  74. DLLEXPORT bool removeWert(Text* name);
  75. //! Löscht einen bestimmten Wert
  76. //! \param name Der Name des Wertes, der gelöscht werden soll
  77. //! \return 1, falls der Wert vorhanden war und erfolgreich gelöscht
  78. //! werden konnte
  79. DLLEXPORT bool removeWert(const char* name);
  80. //! Löscht einen bestimmten Wert
  81. //! \param num Der Index des Wertes der gelöscht werden soll
  82. //! \return 1, falls der Wert vorhanden war und erfolgreich gelöscht
  83. //! werden konnte
  84. DLLEXPORT bool removeWert(int num);
  85. //! Löscht alle Werte aus der Datei
  86. DLLEXPORT void removeAlle();
  87. //! Speichert alle Werte in der Datei
  88. //! \return 1, falls das Speichern erfolgreich war
  89. DLLEXPORT bool speichern();
  90. //! Gibt die Anzahl der gespeicherten Werte zurück
  91. DLLEXPORT int getWertAnzahl() const;
  92. //! Überprüft, ob ein bestimmter Wert existiert
  93. //! \param name Der Name, nach dem gesucht werden soll
  94. //! \return 1, falls der Wert gefunden wurde
  95. DLLEXPORT bool wertExistiert(Text* name);
  96. //! Überprüft, ob ein bestimmter Wert existiert
  97. //! \param name Der Name, nach dem gesucht werden soll
  98. //! \return 1, falls der Wert gefunden wurde
  99. DLLEXPORT bool wertExistiert(const char* name);
  100. //! Gibt den Index eines Bestimmten Wertes zurück
  101. //! \param name Der Name des Wertes, nach dem gesucht werden soll
  102. //! \return -1, falls der Wert nicht gefunden wurde. Der Index des
  103. //! Wertes.
  104. DLLEXPORT int getWertNummer(Text* name);
  105. //! Gibt den Index eines Bestimmten Wertes zurück
  106. //! \param name Der Name des Wertes, nach dem gesucht werden soll
  107. //! \return -1, falls der Wert nicht gefunden wurde. Der Index des
  108. //! Wertes.
  109. DLLEXPORT int getWertNummer(const char* name);
  110. //! Gibt einen bestimmten Wert zurück
  111. //! \param name Der Name des Wertes, der zurückgegeben werden soll
  112. //! \return 0, falls der Wert nicht gefunden wurde.
  113. DLLEXPORT Text* getWert(Text* name);
  114. //! Gibt einen bestimmten Wert zurück
  115. //! \param name Der Name des Wertes, der zurückgegeben werden soll
  116. //! \return 0, falls der Wert nicht gefunden wurde.
  117. DLLEXPORT Text* getWert(const char* name);
  118. //! Gibt einen bestimmten Wert zurück
  119. //! \param num Der Index des Wertes, der zurückgegeben werden soll
  120. //! \return 0, falls der Wert nicht gefunden wurde.
  121. DLLEXPORT Text* getWert(int num);
  122. //! Gibt einen bestimmten Wert zurück
  123. //! \param name Der Name des Wertes, der zurückgegeben werden soll
  124. //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne
  125. //! erhöhten Reference Counter
  126. DLLEXPORT Text* zWert(Text* name);
  127. //! Gibt einen bestimmten Wert zurück
  128. //! \param name Der Name des Wertes, der zurückgegeben werden soll
  129. //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne
  130. //! erhöhten Reference Counter
  131. DLLEXPORT Text* zWert(const char* name);
  132. //! Gibt einen bestimmten Wert zurück
  133. //! \param num Der Index des Wertes, der zurückgegeben werden soll
  134. //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne
  135. //! erhöhten Reference Counter
  136. DLLEXPORT Text* zWert(int num);
  137. //! Gibt den Namen eines bestimmten Wertes zurück
  138. //! \param num Der Index des Wertes, dessen Namen zurückgegeben werden
  139. //! soll \return 0, falls der Wert nicht gefunden wurde.
  140. DLLEXPORT Text* getName(int num);
  141. //! Gibt den Namen eines bestimmten Wertes zurück
  142. //! \param num Der Index des Wertes, dessen Namen zurückgegeben werden
  143. //! soll \return 0, falls der Wert nicht gefunden wurde. Der Name ohne
  144. //! erhöhten Reference Counter
  145. DLLEXPORT Text* zName(int num);
  146. //! Gibt den Pfad zur Datei zurück
  147. DLLEXPORT Text* getPfad() const;
  148. //! Gibt den Pfad zur Datei ohne erhöhten Reference Counter zurück
  149. DLLEXPORT Text* zPfad() const;
  150. };
  151. } // namespace Framework
  152. #endif