#ifndef Datei_H #define Datei_H #include "Array.h" #include namespace Framework { class Text; // Text.h class Datei; // aus dieser Datei namespace D_Style { const int lesen = 0x01; // datei wird zum lesen geöffnet const int schreiben = 0x02; // datei wirt zum schreiben geöffnet const int ende = 0x04; // setzt dateizeiger ans Ende der Datei } class Datei { private: int ref; std::fstream *stream; Text *pfad; __int64 gr; public: // Konstruktor Datei(); // Destruktor ~Datei(); // nicht constant void setDatei( const char *pfad ); // setzt die Datei void setDatei( Text *pfad ); bool umbenennen( const char *pfad ); // benennt die Datei um und verschiebt sie eventuell bool umbenennen( Text *pfad ); bool löschen(); // löscht die Datei bool erstellen(); // erstellt die Datei bool öffnen( int style ); // öffnet die Datei void setLPosition( __int64 pos, bool ende ); // setzt die Leseposition void setSPosition( __int64 pos, bool ende ); // setzt die Schreibeposition void schreibe( char *bytes, int län ); // schreibt bytes in datei void lese( char *bytes, int län ); // ließt bytes aus datei Text *leseZeile(); // ließt eine zeile void schließen(); // schließt die Datei // constant bool istOrdner() const; // prüft, ob die Datei ein Ordner ist bool istOffen() const; // prüft, ob die Datei geöffnet ist int getUnterdateiAnzahl() const; // gibt die Anzahl der unterdateien an TArray< Text > *getDateiListe() const; // gibt eine Liste mit unterdateien zurück __int64 getGröße() const; // gibt die Größe der Datei zurück bool existiert() const; // prüft, ob die Datei existiert __int64 getLPosition() const; // gibt die Leseposition zurück __int64 getSPosition() const; // gibt die Schreibeposition zurück bool istEnde() const; // prüft, ob die Datei zu ende ist Text *getPfad() const; // gibt den Dateipfad zurück Text *zPfad() const; // Reference Counting Datei *getThis(); Datei *release(); }; // Datei Funktionen bool DateiPfadErstellen( Text* pfad ); // Erstellt den vollständigen Pfad mit Datei bool DateiLöschen( Text *pfad ); // Löscht die angegebene Datei bool DateiUmbenennen( Text *pfad_alt, Text *pfad_neu ); // Benennt die Datei um bool DateiExistiert( Text *pfad ); // Prüft, ob Datei existiert bool DateiIstVerzeichnis( Text *pfad ); // prüft, ob pfad ein Verzeichnis ist } #endif