123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #ifndef KSGTDatei_H
- #define KSGTDatei_H
- #include "Array.h"
- namespace Framework
- {
- class Text;
- //! Verwaltet eine Datei in der Daten tabellarisch abgespeichert werden
- class KSGTDatei : public virtual ReferenceCounter
- {
- private:
- Text *pfad;
- RCArray< RCArray< Text > > *data;
- public:
- //! Konstruktor
- DLLEXPORT KSGTDatei();
- //! Konstruktor
- //! \param pfad Der Pfad zur Datei
- DLLEXPORT KSGTDatei( const char *pfad );
- //! Konstruktor
- //! \param pfad Der Pfad zur Datei
- DLLEXPORT KSGTDatei( Text *pfad );
- //! Destruktor
- DLLEXPORT ~KSGTDatei();
- //! Setzt den Pfad zur Datei
- //! \param pfad Der Pfad zur Datei
- DLLEXPORT void setPfad( const char *pfad );
- //! Setzt den Pfad zur Datei
- //! \param pfad Der Pfad zur Datei
- DLLEXPORT void setPfad( Text *pfad );
- //! lähdt alle Daten aus der angegebenen Datei
- //! \return 1, falls das laden erfolgreich war. 0, wenn ein Fehler beim laden aufgetreten ist
- DLLEXPORT bool laden();
- //! Fügt eine Zeile zur Tabelle hinzu
- //! \param feldAnzahl Die Anzahl der Felder in der Zeile
- //! \param zWert Einen Zeiger auf die Werte in der Zeile ohne erhöhten Reference Counter
- //! \return 1, wenn kein Fehler aufgetreten ist
- DLLEXPORT bool addZeile( int feldAnzahl, RCArray< Text > *zWert );
- //! Ersetzt eine existierende Zeile
- //! \param zeile Der Index der Zeile, die ersetzt werden soll
- //! \param feldAnzahl Die Anzahl der Felder in der Zeile
- //! \param zWert Einen Zeiger auf die Werte in der Zeile ohne erhöhten Reference Counter
- //! \return 1, wenn die Zeile existierte und ersetzt wurde. 0, wenn die angegebene Zeile nicht existierte
- DLLEXPORT bool setZeile( int zeile, int feldAnzahl, RCArray< Text > *zWert );
- //! Löscht eine Zeile
- //! \param zeile Der Index der Zeile, die gelöscht werden soll
- //! \return 1, wenn die Zeile gelöscht wurde. 0, wenn die Zeile nicht gefunden wurde
- DLLEXPORT bool removeZeile( int zeile );
- //! Fügt einer Bestimmten Zeile einen Wert hinzu
- //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden soll
- //! \param pos Die Position in der Zeile, an der der Wert hinzugefügt werden soll
- //! \param wert Der Wert, der gespeichert werden soll
- //! \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile nicht existiert, oder pos zu groß ist
- DLLEXPORT bool addFeld( int zeile, int pos, Text *wert );
- //! Fügt einer Bestimmten Zeile einen Wert hinzu
- //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden soll
- //! \param pos Die Position in der Zeile, an der der Wert hinzugefügt werden soll
- //! \param wert Der Wert, der gespeichert werden soll
- //! \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile nicht existiert, oder pos zu groß ist
- DLLEXPORT bool addFeld( int zeile, int pos, const char *wert );
- //! Fügt einer Bestimmten Zeile am Ende einen Wert hinzu
- //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden soll
- //! \param wert Der Wert, der gespeichert werden soll
- //! \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile nicht existiert
- DLLEXPORT bool addFeld( int zeile, Text *wert );
- //! Fügt einer Bestimmten Zeile am Ende einen Wert hinzu
- //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden soll
- //! \param wert Der Wert, der gespeichert werden soll
- //! \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile nicht existiert
- DLLEXPORT bool addFeld( int zeile, const char *wert );
- //! Setzt einen Bestimmten Wert in einer Zeile
- //! \param zeile Der Index der Zeile, in der ein Wert verändert werden soll
- //! \param feld Die Position in der Zeile, an der der Wert gesetzt werden soll
- //! \param wert Der Wert, der gespeichert werden soll
- //! \return 1, falls Der Wert erfolgreich ersetzt wurde. 0, falls die Zeile oder der Wert nicht existiert
- DLLEXPORT bool setFeld( int zeile, int feld, Text *wert );
- //! Setzt einen Bestimmten Wert in einer Zeile
- //! \param zeile Der Index der Zeile, in der ein Wert verändert werden soll
- //! \param feld Die Position in der Zeile, an der der Wert gesetzt werden soll
- //! \param wert Der Wert, der gespeichert werden soll
- //! \return 1, falls Der Wert erfolgreich ersetzt wurde. 0, falls die Zeile oder der Wert nicht existiert
- DLLEXPORT bool setFeld( int zeile, int feld, const char *wert );
- //! Entfernt einen bestimmten Wert
- //! \param zeile Der Index der Zeile, aus der ein Wert gelöscht werden soll
- //! \param feld Die Position in der Zeile, an der der Wert gelöscht werden soll
- //! \return 1, falls Der Wert erfolgreich gelöscht wurde. 0, falls die Zeile oder der Wert nicht existiert
- DLLEXPORT bool removeFeld( int zeile, int feld );
- //! Speichert die Tabelle in der Datei
- //! \return 1, falls die Tabbelle erfolgreich gespeichert wurde
- DLLEXPORT bool speichern();
- //! Gibt die Anzahl der Zeilen zurück
- DLLEXPORT int getZeilenAnzahl() const;
- //! Gibt die Anzahl der Werte (Spalten) in einer Zeile zurück
- //! \param zeile Der Index der Zeile, von der die Anzahl Werte ermittelt werden soll
- DLLEXPORT int getFeldAnzahl( int zeile ) const;
- //! Gibt einen bestimmten gespeicherten Wert zurück
- //! \param zeile Der Index der Zeile, in der der Wert gespeichert wird
- //! \param feld Der Index des Wertes in der Zeile
- //! \return Den gespeicherten Wert mit erhöhtem Reference Counter
- DLLEXPORT Text *getFeld( int zeile, int feld ) const;
- //! Gibt einen bestimmten gespeicherten Wert zurück
- //! \param zeile Der Index der Zeile, in der der Wert gespeichert wird
- //! \param feld Der Index des Wertes in der Zeile
- //! \return Den gespeicherten Wert ohne erhöhten Reference Counter
- DLLEXPORT Text *zFeld( int zeile, int feld ) const;
- };
- }
- #endif
|