KSGTDatei.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #ifndef KSGTDatei_H
  2. #define KSGTDatei_H
  3. #include "Array.h"
  4. namespace Framework
  5. {
  6. class Text;
  7. //! Verwaltet eine Datei in der Daten tabellarisch abgespeichert werden
  8. class KSGTDatei : public virtual ReferenceCounter
  9. {
  10. private:
  11. Text *pfad;
  12. RCArray< RCArray< Text > > *data;
  13. public:
  14. //! Konstruktor
  15. DLLEXPORT KSGTDatei();
  16. //! Konstruktor
  17. //! \param pfad Der Pfad zur Datei
  18. DLLEXPORT KSGTDatei( const char *pfad );
  19. //! Konstruktor
  20. //! \param pfad Der Pfad zur Datei
  21. DLLEXPORT KSGTDatei( Text *pfad );
  22. //! Destruktor
  23. DLLEXPORT ~KSGTDatei();
  24. //! Setzt den Pfad zur Datei
  25. //! \param pfad Der Pfad zur Datei
  26. DLLEXPORT void setPfad( const char *pfad );
  27. //! Setzt den Pfad zur Datei
  28. //! \param pfad Der Pfad zur Datei
  29. DLLEXPORT void setPfad( Text *pfad );
  30. //! lähdt alle Daten aus der angegebenen Datei
  31. //! \return 1, falls das laden erfolgreich war. 0, wenn ein Fehler beim laden aufgetreten ist
  32. DLLEXPORT bool laden();
  33. //! Fügt eine Zeile zur Tabelle hinzu
  34. //! \param feldAnzahl Die Anzahl der Felder in der Zeile
  35. //! \param zWert Einen Zeiger auf die Werte in der Zeile ohne erhöhten Reference Counter
  36. //! \return 1, wenn kein Fehler aufgetreten ist
  37. DLLEXPORT bool addZeile( int feldAnzahl, RCArray< Text > *zWert );
  38. //! Ersetzt eine existierende Zeile
  39. //! \param zeile Der Index der Zeile, die ersetzt werden soll
  40. //! \param feldAnzahl Die Anzahl der Felder in der Zeile
  41. //! \param zWert Einen Zeiger auf die Werte in der Zeile ohne erhöhten Reference Counter
  42. //! \return 1, wenn die Zeile existierte und ersetzt wurde. 0, wenn die angegebene Zeile nicht existierte
  43. DLLEXPORT bool setZeile( int zeile, int feldAnzahl, RCArray< Text > *zWert );
  44. //! Löscht eine Zeile
  45. //! \param zeile Der Index der Zeile, die gelöscht werden soll
  46. //! \return 1, wenn die Zeile gelöscht wurde. 0, wenn die Zeile nicht gefunden wurde
  47. DLLEXPORT bool removeZeile( int zeile );
  48. //! Fügt einer Bestimmten Zeile einen Wert hinzu
  49. //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden soll
  50. //! \param pos Die Position in der Zeile, an der der Wert hinzugefügt werden soll
  51. //! \param wert Der Wert, der gespeichert werden soll
  52. //! \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile nicht existiert, oder pos zu groß ist
  53. DLLEXPORT bool addFeld( int zeile, int pos, Text *wert );
  54. //! Fügt einer Bestimmten Zeile einen Wert hinzu
  55. //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden soll
  56. //! \param pos Die Position in der Zeile, an der der Wert hinzugefügt werden soll
  57. //! \param wert Der Wert, der gespeichert werden soll
  58. //! \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile nicht existiert, oder pos zu groß ist
  59. DLLEXPORT bool addFeld( int zeile, int pos, const char *wert );
  60. //! Fügt einer Bestimmten Zeile am Ende einen Wert hinzu
  61. //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden soll
  62. //! \param wert Der Wert, der gespeichert werden soll
  63. //! \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile nicht existiert
  64. DLLEXPORT bool addFeld( int zeile, Text *wert );
  65. //! Fügt einer Bestimmten Zeile am Ende einen Wert hinzu
  66. //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden soll
  67. //! \param wert Der Wert, der gespeichert werden soll
  68. //! \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile nicht existiert
  69. DLLEXPORT bool addFeld( int zeile, const char *wert );
  70. //! Setzt einen Bestimmten Wert in einer Zeile
  71. //! \param zeile Der Index der Zeile, in der ein Wert verändert werden soll
  72. //! \param feld Die Position in der Zeile, an der der Wert gesetzt werden soll
  73. //! \param wert Der Wert, der gespeichert werden soll
  74. //! \return 1, falls Der Wert erfolgreich ersetzt wurde. 0, falls die Zeile oder der Wert nicht existiert
  75. DLLEXPORT bool setFeld( int zeile, int feld, Text *wert );
  76. //! Setzt einen Bestimmten Wert in einer Zeile
  77. //! \param zeile Der Index der Zeile, in der ein Wert verändert werden soll
  78. //! \param feld Die Position in der Zeile, an der der Wert gesetzt werden soll
  79. //! \param wert Der Wert, der gespeichert werden soll
  80. //! \return 1, falls Der Wert erfolgreich ersetzt wurde. 0, falls die Zeile oder der Wert nicht existiert
  81. DLLEXPORT bool setFeld( int zeile, int feld, const char *wert );
  82. //! Entfernt einen bestimmten Wert
  83. //! \param zeile Der Index der Zeile, aus der ein Wert gelöscht werden soll
  84. //! \param feld Die Position in der Zeile, an der der Wert gelöscht werden soll
  85. //! \return 1, falls Der Wert erfolgreich gelöscht wurde. 0, falls die Zeile oder der Wert nicht existiert
  86. DLLEXPORT bool removeFeld( int zeile, int feld );
  87. //! Speichert die Tabelle in der Datei
  88. //! \return 1, falls die Tabbelle erfolgreich gespeichert wurde
  89. DLLEXPORT bool speichern();
  90. //! Gibt die Anzahl der Zeilen zurück
  91. DLLEXPORT int getZeilenAnzahl() const;
  92. //! Gibt die Anzahl der Werte (Spalten) in einer Zeile zurück
  93. //! \param zeile Der Index der Zeile, von der die Anzahl Werte ermittelt werden soll
  94. DLLEXPORT int getFeldAnzahl( int zeile ) const;
  95. //! Gibt einen bestimmten gespeicherten Wert zurück
  96. //! \param zeile Der Index der Zeile, in der der Wert gespeichert wird
  97. //! \param feld Der Index des Wertes in der Zeile
  98. //! \return Den gespeicherten Wert mit erhöhtem Reference Counter
  99. DLLEXPORT Text *getFeld( int zeile, int feld ) const;
  100. //! Gibt einen bestimmten gespeicherten Wert zurück
  101. //! \param zeile Der Index der Zeile, in der der Wert gespeichert wird
  102. //! \param feld Der Index des Wertes in der Zeile
  103. //! \return Den gespeicherten Wert ohne erhöhten Reference Counter
  104. DLLEXPORT Text *zFeld( int zeile, int feld ) const;
  105. };
  106. }
  107. #endif