#ifndef Text_H #define Text_H #include #include #include "Reader.h" #include "ReferenceCounter.h" namespace Framework { class Text; //! aus dieser Datei class DynamicBuffer : public std::stringbuf { private: std::function onAppend; public: DLLEXPORT DynamicBuffer(std::function onAppend); DLLEXPORT virtual int sync() override; }; class FlushingOStream : public std::ostream { private: std::function onDestroy; public: DLLEXPORT FlushingOStream( DynamicBuffer* buffer, std::function onDestroy = []() {}); DLLEXPORT FlushingOStream(const Framework::FlushingOStream& stream); DLLEXPORT ~FlushingOStream(); }; //! Ein ersatz für String class Text : public virtual ReferenceCounter { private: char* txt; char suchGBeg; char suchGEnd; int precision; DynamicBuffer stringWriter; public: //! Erstellt ein neues Text Objekt mit dem Wert "" DLLEXPORT Text(); //! Erstellt ein neues Text Objekt indem der Wert aus (txt) kopiert wird //! \param txt Der Text, der kopiert werden soll DLLEXPORT Text(const Text& txt); //! Erstellt ein neues Text Objekt indem der Wert aus (txt) kopiert wird //! \param txt Die Zeichenkette, die kopiert werden soll DLLEXPORT Text(const char* txt); //! Erstellt ein neues Text Objekt mit einer zahl als text //! \param zahl Die Zahl, die im Text sein soll DLLEXPORT Text(int zahl); //! Erstellt ein neues Text Objekt mit einer zahl als text //! \param num Die Zahl, die im Text sein soll DLLEXPORT Text(double num); //! Erstellt ein neues Text Objekt mit einer zahl als text //! \param num Die Zahl, die im Text sein soll DLLEXPORT Text(float num); //! Löscht den Text DLLEXPORT ~Text(); //! Wandelt alle buchstaben in großbuchstaben um DLLEXPORT void toUpperCase(); //! Wandelt alle buchstaben in kleinbuchstaben um DLLEXPORT void toLowerCase(); //! Legt die Suchgrenzen fest, die von den Suchfunktionen verwendet //! werden. \param gBeg Das Zeichen, bei dem die Suche beginnen soll //! \param gEnd Das Zeichen, bei dem die Suche enden soll DLLEXPORT void setSuchGrenzen(char gBeg, char gEnd); //! Setzt den Text, den das Zeichnung speichert //! \param t Eine Zeichenkette, deren Inhalt kopiert wird DLLEXPORT void setText(const char* t); //! Setzt den Text, den das Zeichnung speichert //! \param t Eine Zeichenkette, deren Inhalt kopiert wird //! \param l Die Länge des Textes, der aus (t) kopiert werden soll DLLEXPORT void setText(const char* t, int l); //! Setzt den Text, den das Zeichnung speichert //! \param t Das TextZeichnung, dessen Inahlt kopiert werden soll DLLEXPORT void setText(Text* t); //! Hängt die übergebene Zahl als Hex Text (0-F) ans Ende des Textes an. //! \param num Die Zahl, die ins Hex System umgewandelt und angehängt //! werden soll DLLEXPORT void appendHex(int num); //! Hängt die übergebene Zahl als Hex Text (0-F) ans Ende des Textes an. //! \param num Die Zahl, die ins Hex System umgewandelt und angehängt //! werden soll DLLEXPORT void appendHex(__int64 num); //! Fügt den übergebenen Buchtaben der Zeichenkette hinzu //! \param c Der Buchstabe, der angehängt werden soll DLLEXPORT void append(char c); //! Hängt die übergebene Zeichenkette ans Ende des Textes an //! \param t Die Zeichenkette, deren Kopie ans Ende des Textes angehängt //! werden soll DLLEXPORT void append(const char* t); //! Hängt einen Teil der übergebenen Zeichenkette ans Ende des Textes an //! \param t Die Zeichenkette, deren Kopie angehängt werden soll //! \param l Die Länge des Textabschnittes der angehängt werden soll DLLEXPORT void append(const char* t, int l); //! Hängt den Inhalt des eines Textes ans Ende des Textes an //! \param t Der Text, dessen Kopie ans Ende des Textes angehängt werden //! soll DLLEXPORT void append(Text* t); //! Hängt eine Zahl ans Ende Des Textes an //! \param num Die Zahl, die in einen Text umgewandelt und am Ende //! angehängt werden soll DLLEXPORT void append(int num); //! Hängt eine Zahl ans Ende Des Textes an //! \param num Die Zahl, die in einen Text umgewandelt und am Ende //! angehängt werden soll DLLEXPORT void append(__int64 num); //! Hängt eine Zahl ohne Vorzeichenbit am Ende des Textes an //! \param num Die Zahl, die in einen Text umgewandelt und am Ende //! angehängt werden soll DLLEXPORT void append(unsigned int num); //! Hängt eine Kommazahl am Ende des Textes an //! \param num Die Kommazahl, die am Ende des Textes angehängt werden //! soll DLLEXPORT void append(double num); //! Hängt eine Kommazahl am Ende des Textes an //! \param num Die Kommazahl, die am Ende des Textes angehängt werden //! soll DLLEXPORT void append(float num); //! Gibt einen ostream zurück, der alle ausgaben an diesen Text anhängt DLLEXPORT FlushingOStream append(); //! Fügt an einer Bestimmten Stelle ein Zeichen in den Text ein //! \param p Die position im Text bei der das Zeichen eingefügt werden //! soll \param c Das Zeichen, das eingefügt werden soll DLLEXPORT void insert(int p, char c); //! Fügt an einer Bestimmten Stelle im Text eine Zeichenkette ein //! \param p Die position im Text bei der die Zeichenkette eingefügt //! werden soll \param t Die Zeichenkette, deren Kopie an eingefügt //! werden soll DLLEXPORT void insert(int p, const char* t); //! Fügt den Inhalt eines Textes an einer Bestimmten Stelle im Text ein //! \param p Die Position im Text, bei der der inhalt des Textest //! eingefügt werden soll \param t Der Text, dessen Kopie an der Stelle //! eingefügt werden soll DLLEXPORT void insert(int p, Text* t); //! Ersetzt einen bestimmten Textabschnitt mit einer anderen //! Zeichenkette //! p1: Die Startposition des zu ersetzenden Textabschnittes //! p2: Die Endposition des zu ersetzenden Textabschnittes //! \param t Die Zeichenkette, die an die entsprechende Stelle kopiert //! werden soll Beispiel: ( "Hallo Welt" ).ersetzen( 2, 5, "lt" ); //! ergibt: "Halt Welt" DLLEXPORT void ersetzen(int p1, int p2, const char* t); //! Ersetzt einen bestimmten Textabschnitt mit dem Inhalt eines anderen //! Textes //! p1: Die Startposition des zu ersetzenden Textabschnittes //! p2: Die Endposition des zu ersetzenden Textabschnittes //! \param t Der Text, dessen Inhalt an die entsprechende Stelle kopiert //! werden soll Beispiel: ( "Hallo Welt" ).ersetzen( 2, 5, new Text( //! "lt" ) ); ergibt: "Halt Welt" DLLEXPORT void ersetzen(int p1, int p2, Text* t); //! Sucht und erstetzt jedes Vorkommen eines bestimmten Buchstaben durch //! einen anderen //! c1: Der Buchstabe der ersetzt werden soll //! c2: Der Buchstabe, durch den der Andere ersetzt werden soll DLLEXPORT void ersetzen(char c1, char c2); //! Sucht und erstetzt jedes Vorkommen einer bestimmten Zeichenkette //! durch eine andere //! t1: Die Zeichenkette, die ersetzt werden soll //! t2: Die Zeichenkette, durch welche die Andere ersetzt werden soll DLLEXPORT void ersetzen(const char* t1, const char* t2); //! Sucht und erstetzt jedes Vorkommen des Inhalts eines Textes durch //! eine andere Zeichenkette //! t1: Der Text, dessen Inhalt gesucht und ersetzt wird //! t2: Die Zeichenkette, durch welche das Vorkommen des Textes ersetzt //! werden soll DLLEXPORT void ersetzen(Text* t1, const char* t2); //! Sucht und erstetzt jedes Vorkommen einer Zeichenkette durch den //! Inhalt eines Textes //! t1: Die Zeichenkette, die ersetzt werden soll //! t2: Der Text, dessen Inhalt das Vorkommen der Zeichenkette //! ersetzten soll DLLEXPORT void ersetzen(const char* t1, Text* t2); //! Sucht und erstetzt jedes Vorkommen des Inhalts eines Textes durch //! den Inhalt eines anderen Textes //! t1: Der Text, dessen Vorkommen ersetzt werden sollen //! t2: Der Text, dessen Inhalt das Vorkommen der Zeichenkette //! ersetzten soll DLLEXPORT void ersetzen(Text* t1, Text* t2); //! Ersetzt das i-te auftreten eines bestimmten Buchstaben mit einem //! anderen Buchstaben \param i Das wie vielte Auftreten des Buchstabens //! ersetzt werden soll //! c1: Der Buchstabe, dessen i-tes Auftreten erstetzt werden soll //! c2: Der Buchstabe, der das i-te Auftreten des anderen Buchstabens //! ersetzen soll DLLEXPORT void ersetzen(int i, char c1, char c2); //! Ersetzt das i-te auftreten einer bestimmten Zeichenkette mit einer //! anderen Zeichenkette \param i Das wie vielte Auftreten der //! Zeichenkette ersetzt werden soll //! c1: Die Zeichenkette, dessen i-tes Auftreten erstetzt werden soll //! c2: Die Zeichenkette, die das i-te Auftreten der anderen //! Zeichenkette ersetzen soll DLLEXPORT void ersetzen(int i, const char* t1, const char* t2); //! Ersetzt das i-te auftreten des Inhalts eines Textes mit einer //! Zeichenkette \param i Das wie vielte Auftreten des Textes ersetzt //! werden soll //! c1: Der Text, dessen i-tes Auftreten erstetzt werden soll //! c2: Die Zeichenkette, die das i-te Auftreten des Textes ersetzen //! soll DLLEXPORT void ersetzen(int i, Text* t1, const char* t2); //! Ersetzt das i-te auftreten einer bestimmten Zeichenkette mit dem //! Inhalt eines Textes \param i Das wie vielte Auftreten der //! Zeichenkette ersetzt werden soll //! c1: Die Zeichenkette, dessen i-tes Auftreten erstetzt werden soll //! c2: Der Text, dessen Inhalt das i-te Auftreten der Zeichenkette //! ersetzen soll DLLEXPORT void ersetzen(int i, const char* t1, Text* t2); //! Ersetzt das i-te auftreten eines bestimmten Textes mit dem Inhalt //! eines anderen Textes \param i Das wie vielte Auftreten des Textes //! ersetzt werden soll //! c1: Der Text, dessen i-tes Auftreten erstetzt werden soll //! c2: Der Text, dessen Inhalt das i-te Auftreten des anderen Textes //! ersetzen soll DLLEXPORT void ersetzen(int i, Text* t1, Text* t2); //! Löscht den bisherigen Text und erzeugt einen Text, der aus einem //! Bestimten Buchstaben besteht, mit einer bestimmten Länge \param c //! Der Buchstabe, aus dem der Text bestehen soll \param length Die //! Länge des Textes DLLEXPORT void fillText(char c, int length); //! Löscht ein Bestimmtes Zeichen aus dem Text //! \param p Die Position des zu löschenden Zeichens DLLEXPORT void remove(int p); //! Löscht einen Bestimmten Textabschnitt //! p1: Die Startposition des zu löschenden Abschnittes //! p2: Die Endposition des zu löschenden Abschnittes (Das Zeichen bei //! p2 bleibt erhalten) DLLEXPORT void remove(int p1, int p2); //! Löscht jedes Vorkommen eines bestimmten Buchsaben //! \param c Der Buchstabe, dessen Vorkommen gelöscht werden soll DLLEXPORT void remove(char c); //! Löscht jedes Vorkommen einer bestimmten Zeichenkette //! \param t Die Zeichenkette, deren Vorkommen entfernt werden sollen DLLEXPORT void remove(const char* t); //! Löscht jedes Vorkommen des Inhalts eines Textes //! \param t Der text, dessen Inhalt gelöscht werden soll DLLEXPORT void remove(Text* t); //! Löscht das i-te Vorkommen eines bestimmten Buchstaben //! \param i Das wie vielte Vorkommen des Buchstabens gelöscht werden //! soll \param c Der Buchstabe, dessen i-tes Vorkommen gelöscht werden //! soll DLLEXPORT void remove(int i, char c); //! Löscht das i-te Vorkommen einer bestimmten Zechenkette //! \param i Das wie vielte Vorkommen der Zeichenkette gelöscht werden //! soll \param t Die Zeichenkette, dessen i-tes Vorkommen gelöscht //! werden soll DLLEXPORT void remove(int i, const char* t); //! Löscht das i-te Vorkommen eines bestimmten Textinhaltes //! \param i Das wie vielte Vorkommen des Textinhaltes gelöscht werden //! soll \param t Der Text, dessen i-tes Vorkommen gelöscht werden soll DLLEXPORT void remove(int i, Text* t); //! Löscht alle ' ', '\n', '\r', '\t' bis zu einem anderen buchstaben //! \param pos Die Position des ersten zeichens DLLEXPORT void removeWhitespaceAfter(int pos); //! Löscht alle ' ', '\n', '\r', '\t' bis zu einem anderen buchstaben //! \param pos Die Position des ersten zeichens (beginnt bei pos-1) DLLEXPORT void removeWhitespaceBefore(int pos); //! Setzt die Anzahl der Nachkommastellen beim Anhängen von Kommazahlen //! \param p Die Anzahl der Stellen nach dem Komma DLLEXPORT void setPrecision(int p); //! Gibt die Länge des Textes zurück DLLEXPORT int getLength() const; //! Ermittelt die neue Curserposition nachdem Drücken der 'Links' //! Pfeiltaste \param pos Die alte Curserposition DLLEXPORT int getLKick(int pos) const; //! Ermittelt die neue Curserposition nachdem Drücken der 'Oben' //! Pfeiltaste \param pos Die alte Curserposition DLLEXPORT int getOKick(int pos) const; //! Ermittelt die neue Curserposition nachdem Drücken der 'Rechts' //! Pfeiltaste \param pos Die alte Curserposition DLLEXPORT int getRKick(int pos) const; //! Ermittelt die neue Curserposition nachdem Drücken der 'Unten' //! Pfeiltaste \param pos Die alte Curserposition DLLEXPORT int getUKick(int pos) const; //! Überprüft, ob im Text der Inhalt eines anderen Textes vorkommt //! \param t Der Text, nach dessen Inhalt gesucht werden soll //! \return (true), wenn der Inhalt des Textes vorkommt. (false) sonnst DLLEXPORT bool hat(Text* t) const; //! Überprüft, ob im Text eine bestimmte Zeichenkette vorkommt //! \param t Die Zeichenkette, nach der gesucht werden soll //! \return (true), wenn die Zeichenkette vorkommt. (false) sonnst DLLEXPORT bool hat(const char* t) const; //! Überprüft, ob im Text der Inhalt eines anderen Textes vorkommt //! \param t Der Text, nach dessen Inhalt gesucht werden soll //! \return (true), wenn der Inhalt des Textes vorkommt. (false) sonnst //! \param pos die position an der die zeichenkette im string beginnen //! soll DLLEXPORT bool hatAt(int pos, Text* t) const; //! Überprüft, ob im Text eine bestimmte Zeichenkette vorkommt //! \param t Die Zeichenkette, nach der gesucht werden soll //! \return (true), wenn die Zeichenkette vorkommt. (false) sonnst //! \param pos die position an der die zeichenkette im string beginnen //! soll DLLEXPORT bool hatAt(int pos, const char* t) const; //! Überprüft, ob im Text ein bestimmtes Zeichen vorkommt //! \param c Das Zeichen, nach dem gesucht werden soll //! \return (true), wenn das Zeichen vorkommt. (false) sonnst DLLEXPORT bool hat(char c) const; //! Überprft, ob der Text den selben Inhalt wie eine Zeichenkette hat //! \param t Die Zeichenkette, die verglichen werden soll //! \return (true), wenn der Inhalt des Textes gleich der Zeichenkette //! ist. (false) sonst DLLEXPORT bool istGleich(const char* t) const; //! Überprft, ob der Text den selben Inhalt wie ein anderer Text hat //! \param t Der Text, dessen Inhalt verglichen werden soll //! \return (true), wenn die Inhalte der Texte übereinstimmen. (false) //! sonst DLLEXPORT bool istGleich(Text* t) const; //! Gibt den Inhalt des Textes als Zeichenkette zurück DLLEXPORT const char* getText() const; //! Zählt, wie oft ein bestimmter Buchstabe im Text vorkomt //! \param c Der Buchstabe, der gezählt werden soll //! \return Die Anzahl des Buchstabens im Text DLLEXPORT int anzahlVon(char c) const; //! Zählt, wie oft eine bestimmte Zeichenkette im Text vorkommt //! \param t Die Zeichenkette, die gezählt werden soll //! \return Die Anzahl der Zeichenkette im Text DLLEXPORT int anzahlVon(const char* t) const; //! Zählt, wie oft der Inhalt eines Textest im Text vorkommt //! \param t Der Text, dessen Inhalt gezählt werden soll //! \return Die Anzahl des Textinhaltes im Text DLLEXPORT int anzahlVon(Text* t) const; //! Gibt die erste Position eines bestimmten Buchstabens im Text zurück //! \param c Der Buchstabe, der gefunden werden soll //! \return Die Position des ersten Vorkommens des Buchstabens DLLEXPORT int positionVon(char c) const; //! Gibt die erste Position einer bestimmten Zeichenkette im Text zurück //! \param t Die Zeichenkette, die gefunden werden soll //! \return Die Position des ersten Vorkommens der Zeichenkette DLLEXPORT int positionVon(const char* t) const; //! Gibt die erste Position eines Textinhaltes im Text zurück //! \param t Der Text, dessen Inhalt gefunden werden soll //! \return Die Position des ersten Vorkommens des Textinhaltes DLLEXPORT int positionVon(Text* t) const; //! Gibt die i-te Position eines bestimmten Buchstabens im Text zurück //! \param c Der Buchstabe, der gefunden werden soll //! \param i Das wievielte Vorkommen gefunden werden soll //! \return Die Position des i-ten Vorkommens des Buchstabens DLLEXPORT int positionVon(char c, int i) const; //! Gibt die i-te Position einer bestimmten Zeichenkette im Text zurück //! \param t Die Zeichenkette, die gefunden werden soll //! \param i Das wievielte Vorkommen gefunden werden soll //! \return Die Position des i-ten Vorkommens der Zeichenkette DLLEXPORT int positionVon(const char* t, int i) const; //! Gibt die i-te Position eines Textinhaltes im Text zurück //! \param t Der Text, dessen Inhalt gefunden werden soll //! \param i Das wievielte Vorkommen gefunden werden soll //! \return Die Position des i-ten Vorkommens des Textinhaltes DLLEXPORT int positionVon(Text* t, int i) const; //! Gibt einen Text zurück, der eine Kopie eines bestimmten //! Textabschnittes enthält //! p1: Die Startposition des Textabschnittes //! p2: Die Endposition des Textabschnittes (nicht enthalten) DLLEXPORT Text* getTeilText(int p1, int p2) const; //! Gibt einen Text zurück, der eine Kopie eines bestimmten //! Textabschnittes enthält //! p1: Die Startposition des Textabschnittes (Der Textabschnitt geht //! bis ans Ende des Textes) DLLEXPORT Text* getTeilText(int p) const; //! berechnet den Hash code des textes DLLEXPORT int hashCode() const; //! Hängt eine Zahl ans Ende des Textes an DLLEXPORT Text& operator+=(const int num); //! Hängt eine Zahl ans Ende des Textes an DLLEXPORT Text& operator+=(const __int64 num); //! Hängt eine Kommazahl ans Ende des Textes an DLLEXPORT Text& operator+=(const double num); //! Hängt eine Kommazahl ans Ende des Textes an DLLEXPORT Text& operator+=(const float num); //! Hängt eine Zeichenkette ans Ende des Textes an DLLEXPORT Text& operator+=(const char* txt); //! Hängt eine Kopie des Inhalts eines Textes ans Ende des Textes an DLLEXPORT Text& operator+=(const Text& txt); //! Setzt den Inhalt des Textes gleich einer Zahl DLLEXPORT Text& operator=(const int num); //! Setzt den Inhalt des Textes gleich einer Kommazahl DLLEXPORT Text& operator=(const double num); //! Setzt den Inhalt des Textes gleich einer Kommazahl DLLEXPORT Text& operator=(const float num); //! Setzt den Inahlt des Textes gleich einer Zeichenkette DLLEXPORT Text& operator=(const char* txt); //! Setzt den Inhalt des Textes gleich einer Kopie des Inhalts eines //! anderen Textes DLLEXPORT Text& operator=(const Text& txt); //! Gibt den Inhalt des Textes als Zeichenkette zurück DLLEXPORT operator const char*() const; //! Konviertiert den Inhalt des Textes zu einer Zahl DLLEXPORT explicit operator int() const; //! Konviertiert den Inhalt des Textes zu einer Zahl DLLEXPORT explicit operator __int64() const; //! Konviertiert den Inhalt des Textes zu einer Kommazahl DLLEXPORT explicit operator double() const; //! Konviertiert den Inhalt des Textes zu einer Kommazahl DLLEXPORT explicit operator float() const; //! Prüft, ob der Inhalt des Textes nach alphabetischer Ordnung später //! kommt als der Inhalt eines anderen Textes DLLEXPORT bool operator>(Text& t) const; //! Prüft, ob der Inhalt des Textes nach alphabetischer Ordnung früher //! kommt als der Inhalt eines anderen Textes DLLEXPORT bool operator<(Text& t) const; //! Erstellt einen neuen Text bestehend aus diesem und t2 DLLEXPORT Text operator+(const Text& t2) const; //! Erstellt einen neuen Text bestehend aus diesem und t2 DLLEXPORT Text operator+(const char* t2) const; //! Erstellt einen neuen Text bestehend aus diesem und num DLLEXPORT Text operator+(const int num) const; //! Erstellt einen neuen Text bestehend aus diesem und num DLLEXPORT Text operator+(const __int64 num) const; //! Erstellt einen neuen Text bestehend aus diesem und num DLLEXPORT Text operator+(const double num) const; //! Erstellt einen neuen Text bestehend aus diesem und num DLLEXPORT Text operator+(const float num) const; //! Prüft ob der Text mit dem anderen Text übereinstimmt DLLEXPORT bool operator==(const Text& right) const; }; class TextReader : public Reader, public virtual ReferenceCounter { private: Text* txt; __int64 lPos; public: //! Konstructor //! \param txt Der Text der gelesen werden soll. Er wird nicht kopiert //! sondern direkt gelesen. DLLEXPORT TextReader(Text* txt); //! Destructor DLLEXPORT virtual ~TextReader(); //! Setzt die Position des Bytes, das als nächstes gelesen werden soll //! \param pos Der Index des Bytes //! \param ende 1, wenn der Index vom ende des Textes zählt. 0, wenn der //! Index vom Beginn des Textes zählt DLLEXPORT void setLPosition(__int64 pos, bool ende) override; //! Ließt aus der Datei //! \param bytes Ein Array, der mit Bytes aus dem Text gefüllt werden //! soll \param len Wie viele Bytes aus dem Text gelesen werden sollen 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 DLLEXPORT Text* leseZeile() override; //! Prüft, ob die Resource vollständig gelesen wurde //! return 1, wenn die Resource vollständig gelesen wurde. 0, sonst 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 DLLEXPORT __int64 getLPosition() const override; //! Gibt die Anzahl der zu lesenden Bytes zurück DLLEXPORT __int64 getSize() const override; }; //! Durchsucht eine Zeichenkette nach dem num-ten Vorkommen eines bestimmten //! Buchstabens \param string Die zu durchsuchende Zeichenkette \param c Der //! zu suchende Buchstabe \param num Das wievielte Vorkommen des Buchtaben //! gefunden werden soll \return (-1), wenn es kein num-tes Vorkommen des //! Buchstaben gibt. Sonst die Position des num-ten Vorkommens in der //! Zeichenkette DLLEXPORT int stringPositionVonChar(const char* string, char c, int num); //! sucht die position des num-ten c-s in string, -1 bei nicht //! gefunden //! Durchsucht eine Zeichenkette nach einer Anderen Zeichenkette //! \param string Die zu durchsuchende Zeichenkette //! \param suche Die Zeichenkette, nach der gesucht werden soll //! \param sBegPos Die Position, ab der die Suche begonnen werden soll //! \return Die Position, an der die zu suchende Zeichenkette erstmals //! gefunden wurde. (-1) Wenn nichts gefunden wurde. DLLEXPORT int stringPositionVonString( const char* string, char* suche, int sBegPos); //! Kopiert eine bestimmte Zeichenkette in die Zwischenablage des //! Betriebssystems \param txt Die Zeichenkette, die kopiert werden soll DLLEXPORT void TextKopieren(const char* txt); //! Ermittelt, ob in der Zwischenablage des Betriebssystems eine //! Zeichenkette steht. \return Die Zeichenkette aus der Zwischenablage. //! Wenn keine Zeichenkette kopiert wurde, wird eine lehre Zeichenkette //! zurückgegeben. DLLEXPORT const char* TextInsert(); //! Wandelt einen bestimmten schreibbaren Buchstaben in einen Groß- oder //! Kleinbuchstaben um \param c Der Buchstabe, der umgewandelt werden soll //! \param groß Wenn (true), so wird der Buchstabe in einen Großbuchstaben //! umgewandelt. Wenn (false), wird er in einen Kleinbuchstaben umgewandelt. //! \return Den umgewandelten Buchstaben DLLEXPORT char smallOrBig(char c, bool big); //! Ermittelt, ob ein Buchstabe ein schreibbares Zeichen ist //! \param zeichen Der Buchstabe, der geprüft werden soll //! \return (true), wenn der Buchstabe gezeichnet werden kann. (false) //! sonnst DLLEXPORT bool istSchreibbar(unsigned char zeichen); //! Konvertiert eine Zahl aus einer Zeichenkette in belibiger Basis zu einer //! Zahl \param c Die Zeichenkette, in der Die Zahl steht \param system Die //! Basis der Zahl \return Die Zahl, die im Text stand DLLEXPORT unsigned int TextZuInt(const char* c, int system); //! Konvertiert eine Zahl aus einer Zeichenkette in belibiger Basis zu einer //! Zahl \param 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 //! \param system Die Basis der Zahl //! \return Die Zahl, die im Text stand DLLEXPORT unsigned int TextZuInt(const char* c, char** c_ende, int system); //! Konvertiert eine Zahl aus einer Zeichenkette in belibiger Basis zu einer //! Zahl \param c Die Zeichenkette, in der Die Zahl steht \param system Die //! Basis der Zahl \return Die Zahl, die im Text stand DLLEXPORT unsigned __int64 TextZuInt64(const char* c, int system); //! Konvertiert eine Zahl aus einer Zeichenkette in belibiger Basis zu einer //! Zahl \param 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 //! \param system Die Basis der Zahl //! \return Die Zahl, die im Text stand DLLEXPORT unsigned __int64 TextZuInt64( const char* c, char** c_ende, int system); //! Konvertiert eine Zeichenkette zu einem Double //! \param c Die Zeichenkette, die konvertiert werden soll //! \return Das double, was in der Zeichenkette stand DLLEXPORT double TextZuDouble(const char* c); //! Konvertiert eine Zeichenkette zu einem Float //! \param c Die Zeichenkette, die konvertiert werden soll //! \return Das float, was in der Zeichenkette stand DLLEXPORT float TextZuFloat(const char* c); //! Konvertiert eine Zeichenkette zu einem Double //! \param c Die Zeichenkette, die konvertiert werden soll //! c_ende: Wird duch die Funktion gesetzt und darf 0 sein. Ein Zeiger auf //! das nächste Zeichen nach dem Double in der Zeichenkette //! \return Das double, was in der Zeichenkette stand DLLEXPORT double TextZuDouble(const char* c, char** c_ende); //! Konvertiert eine Zeichenkette zu einem float //! \param c Die Zeichenkette, die konvertiert werden soll //! c_ende: Wird duch die Funktion gesetzt und darf 0 sein. Ein Zeiger auf //! das nächste Zeichen nach dem float in der Zeichenkette //! \return Das float, was in der Zeichenkette stand DLLEXPORT float TextZuFloat(const char* c, char** c_ende); //! Ermittelt die Länge einer bestimmten Zeichenkette //! \param txt Die Zeichenkette, deren Länge ermittelt werden soll //! \return Die Länge der Zeichenkette DLLEXPORT int textLength(const char* txt); } // namespace Framework #endif