1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #ifndef Datei_H
- #define Datei_H
- #include "Array.h"
- #include <fstream>
- 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
|