|
@@ -139,7 +139,7 @@ void Text::setText( const char *t ) // ersetzt den Text
|
|
{
|
|
{
|
|
delete[]txt; // alter Text löschen
|
|
delete[]txt; // alter Text löschen
|
|
int l = (int)textLength( t ); // Länge des neuen Textes ermitteln
|
|
int l = (int)textLength( t ); // Länge des neuen Textes ermitteln
|
|
- txt = new char[ l + 1 ]; // neuen Text erstellen
|
|
|
|
|
|
+ txt = new char[ (__int64)l + 1 ]; // neuen Text erstellen
|
|
for( int i = 0; i < l; ++i ) // Text befüllen
|
|
for( int i = 0; i < l; ++i ) // Text befüllen
|
|
txt[ i ] = t[ i ];
|
|
txt[ i ] = t[ i ];
|
|
txt[ l ] = '\0'; // Textende Festlegen
|
|
txt[ l ] = '\0'; // Textende Festlegen
|
|
@@ -149,7 +149,7 @@ void Text::setText( const char *t ) // ersetzt den Text
|
|
void Text::setText( const char *t, int l ) // ersetzt den Text
|
|
void Text::setText( const char *t, int l ) // ersetzt den Text
|
|
{
|
|
{
|
|
delete[]txt; // alter Text löschen
|
|
delete[]txt; // alter Text löschen
|
|
- txt = new char[ l + 1 ]; // neuen Text erstellen
|
|
|
|
|
|
+ txt = new char[ (__int64)l + 1 ]; // neuen Text erstellen
|
|
for( int i = 0; i < l; ++i ) // Text befüllen
|
|
for( int i = 0; i < l; ++i ) // Text befüllen
|
|
txt[ i ] = t[ i ];
|
|
txt[ i ] = t[ i ];
|
|
txt[ l ] = '\0'; // Textende Festlegen
|
|
txt[ l ] = '\0'; // Textende Festlegen
|
|
@@ -170,7 +170,7 @@ void Text::append( const char *t ) // h
|
|
{
|
|
{
|
|
int tl = (int)textLength( t ); // länge der übergabe
|
|
int tl = (int)textLength( t ); // länge der übergabe
|
|
int txl = getLength(); // länge des Textes
|
|
int txl = getLength(); // länge des Textes
|
|
- char *res = new char[ tl + txl + 1 ]; // neuen Text erstellen
|
|
|
|
|
|
+ char *res = new char[ (__int64)tl + txl + 1 ]; // neuen Text erstellen
|
|
for( int i = 0; i < txl; ++i ) // mit jetzigem Text füllen
|
|
for( int i = 0; i < txl; ++i ) // mit jetzigem Text füllen
|
|
res[ i ] = txt[ i ];
|
|
res[ i ] = txt[ i ];
|
|
for( int i = 0; i < tl; ++i ) // Übergabe anhängen
|
|
for( int i = 0; i < tl; ++i ) // Übergabe anhängen
|
|
@@ -183,7 +183,7 @@ void Text::append( const char *t ) // h
|
|
void Text::appendHex( int num ) // hängt die zahl in hex anden Text an
|
|
void Text::appendHex( int num ) // hängt die zahl in hex anden Text an
|
|
{
|
|
{
|
|
int l = getLength();
|
|
int l = getLength();
|
|
- char *res = new char[ l + 9 ];
|
|
|
|
|
|
+ char *res = new char[ (__int64)l + 9 ];
|
|
for( int i = 0; i < l; ++i )
|
|
for( int i = 0; i < l; ++i )
|
|
res[ i ] = txt[ i ];
|
|
res[ i ] = txt[ i ];
|
|
std::stringstream stream;
|
|
std::stringstream stream;
|
|
@@ -199,7 +199,7 @@ void Text::appendHex( int num ) // h
|
|
void Text::append( const char *t, int l ) // hängt an den Text an
|
|
void Text::append( const char *t, int l ) // hängt an den Text an
|
|
{
|
|
{
|
|
int txl = getLength(); // länge des Textes
|
|
int txl = getLength(); // länge des Textes
|
|
- char *res = new char[ l + txl + 1 ]; // neuen Text erstellen
|
|
|
|
|
|
+ char *res = new char[ (__int64)l + txl + 1 ]; // neuen Text erstellen
|
|
for( int i = 0; i < txl; ++i ) // mit jetzigem Text füllen
|
|
for( int i = 0; i < txl; ++i ) // mit jetzigem Text füllen
|
|
res[ i ] = txt[ i ];
|
|
res[ i ] = txt[ i ];
|
|
for( int i = 0; i < l; ++i ) // Übergabe anhängen
|
|
for( int i = 0; i < l; ++i ) // Übergabe anhängen
|
|
@@ -260,7 +260,7 @@ void Text::insert( int p, char c ) // F
|
|
if( p > getLength() || p < 0 ) // Auf unsinnige übergabe prüfen
|
|
if( p > getLength() || p < 0 ) // Auf unsinnige übergabe prüfen
|
|
return;
|
|
return;
|
|
int txl = getLength(); // Länge des Textes
|
|
int txl = getLength(); // Länge des Textes
|
|
- char *res = new char[ txl + 2 ]; // neuer Text erstellen
|
|
|
|
|
|
+ char *res = new char[ (__int64)txl + 2 ]; // neuer Text erstellen
|
|
for( int i = 0; i < p; ++i ) // Text füllen
|
|
for( int i = 0; i < p; ++i ) // Text füllen
|
|
res[ i ] = txt[ i ];
|
|
res[ i ] = txt[ i ];
|
|
res[ p ] = c;
|
|
res[ p ] = c;
|
|
@@ -277,7 +277,7 @@ void Text::insert( int p, const char *t ) // F
|
|
return;
|
|
return;
|
|
int tl = (int)textLength( t ); // Länge der übergabe
|
|
int tl = (int)textLength( t ); // Länge der übergabe
|
|
int txl = getLength(); // Länge des Textes
|
|
int txl = getLength(); // Länge des Textes
|
|
- char *res = new char[ tl + txl + 1 ]; // neuer Text erstellen
|
|
|
|
|
|
+ char *res = new char[ (__int64)tl + txl + 1 ]; // neuer Text erstellen
|
|
for( int i = 0; i < p; ++i ) // Text füllen
|
|
for( int i = 0; i < p; ++i ) // Text füllen
|
|
res[ i ] = txt[ i ];
|
|
res[ i ] = txt[ i ];
|
|
for( int i = 0; i < tl; ++i ) // Text einfügen
|
|
for( int i = 0; i < tl; ++i ) // Text einfügen
|
|
@@ -463,7 +463,7 @@ void Text::ersetzen( int i, Text *t1, Text *t2 )
|
|
|
|
|
|
void Text::fillText( char c, int len ) // setzt den Text zu so vielen c wie län groß ist
|
|
void Text::fillText( char c, int len ) // setzt den Text zu so vielen c wie län groß ist
|
|
{
|
|
{
|
|
- char *res = new char[ len + 1 ];
|
|
|
|
|
|
+ char *res = new char[ (__int64)len + 1 ];
|
|
for( int i = 0; i < len; ++i )
|
|
for( int i = 0; i < len; ++i )
|
|
res[ i ] = c;
|
|
res[ i ] = c;
|
|
res[ len ] = '\0';
|
|
res[ len ] = '\0';
|
|
@@ -502,7 +502,7 @@ void Text::remove( int p1, int p2 ) // l
|
|
if( p2 > l )
|
|
if( p2 > l )
|
|
p2 = l;
|
|
p2 = l;
|
|
int resl = l - ( p2 - p1 ); // Länge vom Ergebnis
|
|
int resl = l - ( p2 - p1 ); // Länge vom Ergebnis
|
|
- char *res = new char[ resl + 1 ]; // Neuen Text erstellen
|
|
|
|
|
|
+ char *res = new char[ (__int64)resl + 1 ]; // Neuen Text erstellen
|
|
for( int i = 0; i < p1; ++i ) // Text füllen
|
|
for( int i = 0; i < p1; ++i ) // Text füllen
|
|
res[ i ] = txt[ i ];
|
|
res[ i ] = txt[ i ];
|
|
for( int i = p2; i < l; ++i )
|
|
for( int i = p2; i < l; ++i )
|
|
@@ -518,7 +518,7 @@ void Text::remove( char c ) // l
|
|
return;
|
|
return;
|
|
int l = getLength(); // Länge des Textes
|
|
int l = getLength(); // Länge des Textes
|
|
int anz = anzahlVon( c ); // Anzahl von c
|
|
int anz = anzahlVon( c ); // Anzahl von c
|
|
- char *res = new char[ l - anz + 1 ]; // neuen Text erstellen
|
|
|
|
|
|
+ char *res = new char[ (__int64)l - anz + 1 ]; // neuen Text erstellen
|
|
int anz2 = 0;
|
|
int anz2 = 0;
|
|
int suchGCount = 0;
|
|
int suchGCount = 0;
|
|
for( int i = 0; i < l; ++i ) // Text befüllen
|
|
for( int i = 0; i < l; ++i ) // Text befüllen
|
|
@@ -558,7 +558,7 @@ void Text::remove( const char *t ) // l
|
|
for( int i = 0; i < anz; ++i ) // begin aller t-s finden
|
|
for( int i = 0; i < anz; ++i ) // begin aller t-s finden
|
|
begin[ i ] = positionVon( t, i );
|
|
begin[ i ] = positionVon( t, i );
|
|
int resl = txl - ( anz * tl ); // Länge vom Ergebnes
|
|
int resl = txl - ( anz * tl ); // Länge vom Ergebnes
|
|
- char *res = new char[ resl + 1 ]; // neuen Text erzeugen
|
|
|
|
|
|
+ char *res = new char[ (__int64)resl + 1 ]; // neuen Text erzeugen
|
|
int del = 0;
|
|
int del = 0;
|
|
for( int i = 0; i < txl; ++i ) // Text befüllen
|
|
for( int i = 0; i < txl; ++i ) // Text befüllen
|
|
{
|
|
{
|
|
@@ -620,7 +620,7 @@ void Text::remove( int index, const char *t ) // l
|
|
int l = getLength(); // Länge des Textes
|
|
int l = getLength(); // Länge des Textes
|
|
if( !l )
|
|
if( !l )
|
|
return;
|
|
return;
|
|
- char *res = new char[ l - tl + 1 ]; // neuen Text erzeugen
|
|
|
|
|
|
+ char *res = new char[ (__int64)l - tl + 1 ]; // neuen Text erzeugen
|
|
for( int i = 0; i < pos && i < l - tl + 1; ++i ) // Text befüllen
|
|
for( int i = 0; i < pos && i < l - tl + 1; ++i ) // Text befüllen
|
|
res[ i ] = txt[ i ];
|
|
res[ i ] = txt[ i ];
|
|
for( int i = pos + tl; i < l; ++i )
|
|
for( int i = pos + tl; i < l; ++i )
|
|
@@ -1086,7 +1086,7 @@ Text *Text::getTeilText( int p1, int p2 ) const // gibt den Text von p1 bis p2 z
|
|
int l = getLength(); // Text Länge
|
|
int l = getLength(); // Text Länge
|
|
if( p1 < 0 || p2 > l ) // Auf unsinnige übergabe prüfen
|
|
if( p1 < 0 || p2 > l ) // Auf unsinnige übergabe prüfen
|
|
return new Text( "" );
|
|
return new Text( "" );
|
|
- char *cp = new char[ p2 - p1 + 1 ]; // neuen Text erstellen
|
|
|
|
|
|
+ char *cp = new char[ (__int64)p2 - p1 + 1 ]; // neuen Text erstellen
|
|
for( int i = p1; i < p2; ++i ) // Text befüllen
|
|
for( int i = p1; i < p2; ++i ) // Text befüllen
|
|
{
|
|
{
|
|
cp[ i - p1 ] = txt[ i ];
|
|
cp[ i - p1 ] = txt[ i ];
|
|
@@ -1360,6 +1360,12 @@ __int64 TextReader::getLPosition() const
|
|
return lPos;
|
|
return lPos;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//! Gibt die Anzahl der zu lesenden Bytes zurück
|
|
|
|
+__int64 TextReader::getSize() const
|
|
|
|
+{
|
|
|
|
+ return txt->getLength();
|
|
|
|
+}
|
|
|
|
+
|
|
// Erhöht den Reference Counting Zähler.
|
|
// Erhöht den Reference Counting Zähler.
|
|
// return: this.
|
|
// return: this.
|
|
TextReader *TextReader::getThis()
|
|
TextReader *TextReader::getThis()
|