AnsiString schneiden die 2te



  • int i = 1;
    int x = 1;
    String Str;
    while (i < Edit1->Text.Length())
            {
             Str = Edit1->Text.SubString(i,1);
             if (Str == " ")
                    {
                     ListBox1->Items->Add(Edit1->Text.SubString(x,i-x));
                     x = i + 1;
                    }
             i = i + 1;
            }
    ListBox1->Items->Add(Edit1->Text.SubString(x,i-x+1));
    

    sowas?



  • Kann mich nur wiederholen:

    String test=":irc.de.euirc.net 001 slackbot :Welcome to the euIRC network user!@host...blabla ";
    TStringList *liste=new TStringList();
    split(liste,test," ");
    stPrefix.tCompleteString=liste->Strings[0];
    stCommand.tCompleteString=liste->Strings[1];
    delete liste;
    


  • Oh man... sry, hab in der Hilfe nicht nachgeschaut, dachte man muss SubString(startpos, endpos) angeben, dabei muss man SubString(startpos, anz_chars) angeben 😕

    danke, jetzt klappts.

    LG

    Oli



  • Edit: hupps, einige posts dazugekommen seit ich auf antworten geklickt hab...

    ich sags nochmal: SubString(x,y) liefert nicht die zeichen von zeichen nr x bis zeichen nr y, sondern ab zeichen nr x die nächsten y zeichen...

    zB

    AnsiString test = "123456789";
    AnsiString a = test.SubString(1,3);
    AnsiString b = test.SubString(3,4);
    AnsiString c = test.SubString(3,1);
    

    ergibt
    a = "123", b = "3456" und c = "3"

    also wenn du die zeichen von zeichen nr x bis (einschließlich) zeichen nr y haben willst, machste

    strTest.SubString(x,y-x+1);
    

    und wenn du das y-te zeichen nicht mehr mit drin haben willst:

    strTest.SubString(x,y-x);
    

    wenn du mal meine letzte antwort GELESEN hättest anstatt zu bemängeln, dass sie das ergebnis im falschen string speichert, wüsstest du das inzwischen und hättest das Problem nicht mehr

    WENN

    Oli21 schrieb:

    AnsiString.SubString(22, 26)

    dir 4 zeichen gibt, dann liegt das daran, dass der string 25 zeichen lang ist und der daher ZUFÄLLIG an der richtigen stelle aufhört.



  • ja stimmt, muss deinen Beitrag ueberflogen haben... hab dein posting grad durchgelesen und da steht was ich endlich rausgefunden hab - werd das naechste mal genauer lesen


Anmelden zum Antworten