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 reindas 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() werfensorry, aber mit solchen sachen muss man lernen klarzukommen..
wenn du etwas spezielles aus der hilfe nicht verstehst, frag konkret danachmfg
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