123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #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;
- };
- } // namespace Framework
- #endif
|