KSGTDatei.h 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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
  32. //! laden aufgetreten ist
  33. DLLEXPORT bool laden();
  34. //! Fügt eine Zeile zur Tabelle hinzu
  35. //! \param feldAnzahl Die Anzahl der Felder in der Zeile
  36. //! \param zWert Einen Zeiger auf die Werte in der Zeile ohne erhöhten
  37. //! Reference Counter \return 1, wenn kein Fehler aufgetreten ist
  38. DLLEXPORT bool addZeile(int feldAnzahl, RCArray<Text>* zWert);
  39. //! Ersetzt eine existierende Zeile
  40. //! \param zeile Der Index der Zeile, die ersetzt werden soll
  41. //! \param feldAnzahl Die Anzahl der Felder in der Zeile
  42. //! \param zWert Einen Zeiger auf die Werte in der Zeile ohne erhöhten
  43. //! Reference Counter \return 1, wenn die Zeile existierte und ersetzt
  44. //! wurde. 0, wenn die angegebene Zeile nicht existierte
  45. DLLEXPORT bool setZeile(
  46. int zeile, int feldAnzahl, RCArray<Text>* zWert);
  47. //! Löscht eine Zeile
  48. //! \param zeile Der Index der Zeile, die gelöscht werden soll
  49. //! \return 1, wenn die Zeile gelöscht wurde. 0, wenn die Zeile nicht
  50. //! gefunden wurde
  51. DLLEXPORT bool removeZeile(int zeile);
  52. //! Fügt einer Bestimmten Zeile einen Wert hinzu
  53. //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden
  54. //! soll \param pos Die Position in der Zeile, an der der Wert
  55. //! hinzugefügt werden soll \param wert Der Wert, der gespeichert werden
  56. //! soll \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0,
  57. //! falls die Zeile nicht existiert, oder pos zu groß ist
  58. DLLEXPORT bool addFeld(int zeile, int pos, Text* wert);
  59. //! Fügt einer Bestimmten Zeile einen Wert hinzu
  60. //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden
  61. //! soll \param pos Die Position in der Zeile, an der der Wert
  62. //! hinzugefügt werden soll \param wert Der Wert, der gespeichert werden
  63. //! soll \return 1, falls Der Wert erfolgreich hinzugefügt wurde. 0,
  64. //! falls die Zeile nicht existiert, oder pos zu groß ist
  65. DLLEXPORT bool addFeld(int zeile, int pos, const char* wert);
  66. //! Fügt einer Bestimmten Zeile am Ende einen Wert hinzu
  67. //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden
  68. //! soll \param wert Der Wert, der gespeichert werden soll \return 1,
  69. //! falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile
  70. //! nicht existiert
  71. DLLEXPORT bool addFeld(int zeile, Text* wert);
  72. //! Fügt einer Bestimmten Zeile am Ende einen Wert hinzu
  73. //! \param zeile Der Index der Zeile, der ein Wert hinzugefügt werden
  74. //! soll \param wert Der Wert, der gespeichert werden soll \return 1,
  75. //! falls Der Wert erfolgreich hinzugefügt wurde. 0, falls die Zeile
  76. //! nicht existiert
  77. DLLEXPORT bool addFeld(int zeile, const char* wert);
  78. //! Setzt einen Bestimmten Wert in einer Zeile
  79. //! \param zeile Der Index der Zeile, in der ein Wert verändert werden
  80. //! soll \param feld Die Position in der Zeile, an der der Wert gesetzt
  81. //! werden soll \param wert Der Wert, der gespeichert werden soll
  82. //! \return 1, falls Der Wert erfolgreich ersetzt wurde. 0, falls die
  83. //! Zeile oder der Wert nicht existiert
  84. DLLEXPORT bool setFeld(int zeile, int feld, Text* wert);
  85. //! Setzt einen Bestimmten Wert in einer Zeile
  86. //! \param zeile Der Index der Zeile, in der ein Wert verändert werden
  87. //! soll \param feld Die Position in der Zeile, an der der Wert gesetzt
  88. //! werden soll \param wert Der Wert, der gespeichert werden soll
  89. //! \return 1, falls Der Wert erfolgreich ersetzt wurde. 0, falls die
  90. //! Zeile oder der Wert nicht existiert
  91. DLLEXPORT bool setFeld(int zeile, int feld, const char* wert);
  92. //! Entfernt einen bestimmten Wert
  93. //! \param zeile Der Index der Zeile, aus der ein Wert gelöscht werden
  94. //! soll \param feld Die Position in der Zeile, an der der Wert gelöscht
  95. //! werden soll \return 1, falls Der Wert erfolgreich gelöscht wurde. 0,
  96. //! falls die Zeile oder der Wert nicht existiert
  97. DLLEXPORT bool removeFeld(int zeile, int feld);
  98. //! Speichert die Tabelle in der Datei
  99. //! \return 1, falls die Tabbelle erfolgreich gespeichert wurde
  100. DLLEXPORT bool speichern();
  101. //! Gibt die Anzahl der Zeilen zurück
  102. DLLEXPORT int getZeilenAnzahl() const;
  103. //! Gibt die Anzahl der Werte (Spalten) in einer Zeile zurück
  104. //! \param zeile Der Index der Zeile, von der die Anzahl Werte ermittelt
  105. //! werden soll
  106. DLLEXPORT int getFeldAnzahl(int zeile) const;
  107. //! Gibt einen bestimmten gespeicherten Wert zurück
  108. //! \param zeile Der Index der Zeile, in der der Wert gespeichert wird
  109. //! \param feld Der Index des Wertes in der Zeile
  110. //! \return Den gespeicherten Wert mit erhöhtem Reference Counter
  111. DLLEXPORT Text* getFeld(int zeile, int feld) const;
  112. //! Gibt einen bestimmten gespeicherten Wert zurück
  113. //! \param zeile Der Index der Zeile, in der der Wert gespeichert wird
  114. //! \param feld Der Index des Wertes in der Zeile
  115. //! \return Den gespeicherten Wert ohne erhöhten Reference Counter
  116. DLLEXPORT Text* zFeld(int zeile, int feld) const;
  117. };
  118. } // namespace Framework
  119. #endif