InitDatei.h 7.1 KB

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