Einzelnen Beitrag anzeigen

xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Problem bei Löschen aus String

  Alt 17. Aug 2004, 12:44
moin,

du darfst keine For-Schleife verwenden. Bei For-Schleifen darf die Indexvariable inerhalb der Schleife nicht geändert werden und auch der Indexbereich (soll heißen: Ausgangs und Zielwert der Indexvariablen) muss unverändert bleiben.
Nimm stattdessen eine while-Schleife, deren Index du selber steuerst: immer wenn etwas gelöscht wurde bleibt der Index unverändert, da ja jetzt ein anderes Zeichen an dieser Position sitzt. Andernfalls wird solange um eins erhöht bis wir am Énde des Strings angekommen sind.

Delphi-Quellcode:
TrimString := Trim(OriginalString);
SemikolonString := StringReplace(TrimString, ' ', ';', [rfReplaceAll]);

   i := 1;
   while i < length(Semikolonstring)-1 do
     if (SemikolonString[i] = ';') and (SemikolonString[i + 1] = ';')
       then Delete(SemikolonString,i,1);
       else inc(i);
 
result := SemikolonString;
Peter Enenkel
  Mit Zitat antworten Zitat