InitDatei.h 7.1 KB

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