#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 { private: Text *pfad; int feldAnzahl; RCArray< Text > *name; RCArray< Text > *wert; int ref; 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; //! Erhöht den Reference Counting Zähler. //! \return this. DLLEXPORT InitDatei *getThis(); //! Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht. //! \return 0. DLLEXPORT InitDatei *release(); }; } #endif