InitDatei.h 7.7 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. __declspec( dllexport ) InitDatei();
  19. // Konstruktor
  20. // pfad: Der Pfad zur Datei
  21. __declspec( dllexport ) InitDatei( Text *pfad );
  22. // Konstruktor
  23. // pfad: Der Pfad zur Datei
  24. __declspec( dllexport ) InitDatei( const char *pfad );
  25. // Destruktor
  26. __declspec( dllexport ) ~InitDatei();
  27. // Setzt den Pfad zur Datei
  28. // pfad: Der Pfad zur Datei
  29. __declspec( dllexport ) void setPfad( Text *pfad );
  30. // Setzt den Pfad zur Datei
  31. // pfad: Der Pfad zur Datei
  32. __declspec( 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. __declspec( dllexport ) bool laden();
  36. // Fügt der Datei einen Wert hinzu
  37. // name: Der Name des Wertes
  38. // wert: Der Wert, der gespeichert werden soll
  39. // return: 1, falls der Wert erfolgreich hinzugefügt wurde
  40. __declspec( dllexport ) bool addWert( Text *name, Text *wert );
  41. // Fügt der Datei einen Wert hinzu
  42. // name: Der Name des Wertes
  43. // wert: Der Wert, der gespeichert werden soll
  44. // return: 1, falls der Wert erfolgreich hinzugefügt wurde
  45. __declspec( dllexport ) bool addWert( const char *name, const char *wert );
  46. // Ändert einen bestimmten Wert
  47. // name: Der Name des Wertes
  48. // wert: Der Wert, der gespeichert werden soll
  49. // return: 1, falls der Wert vorhanden war und erfolgreich geändert werden konnte
  50. __declspec( dllexport ) bool setWert( Text *name, Text *wert );
  51. // Ändert einen bestimmten Wert
  52. // name: Der Name des Wertes
  53. // wert: Der Wert, der gespeichert werden soll
  54. // return: 1, falls der Wert vorhanden war und erfolgreich geändert werden konnte
  55. __declspec( dllexport ) bool setWert( const char *name, const char *wert );
  56. // Ändert einen bestimmten Wert
  57. // num: Der Index des Wertes der geändert werden soll
  58. // wert: Der Wert, der gespeichert werden soll
  59. // return: 1, falls der Wert vorhanden war und erfolgreich geändert werden konnte
  60. __declspec( dllexport ) bool setWert( int num, Text *wert );
  61. // Ändert einen bestimmten Wert
  62. // num: Der Index des Wertes der geändert werden soll
  63. // wert: Der Wert, der gespeichert werden soll
  64. // return: 1, falls der Wert vorhanden war und erfolgreich geändert werden konnte
  65. __declspec( dllexport ) bool setWert( int num, const char *wert );
  66. // Löscht einen bestimmten Wert
  67. // 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. __declspec( dllexport ) bool löscheWert( Text *name );
  70. // Löscht einen bestimmten Wert
  71. // 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. __declspec( dllexport ) bool löscheWert( const char *name );
  74. // Löscht einen bestimmten Wert
  75. // 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. __declspec( dllexport ) bool löscheWert( int num );
  78. // Löscht alle Werte aus der Datei
  79. __declspec( dllexport ) void löscheAlle();
  80. // Speichert alle Werte in der Datei
  81. // return: 1, falls das Speichern erfolgreich war
  82. __declspec( dllexport ) bool speichern();
  83. // Gibt die Anzahl der gespeicherten Werte zurück
  84. __declspec( dllexport ) int getWertAnzahl() const;
  85. // Überprüft, ob ein bestimmter Wert existiert
  86. // name: Der Name, nach dem gesucht werden soll
  87. // return: 1, falls der Wert gefunden wurde
  88. __declspec( dllexport ) bool wertExistiert( Text *name );
  89. // Überprüft, ob ein bestimmter Wert existiert
  90. // name: Der Name, nach dem gesucht werden soll
  91. // return: 1, falls der Wert gefunden wurde
  92. __declspec( dllexport ) bool wertExistiert( const char *name );
  93. // Gibt den Index eines Bestimmten Wertes zurück
  94. // name: Der Name des Wertes, nach dem gesucht werden soll
  95. // return: -1, falls der Wert nicht gefunden wurde. Der Index des Wertes.
  96. __declspec( dllexport ) int getWertNummer( Text *name );
  97. // Gibt den Index eines Bestimmten Wertes zurück
  98. // name: Der Name des Wertes, nach dem gesucht werden soll
  99. // return: -1, falls der Wert nicht gefunden wurde. Der Index des Wertes.
  100. __declspec( dllexport ) int getWertNummer( const char *name );
  101. // Gibt einen bestimmten Wert zurück
  102. // name: Der Name des Wertes, der zurückgegeben werden soll
  103. // return: 0, falls der Wert nicht gefunden wurde.
  104. __declspec( dllexport ) Text *getWert( Text *name );
  105. // Gibt einen bestimmten Wert zurück
  106. // name: Der Name des Wertes, der zurückgegeben werden soll
  107. // return: 0, falls der Wert nicht gefunden wurde.
  108. __declspec( dllexport ) Text *getWert( const char *name );
  109. // Gibt einen bestimmten Wert zurück
  110. // num: Der Index des Wertes, der zurückgegeben werden soll
  111. // return: 0, falls der Wert nicht gefunden wurde.
  112. __declspec( dllexport ) Text *getWert( int num );
  113. // Gibt einen bestimmten Wert zurück
  114. // 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. __declspec( dllexport ) Text *zWert( Text *name );
  117. // Gibt einen bestimmten Wert zurück
  118. // 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. __declspec( dllexport ) Text *zWert( const char *name );
  121. // Gibt einen bestimmten Wert zurück
  122. // 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. __declspec( dllexport ) Text *zWert( int num );
  125. // Gibt den Namen eines bestimmten Wertes zurück
  126. // num: Der Index des Wertes, dessen Namen zurückgegeben werden soll
  127. // return: 0, falls der Wert nicht gefunden wurde.
  128. __declspec( dllexport ) Text *getName( int num );
  129. // Gibt den Namen eines bestimmten Wertes zurück
  130. // 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. __declspec( dllexport ) Text *zName( int num );
  133. // Gibt den Pfad zur Datei zurück
  134. __declspec( dllexport ) Text *getPfad() const;
  135. // Gibt den Pfad zur Datei ohne erhöhten Reference Counter zurück
  136. __declspec( dllexport ) Text *zPfad() const;
  137. // Erhöht den Reference Counting Zähler.
  138. // return: this.
  139. __declspec( 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. __declspec( dllexport ) InitDatei *release();
  143. };
  144. }
  145. #endif