KSGTDatei.h 6.6 KB

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