KSGTDatei.h 6.4 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. //! laehdt 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. //! Fuegt 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 erhoehten
  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 erhoehten
  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. //! Loescht eine Zeile
  48. //! \param zeile Der Index der Zeile, die geloescht werden soll
  49. //! \return 1, wenn die Zeile geloescht wurde. 0, wenn die Zeile nicht
  50. //! gefunden wurde
  51. DLLEXPORT bool removeZeile(int zeile);
  52. //! Fuegt einer Bestimmten Zeile einen Wert hinzu
  53. //! \param zeile Der Index der Zeile, der ein Wert hinzugefuegt werden
  54. //! soll \param pos Die Position in der Zeile, an der der Wert
  55. //! hinzugefuegt werden soll \param wert Der Wert, der gespeichert werden
  56. //! soll \return 1, falls Der Wert erfolgreich hinzugefuegt wurde. 0,
  57. //! falls die Zeile nicht existiert, oder pos zu gross ist
  58. DLLEXPORT bool addFeld(int zeile, int pos, Text* wert);
  59. //! Fuegt einer Bestimmten Zeile einen Wert hinzu
  60. //! \param zeile Der Index der Zeile, der ein Wert hinzugefuegt werden
  61. //! soll \param pos Die Position in der Zeile, an der der Wert
  62. //! hinzugefuegt werden soll \param wert Der Wert, der gespeichert werden
  63. //! soll \return 1, falls Der Wert erfolgreich hinzugefuegt wurde. 0,
  64. //! falls die Zeile nicht existiert, oder pos zu gross ist
  65. DLLEXPORT bool addFeld(int zeile, int pos, const char* wert);
  66. //! Fuegt einer Bestimmten Zeile am Ende einen Wert hinzu
  67. //! \param zeile Der Index der Zeile, der ein Wert hinzugefuegt werden
  68. //! soll \param wert Der Wert, der gespeichert werden soll \return 1,
  69. //! falls Der Wert erfolgreich hinzugefuegt wurde. 0, falls die Zeile
  70. //! nicht existiert
  71. DLLEXPORT bool addFeld(int zeile, Text* wert);
  72. //! Fuegt einer Bestimmten Zeile am Ende einen Wert hinzu
  73. //! \param zeile Der Index der Zeile, der ein Wert hinzugefuegt werden
  74. //! soll \param wert Der Wert, der gespeichert werden soll \return 1,
  75. //! falls Der Wert erfolgreich hinzugefuegt 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 veraendert 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 veraendert 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 geloescht werden
  94. //! soll \param feld Die Position in der Zeile, an der der Wert geloescht
  95. //! werden soll \return 1, falls Der Wert erfolgreich geloescht 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 zurueck
  102. DLLEXPORT int getZeilenAnzahl() const;
  103. //! Gibt die Anzahl der Werte (Spalten) in einer Zeile zurueck
  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 zurueck
  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 erhoehtem Reference Counter
  111. DLLEXPORT Text* getFeld(int zeile, int feld) const;
  112. //! Gibt einen bestimmten gespeicherten Wert zurueck
  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 erhoehten Reference Counter
  116. DLLEXPORT Text* zFeld(int zeile, int feld) const;
  117. };
  118. } // namespace Framework
  119. #endif