AnsiString schneiden die 2te



  • Reichlich unverschämter Ton für nen Bittsteller, meinst du nicht, Oli? Wo sollte denn da die Motivation liegen dir zu Helfen?

    Ich erklärs dir mal:
    DU als Fragesteller bist in einer Bringschuld. Es ist deine Aufgabe, die Leute mit Informationen zu versorgen.

    Ich könnte jetzt mal im gleichen Stil antworten wie du: Du benutzt SubString falsch. Was genau es ist, bitte Borland Hilfe konsultieren. Ist einfach zuviel.

    Und bevor du jetzt nen dicken Hals kriegst, schlucks nochmal runter und denk drüber nach... ok?



  • Du benutzt SubString falsch.

    Das ist dir schon mehrfach hier erklärt worden

    ich habs in c geloest und es funktioniert

    Wo hast du da C benutzt?? Im Screenshot nix zu sehen.

    Na wenn du so ein god-like-programmer bist dann kannste mir ja genau sagen warum es _genau_ so nicht geht?

    Ganz ehrlich-> könnt ich bestimmt, aber ich habe keine Lust so ein verwurschtelten Code durchzugehen, ohne zu wissen was bei dabei rauskommen soll. Des Weiteren ist die von mir gezeigt Lösung um etliches kürzer.



  • Hallo,

    danke fuer die Antwort und sorry fuer den "unverschaemten Ton"; ich krieg sicher keinen dicken Hals.

    "Ich könnte jetzt mal im gleichen Stil antworten wie du: Du benutzt SubString falsch. Was genau es ist, bitte Borland Hilfe konsultieren. Ist einfach zuviel."
    Mehr wollte ich eigentlich auch nicht hoeren - haette ja sein koennen das jemand auf anhieb sieht wo das Problem ist.



  • Na is doch klar das im Screenshot nix zu sehen ist, will ja wissen warum es so mit AnsiString nicht geht.

    Ganz ehrlich-> könnt ich bestimmt, aber ich habe keine Lust so ein verwurschtelten Code durchzugehen, ohne zu wissen was bei dabei rauskommen soll.

    hab ich jetzt wohl schon oft genug erklaert... weiss nicht wie ich es noch erklaeren soll damit du mich verstehst.



  • Ganz langsam:

    Das ist der String

    String test=":irc.de.euirc.net 001 slackbot :Welcome to the euIRC network user!@host...blabla ";

    Was willst du daraus haben?



  • ok also,

    stPrefix.tCompleteString <- hier soll :irc.de.euirc.net rein
    stCommand.tCompleteString <- hier soll 001 rein

    das wars auch schon 😉

    lg

    Oli



  • dan öffne mal die BCB-Hilfe

    lies mal unter AnsiString nach, was diese Klasse alles kann.
    spezielle aufmerksamkeit kannst du auf AnsiString::Pos() und AnsiString::SubString() werfen

    sorry, aber mit solchen sachen muss man lernen klarzukommen..
    wenn du etwas spezielles aus der hilfe nicht verstehst, frag konkret danach

    mfg
    BigNeal



  • 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