|
@@ -1,7 +1,7 @@
|
|
#ifndef Text_H
|
|
#ifndef Text_H
|
|
#define Text_H
|
|
#define Text_H
|
|
|
|
|
|
-#include "Betriebssystem.h"
|
|
|
|
|
|
+#include "Reader.h"
|
|
|
|
|
|
namespace Framework
|
|
namespace Framework
|
|
{
|
|
{
|
|
@@ -67,6 +67,9 @@ namespace Framework
|
|
// Hängt eine Zahl ans Ende Des Textes an
|
|
// Hängt eine Zahl ans Ende Des Textes an
|
|
// num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
|
|
// num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
|
|
__declspec( dllexport ) void append( int num );
|
|
__declspec( dllexport ) void append( int num );
|
|
|
|
+ // Hängt eine Zahl ans Ende Des Textes an
|
|
|
|
+ // num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
|
|
|
|
+ __declspec( dllexport ) void append( __int64 num );
|
|
// Hängt eine Zahl ohne Vorzeichenbit am Ende des Textes an
|
|
// Hängt eine Zahl ohne Vorzeichenbit am Ende des Textes an
|
|
// num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
|
|
// num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
|
|
__declspec( dllexport ) void append( unsigned int num );
|
|
__declspec( dllexport ) void append( unsigned int num );
|
|
@@ -267,6 +270,8 @@ namespace Framework
|
|
__declspec( dllexport ) Text *release();
|
|
__declspec( dllexport ) Text *release();
|
|
// Hängt eine Zahl ans Ende des Textes an
|
|
// Hängt eine Zahl ans Ende des Textes an
|
|
__declspec( dllexport ) Text &operator+=( const int num );
|
|
__declspec( dllexport ) Text &operator+=( const int num );
|
|
|
|
+ // Hängt eine Zahl ans Ende des Textes an
|
|
|
|
+ __declspec( dllexport ) Text &operator+=( const __int64 num );
|
|
// Hängt eine Kommazahl ans Ende des Textes an
|
|
// Hängt eine Kommazahl ans Ende des Textes an
|
|
__declspec( dllexport ) Text &operator+=( const double num );
|
|
__declspec( dllexport ) Text &operator+=( const double num );
|
|
// Hängt eine Zeichenkette ans Ende des Textes an
|
|
// Hängt eine Zeichenkette ans Ende des Textes an
|
|
@@ -285,6 +290,8 @@ namespace Framework
|
|
__declspec( dllexport ) operator char*( ) const;
|
|
__declspec( dllexport ) operator char*( ) const;
|
|
// Konviertiert den Inhalt des Textes zu einer Zahl
|
|
// Konviertiert den Inhalt des Textes zu einer Zahl
|
|
__declspec( dllexport ) operator int() const;
|
|
__declspec( dllexport ) operator int() const;
|
|
|
|
+ // Konviertiert den Inhalt des Textes zu einer Zahl
|
|
|
|
+ __declspec( dllexport ) operator __int64() const;
|
|
// Konviertiert den Inhalt des Textes zu einer Kommazahl
|
|
// Konviertiert den Inhalt des Textes zu einer Kommazahl
|
|
__declspec( dllexport ) operator double() const;
|
|
__declspec( dllexport ) operator double() const;
|
|
// Prüft, ob der Inhalt des Textes nach alphabetischer Ordnung später kommt als der Inhalt eines anderen Textes
|
|
// Prüft, ob der Inhalt des Textes nach alphabetischer Ordnung später kommt als der Inhalt eines anderen Textes
|
|
@@ -293,6 +300,44 @@ namespace Framework
|
|
__declspec( dllexport ) bool operator<( Text &t ) const;
|
|
__declspec( dllexport ) bool operator<( Text &t ) const;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ class TextReader : public Reader
|
|
|
|
+ {
|
|
|
|
+ private:
|
|
|
|
+ Text *txt;
|
|
|
|
+ __int64 lPos;
|
|
|
|
+ int ref;
|
|
|
|
+
|
|
|
|
+ public:
|
|
|
|
+ // Konstructor
|
|
|
|
+ // txt: Der Text der gelesen werden soll. Er wird nicht kopiert sondern direkt gelesen.
|
|
|
|
+ __declspec( dllexport ) TextReader( Text *txt );
|
|
|
|
+ // Destructor
|
|
|
|
+ __declspec( dllexport ) virtual ~TextReader();
|
|
|
|
+ // Setzt die Position des Bytes, das als nächstes gelesen werden soll
|
|
|
|
+ // pos: Der Index des Bytes
|
|
|
|
+ // ende: 1, wenn der Index vom ende des Textes zählt. 0, wenn der Index vom Beginn des Textes zählt
|
|
|
|
+ __declspec( dllexport ) void setLPosition( __int64 pos, bool ende ) override;
|
|
|
|
+ // Ließt aus der Datei
|
|
|
|
+ // bytes: Ein Array, der mit Bytes aus dem Text gefüllt werden soll
|
|
|
|
+ // len: Wie viele Bytes aus dem Text gelesen werden sollen
|
|
|
|
+ __declspec( dllexport ) void lese( char *bytes, int len ) override;
|
|
|
|
+ // Ließt die nächste zeile des Textes ein
|
|
|
|
+ // return: Die gelesene Zeile als Text mit zeilenumbruch
|
|
|
|
+ __declspec( dllexport ) Text *leseZeile() override;
|
|
|
|
+ // Prüft, ob die Resource vollständig gelesen wurde
|
|
|
|
+ // return 1, wenn die Resource vollständig gelesen wurde. 0, sonst
|
|
|
|
+ __declspec( dllexport ) bool istEnde() const override;
|
|
|
|
+ // Gibt den Index des Bytes aus dem Text zurück, welches als nächstes gelesen werden würde
|
|
|
|
+ // return -1, falls ein Fehler aufgetreten ist. Sonst die Position des Lesezeigers
|
|
|
|
+ __declspec( dllexport ) __int64 getLPosition() const;
|
|
|
|
+ // Erhöht den Reference Counting Zähler.
|
|
|
|
+ // return: this.
|
|
|
|
+ __declspec( dllexport ) TextReader *getThis();
|
|
|
|
+ // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
|
|
|
|
+ // return: 0.
|
|
|
|
+ __declspec( dllexport ) TextReader *release();
|
|
|
|
+ };
|
|
|
|
+
|
|
// Durchsucht eine Zeichenkette nach dem num-ten Vorkommen eines bestimmten Buchstabens
|
|
// Durchsucht eine Zeichenkette nach dem num-ten Vorkommen eines bestimmten Buchstabens
|
|
// string: Die zu durchsuchende Zeichenkette
|
|
// string: Die zu durchsuchende Zeichenkette
|
|
// c: Der zu suchende Buchstabe
|
|
// c: Der zu suchende Buchstabe
|
|
@@ -332,6 +377,17 @@ namespace Framework
|
|
// system: Die Basis der Zahl
|
|
// system: Die Basis der Zahl
|
|
// return: Die Zahl, die im Text stand
|
|
// return: Die Zahl, die im Text stand
|
|
__declspec( dllexport ) unsigned int TextZuInt( char *c, char **c_ende, int system );
|
|
__declspec( dllexport ) unsigned int TextZuInt( char *c, char **c_ende, int system );
|
|
|
|
+ // Konvertiert eine Zahl aus einer Zeichenkette in belibiger Basis zu einer Zahl
|
|
|
|
+ // c: Die Zeichenkette, in der Die Zahl steht
|
|
|
|
+ // system: Die Basis der Zahl
|
|
|
|
+ // return: Die Zahl, die im Text stand
|
|
|
|
+ __declspec( dllexport ) unsigned __int64 TextZuInt64( char *c, int system );
|
|
|
|
+ // Konvertiert eine Zahl aus einer Zeichenkette in belibiger Basis zu einer Zahl
|
|
|
|
+ // c: Die Zeichenkette, in der Die Zahl steht
|
|
|
|
+ // c_ende: Wird duch die Funktion gesetzt und darf 0 sein. Zeigt auf das nächste Zeichen in der Zeichenkette, das nach der Zah steht
|
|
|
|
+ // system: Die Basis der Zahl
|
|
|
|
+ // return: Die Zahl, die im Text stand
|
|
|
|
+ __declspec( dllexport ) unsigned __int64 TextZuInt64( char *c, char **c_ende, int system );
|
|
// Konvertiert eine Zeichenkette zu einem Double
|
|
// Konvertiert eine Zeichenkette zu einem Double
|
|
// c: Die Zeichenkette, die konvertiert werden soll
|
|
// c: Die Zeichenkette, die konvertiert werden soll
|
|
// return: Das double, was in der Zeichenkette stand
|
|
// return: Das double, was in der Zeichenkette stand
|