#ifndef InitDatei_H #define InitDatei_H #include "Array.h" namespace Framework { class Text; //! Text.h //! Verwaltet Initialisierungsdateien in denen Bestimmte Variablen im Format //! name=Wert gespeichert sind class InitDatei : public virtual ReferenceCounter { private: Text* pfad; RCArray* name; RCArray* wert; public: //! Konstruktor DLLEXPORT InitDatei(); //! Konstruktor //! \param pfad Der Pfad zur Datei DLLEXPORT InitDatei(Text* pfad); //! Konstruktor //! \param pfad Der Pfad zur Datei DLLEXPORT InitDatei(const char* pfad); //! Destruktor DLLEXPORT ~InitDatei(); //! Setzt den Pfad zur Datei //! \param pfad Der Pfad zur Datei DLLEXPORT void setPfad(Text* pfad); //! Setzt den Pfad zur Datei //! \param pfad Der Pfad zur Datei DLLEXPORT void setPfad(const char* pfad); //! Lähdt die Werte aus der Datei //! \return 1, falls das Laden erfolgreich war. 0, wenn ein fehler //! aufgetreten ist. DLLEXPORT bool laden(); //! Fügt der Datei einen Wert hinzu //! \param name Der Name des Wertes //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert erfolgreich hinzugefügt wurde DLLEXPORT bool addWert(Text* name, Text* wert); //! Fügt der Datei einen Wert hinzu //! \param name Der Name des Wertes //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert erfolgreich hinzugefügt wurde DLLEXPORT bool addWert(const char* name, const char* wert); //! Ändert einen bestimmten Wert //! \param name Der Name des Wertes //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geändert //! werden konnte DLLEXPORT bool setWert(Text* name, Text* wert); //! Ändert einen bestimmten Wert //! \param name Der Name des Wertes //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geändert //! werden konnte DLLEXPORT bool setWert(const char* name, const char* wert); //! Ändert einen bestimmten Wert //! \param num Der Index des Wertes der geändert werden soll //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geändert //! werden konnte DLLEXPORT bool setWert(int num, Text* wert); //! Ändert einen bestimmten Wert //! \param num Der Index des Wertes der geändert werden soll //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geändert //! werden konnte DLLEXPORT bool setWert(int num, const char* wert); //! Löscht einen bestimmten Wert //! \param name Der Name des Wertes, der gelöscht werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich gelöscht //! werden konnte DLLEXPORT bool removeWert(Text* name); //! Löscht einen bestimmten Wert //! \param name Der Name des Wertes, der gelöscht werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich gelöscht //! werden konnte DLLEXPORT bool removeWert(const char* name); //! Löscht einen bestimmten Wert //! \param num Der Index des Wertes der gelöscht werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich gelöscht //! werden konnte DLLEXPORT bool removeWert(int num); //! Löscht alle Werte aus der Datei DLLEXPORT void removeAlle(); //! Speichert alle Werte in der Datei //! \return 1, falls das Speichern erfolgreich war DLLEXPORT bool speichern(); //! Gibt die Anzahl der gespeicherten Werte zurück DLLEXPORT int getWertAnzahl() const; //! Überprüft, ob ein bestimmter Wert existiert //! \param name Der Name, nach dem gesucht werden soll //! \return 1, falls der Wert gefunden wurde DLLEXPORT bool wertExistiert(Text* name); //! Überprüft, ob ein bestimmter Wert existiert //! \param name Der Name, nach dem gesucht werden soll //! \return 1, falls der Wert gefunden wurde DLLEXPORT bool wertExistiert(const char* name); //! Gibt den Index eines Bestimmten Wertes zurück //! \param name Der Name des Wertes, nach dem gesucht werden soll //! \return -1, falls der Wert nicht gefunden wurde. Der Index des //! Wertes. DLLEXPORT int getWertNummer(Text* name); //! Gibt den Index eines Bestimmten Wertes zurück //! \param name Der Name des Wertes, nach dem gesucht werden soll //! \return -1, falls der Wert nicht gefunden wurde. Der Index des //! Wertes. DLLEXPORT int getWertNummer(const char* name); //! Gibt einen bestimmten Wert zurück //! \param name Der Name des Wertes, der zurückgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. DLLEXPORT Text* getWert(Text* name); //! Gibt einen bestimmten Wert zurück //! \param name Der Name des Wertes, der zurückgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. DLLEXPORT Text* getWert(const char* name); //! Gibt einen bestimmten Wert zurück //! \param num Der Index des Wertes, der zurückgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. DLLEXPORT Text* getWert(int num); //! Gibt einen bestimmten Wert zurück //! \param name Der Name des Wertes, der zurückgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne //! erhöhten Reference Counter DLLEXPORT Text* zWert(Text* name); //! Gibt einen bestimmten Wert zurück //! \param name Der Name des Wertes, der zurückgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne //! erhöhten Reference Counter DLLEXPORT Text* zWert(const char* name); //! Gibt einen bestimmten Wert zurück //! \param num Der Index des Wertes, der zurückgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne //! erhöhten Reference Counter DLLEXPORT Text* zWert(int num); //! Gibt den Namen eines bestimmten Wertes zurück //! \param num Der Index des Wertes, dessen Namen zurückgegeben werden //! soll \return 0, falls der Wert nicht gefunden wurde. DLLEXPORT Text* getName(int num); //! Gibt den Namen eines bestimmten Wertes zurück //! \param num Der Index des Wertes, dessen Namen zurückgegeben werden //! soll \return 0, falls der Wert nicht gefunden wurde. Der Name ohne //! erhöhten Reference Counter DLLEXPORT Text* zName(int num); //! Gibt den Pfad zur Datei zurück DLLEXPORT Text* getPfad() const; //! Gibt den Pfad zur Datei ohne erhöhten Reference Counter zurück DLLEXPORT Text* zPfad() const; }; } // namespace Framework #endif