fehler - for-schleife - ansistring - ThrowIfOutOfRange
-
Hallo,
ich habe ein programm programmiert, aber es kommt manchmal der fehler "ThrowIfOutOfRange" wie kann ihc das verhindern?
der code istAnsiString TForm1::Invert(AnsiString texttoinvert, int delay) { for(int p = 1; p < texttoinvert.Length() + 1; p += delay * 2) { for(int a = 0; a < delay + 1; a++) { if(a < texttoinvert.Length()) { if(texttoinvert[p + a] == '0') texttoinvert[p + a] = '1'; else texttoinvert[p + a] = '0'; } } } return texttoinvert; }
texttoinvert ist ein string, der nur aus 1 und 0 besteht z.B. 11001011011010
-
Hallo, der Fehler ist da:
.
.
.
if(a < texttoinvert.Length())
.
.
.if(( a+p) < texttoinvert.Length()) sollte helfen
-
Danke, es funktioniert