123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- #ifndef Text_H
- #define Text_H
- #define WIN32_LEAN_AND_MEAN
- #include <Windows.h>
- namespace Framework
- {
- class Text; // aus dieser Datei
- class TextArray; // aus dieser Datei
- class Text // Ein ersatz für string ( nur zur übung ) char[]
- {
- private:
- char *txt;
- int ref;
- public:
- // Kostruktor
- Text();
- Text( const char *txt );
- // Destruktor
- ~Text();
- // nicht constant
- void setText( const char *t ); // ersetzt den Text
- void setText( const char *t, int l ); // ersetzt den Text
- void setText( Text *t );
- void anhängen( const char *t ); // hängt an den Text an
- void anhängen( const char *t, int l ); // hängt an den Text an
- void anhängen( Text *t );
- void anhängen( int num ); // hängt num an den Text an
- void anhängen( unsigned int num );
- void einfügen( int p, char c ); // Fügt an stelle p ein
- void einfügen( int p, const char *t );
- void einfügen( int p, Text *t );
- void ersetzen( int p1, int p2, const char *t ); // Ersetzt den Text von p1 bis p2 ( p2 bleibt da )
- void ersetzen( int p1, int p2, Text *t );
- void ersetzen( char c1, char c2 ); // ersetzt jedes c1 durch c2
- void ersetzen( const char *t1, const char *t2 ); // ersetzt jedes t1 durch t2
- void ersetzen( Text *t1, const char *t2 );
- void ersetzen( const char *t1, Text *t2 );
- void ersetzen( Text *t1, Text *t2 );
- void ersetzen( int i, char c1, char c2 ); // ersetzt das i-te c1 durch c2
- void ersetzen( int i, const char *t1, const char *t2 ); // ersetzt das i-te t1 durch t2
- void ersetzen( int i, Text *t1, const char *t2 );
- void ersetzen( int i, const char *t1, Text *t2 );
- void ersetzen( int i, Text *t1, Text *t2 );
- void füllText( char c, int län ); // setzt den Text zu so vielen c wie län groß ist
- void löschen( int p ); // löscht p
- void löschen( int p1, int p2 ); // löscht von p1 zu p2 ( p2 bleibt da )
- void löschen( char c ); // löscht jetes c
- void löschen( const char *t ); // löscht jetes t
- void löschen( Text *t );
- void löschen( int i, char c ); // löscht das i-te c
- void löschen( int i, const char *t ); // löscht das i-te t
- void löschen( int i, Text *t );
- // constant
- int getLänge() const; // gibt die Text länge zurück
- int getLKick( int pos );
- int getOKick( int pos );
- int getRKick( int pos );
- int getUKick( int pos );
- bool hat( Text *t ) const; // enthält der Text t
- bool hat( const char *t ) const;
- bool hat( char c ) const; // enthält c
- bool istGleich( const char *t ) const; // prüft ob det Text gleich t ist
- bool istGleich( Text *t ) const; // enthält c
- char *getText() const; // gibt Text zurück
- int anzahlVon( char c ) const; // gibt die Anzahl von c im Text zurück
- int anzahlVon( const char *t ) const; // gibt die Anzahl von t im Text zurück
- int anzahlVon( Text *t ) const;
- int positionVon( char c ) const; // gibt die Position des ersten c zurück
- int positionVon( const char *t ) const; // gibt die Position des ersten t zurück
- int positionVon( Text *t ) const;
- int positionVon( char c, int i ) const; // gibt die Position des i-ten c zurück
- int positionVon( const char *t, int i ) const; // gibt die Position des i-ten t zurück
- int positionVon( Text *t, int i ) const;
- Text *getTeilText( int p1, int p2 ) const; // gibt den Text von p1 bis p2 zurück
- Text *getTeilText( int p ) const; // gibt den Text von p bis zum Ende zurück
- // Reference Counting
- Text *getThis();
- Text *release();
- };
- class TextArray
- {
- private:
- Text *This;
- TextArray *next;
- int index;
- public:
- // konstruktor
- TextArray();
- // destruktor
- ~TextArray();
- // nicht constant
- void addText( Text *txt ); // fügt einen Text hinzu
- void addText( const char *txt );
- bool löscheText( Text *txt, bool eins ); // löscht einen Text
- bool löscheText( unsigned char *txt, bool eins );
- bool löscheText( int index, bool eins );
- void setNext0(); // setzt den next Zeiger auf null
- void setIndex( int i ); // setzt den index
- // constant
- Text *getText( int index ) const; // gibt den i-ten Text zurück
- Text *zText( int index ) const;
- TextArray *getNext() const; // gibt den next Zeiger zurück
- Text *getThis() const; // gibt den This zeiger zurück
- };
- // Andere Funktionen
- void ZuWCharT( const char *txt, wchar_t *res ); // wandelt in wchar_t um
- void ZuChar( const wchar_t *txt, char *res ); // wandelt in char um
- char KleinOrGroß( char c, bool groß ); // wandelt c in Klein - oder Großbuchstabe um
- bool istSchreibbar( unsigned char zeichen ); // prüft, ob zeichen ein Schreibbarer Buchstabe ist
- unsigned int TextZuInt( char *c, int system ); // Konvertiert c zu int
- unsigned int TextZuInt( char *c, char **c_ende, int system );
- char *convert( char *txt, int *error, int *l ); // konvertiert den Text
- char *deConvert( char *txt ); // dekonvertiert den Text
- int textLänge( const char *txt ); // gibt die Länge von txt zurück
- }
- #endif
|