InitDatei.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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 name=Wert gespeichert sind
  8. class InitDatei
  9. {
  10. private:
  11. Text *pfad;
  12. int feldAnzahl;
  13. RCArray< Text > *name;
  14. RCArray< Text > *wert;
  15. int ref;
  16. public:
  17. //! Konstruktor
  18. DLLEXPORT InitDatei();
  19. //! Konstruktor
  20. //! \param pfad Der Pfad zur Datei
  21. DLLEXPORT InitDatei( Text *pfad );
  22. //! Konstruktor
  23. //! \param pfad Der Pfad zur Datei
  24. DLLEXPORT InitDatei( const char *pfad );
  25. //! Destruktor
  26. DLLEXPORT ~InitDatei();
  27. //! Setzt den Pfad zur Datei
  28. //! \param pfad Der Pfad zur Datei
  29. DLLEXPORT void setPfad( Text *pfad );
  30. //! Setzt den Pfad zur Datei
  31. //! \param pfad Der Pfad zur Datei
  32. DLLEXPORT void setPfad( const char *pfad );
  33. //! Lähdt die Werte aus der Datei
  34. //! \return 1, falls das Laden erfolgreich war. 0, wenn ein fehler 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 werden konnte
  50. DLLEXPORT bool setWert( Text *name, Text *wert );
  51. //! Ändert einen bestimmten Wert
  52. //! \param name Der Name des Wertes
  53. //! \param wert Der Wert, der gespeichert werden soll
  54. //! \return 1, falls der Wert vorhanden war und erfolgreich geändert werden konnte
  55. DLLEXPORT bool setWert( const char *name, const char *wert );
  56. //! Ändert einen bestimmten Wert
  57. //! \param num Der Index des Wertes der geändert werden soll
  58. //! \param wert Der Wert, der gespeichert werden soll
  59. //! \return 1, falls der Wert vorhanden war und erfolgreich geändert werden konnte
  60. DLLEXPORT bool setWert( int num, Text *wert );
  61. //! Ändert einen bestimmten Wert
  62. //! \param num Der Index des Wertes der geändert werden soll
  63. //! \param wert Der Wert, der gespeichert werden soll
  64. //! \return 1, falls der Wert vorhanden war und erfolgreich geändert werden konnte
  65. DLLEXPORT bool setWert( int num, const char *wert );
  66. //! Löscht einen bestimmten Wert
  67. //! \param name Der Name des Wertes, der gelöscht werden soll
  68. //! \return 1, falls der Wert vorhanden war und erfolgreich gelöscht werden konnte
  69. DLLEXPORT bool removeWert( Text *name );
  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 werden konnte
  73. DLLEXPORT bool removeWert( const char *name );
  74. //! Löscht einen bestimmten Wert
  75. //! \param num Der Index des Wertes der gelöscht werden soll
  76. //! \return 1, falls der Wert vorhanden war und erfolgreich gelöscht werden konnte
  77. DLLEXPORT bool removeWert( int num );
  78. //! Löscht alle Werte aus der Datei
  79. DLLEXPORT void removeAlle();
  80. //! Speichert alle Werte in der Datei
  81. //! \return 1, falls das Speichern erfolgreich war
  82. DLLEXPORT bool speichern();
  83. //! Gibt die Anzahl der gespeicherten Werte zurück
  84. DLLEXPORT int getWertAnzahl() const;
  85. //! Überprüft, ob ein bestimmter Wert existiert
  86. //! \param name Der Name, nach dem gesucht werden soll
  87. //! \return 1, falls der Wert gefunden wurde
  88. DLLEXPORT bool wertExistiert( Text *name );
  89. //! Überprüft, ob ein bestimmter Wert existiert
  90. //! \param name Der Name, nach dem gesucht werden soll
  91. //! \return 1, falls der Wert gefunden wurde
  92. DLLEXPORT bool wertExistiert( const char *name );
  93. //! Gibt den Index eines Bestimmten Wertes zurück
  94. //! \param name Der Name des Wertes, nach dem gesucht werden soll
  95. //! \return -1, falls der Wert nicht gefunden wurde. Der Index des Wertes.
  96. DLLEXPORT int getWertNummer( Text *name );
  97. //! Gibt den Index eines Bestimmten Wertes zurück
  98. //! \param name Der Name des Wertes, nach dem gesucht werden soll
  99. //! \return -1, falls der Wert nicht gefunden wurde. Der Index des Wertes.
  100. DLLEXPORT int getWertNummer( const char *name );
  101. //! Gibt einen bestimmten Wert zurück
  102. //! \param name Der Name des Wertes, der zurückgegeben werden soll
  103. //! \return 0, falls der Wert nicht gefunden wurde.
  104. DLLEXPORT Text *getWert( Text *name );
  105. //! Gibt einen bestimmten Wert zurück
  106. //! \param name Der Name des Wertes, der zurückgegeben werden soll
  107. //! \return 0, falls der Wert nicht gefunden wurde.
  108. DLLEXPORT Text *getWert( const char *name );
  109. //! Gibt einen bestimmten Wert zurück
  110. //! \param num Der Index des Wertes, der zurückgegeben werden soll
  111. //! \return 0, falls der Wert nicht gefunden wurde.
  112. DLLEXPORT Text *getWert( int num );
  113. //! Gibt einen bestimmten Wert zurück
  114. //! \param name Der Name des Wertes, der zurückgegeben werden soll
  115. //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne erhöhten Reference Counter
  116. DLLEXPORT Text *zWert( Text *name );
  117. //! Gibt einen bestimmten Wert zurück
  118. //! \param name Der Name des Wertes, der zurückgegeben werden soll
  119. //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne erhöhten Reference Counter
  120. DLLEXPORT Text *zWert( const char *name );
  121. //! Gibt einen bestimmten Wert zurück
  122. //! \param num Der Index des Wertes, der zurückgegeben werden soll
  123. //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne erhöhten Reference Counter
  124. DLLEXPORT Text *zWert( int num );
  125. //! Gibt den Namen eines bestimmten Wertes zurück
  126. //! \param num Der Index des Wertes, dessen Namen zurückgegeben werden soll
  127. //! \return 0, falls der Wert nicht gefunden wurde.
  128. DLLEXPORT Text *getName( int num );
  129. //! Gibt den Namen eines bestimmten Wertes zurück
  130. //! \param num Der Index des Wertes, dessen Namen zurückgegeben werden soll
  131. //! \return 0, falls der Wert nicht gefunden wurde. Der Name ohne erhöhten Reference Counter
  132. DLLEXPORT Text *zName( int num );
  133. //! Gibt den Pfad zur Datei zurück
  134. DLLEXPORT Text *getPfad() const;
  135. //! Gibt den Pfad zur Datei ohne erhöhten Reference Counter zurück
  136. DLLEXPORT Text *zPfad() const;
  137. //! Erhöht den Reference Counting Zähler.
  138. //! \return this.
  139. DLLEXPORT InitDatei *getThis();
  140. //! Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  141. //! \return 0.
  142. DLLEXPORT InitDatei *release();
  143. };
  144. }
  145. #endif