Int / String aufteilen
-
Original erstellt von Thargor:
Und wie teile ich einen String???Die Methoden des AnsiString sind dir bekannt? (Nein? Sofort in der HIlfe nachschlagen (o; )
Abgesehen davon kann man über Socket-Verbindungen sehr wohl binäre Daten versenden. Stichwort SendBuf.....
-junix
-
Naja.
AnsiString kenn ich, aber wie man es trennt ist mir noch nicht bekannt.
Wenn ich dann nen String geteilt bekomme, hab ich alles was ich brauch.
Werd mir trotzdem mal anschauehen, da ich wahrscheinlich an einem Punkt ein Char (nen Spielernamen) schicken muss.
-
Original erstellt von Thargor:
AnsiString kenn ich, aber wie man es trennt ist mir noch nicht bekannt.Hi,
schau mal hier: http://www.junix.ch/bcb/help/hilfe.html
Und du willst einen Char bzw. String über den Socket senden? Gab es dafür nicht SendText?!
MFG
Alexander Sulfrian
-
Ajaa.
Gerade Das verwende ich ja.
Aber wenn ich die Variable der ich diesen Wert zuweißen will (am Server) als Char deklariere macht der das net.Die Seite gibt es nicht.
[ Dieser Beitrag wurde am 15.05.2003 um 18:02 Uhr von Thargor editiert. ]
-
Hat sich erledigt.
Hab was gefunden:
String a=Edit1->Text; b=a; int lg=a.Length(); int pos=b.AnsiPos("0"); c=a.SubString(1,pos-1); d=a.SubString(pos+1,lg-pos); Edit2->Text=c; Edit3->Text=d;
-
Original erstellt von Thargor:
**Hat sich erledigt.Hab was gefunden:
String a=Edit1->Text; b=a; int lg=a.Length(); int pos=b.AnsiPos("0"); c=a.SubString(1,pos-1); d=a.SubString(pos+1,lg-pos); Edit2->Text=c; Edit3->Text=d;
**
nur noch eine Frage.
wieso kann ich nen AnsiString net mit switch untersucghen??
[C++ Fehler] Unit3.cpp(48): E2383 Der Auswahlausdruck in den Klammern einer switch-Anweisung muß ganzzahlig sein.
kommt dann. Muss ich erst in String / Int oder so umwandeln??
-
Original erstellt von Thargor:
**Gerade Das verwende ich ja.
Aber wenn ich die Variable der ich diesen Wert zuweißen will (am Server) als Char deklariere macht der das net.Die Seite gibt es nicht.
**Hi,
DIE SEITE GIBT ES!!!
Und als was deklarierst du die Var als char* oder char oder char[]?
Und du hast nicht vergessen, dass man AnsiString mit einer Methode in ein char-Zeiger umwandeln kann?Original erstellt von Thargor:
**wieso kann ich nen AnsiString net mit switch untersucghen??
**Ja, das geht nicht! Mit switch kannst du nur int (bzw. char) untersuchen! Wenn du nur einen Buchstaben in dem String hast, einfach einem char zuweisen und an switch übergeben!
Wen du wirklich Zeichenketten hast, musst du wohl oder übel eine if Konstruktion machen!MFG
Alexander Sulfrian
-
Jo.
Hab alles soweit.
eingang = StrToInt(Socket->ReceiveText()); b=eingang; lg=eingang.Length(); pos=b.AnsiPos("*"); c=eingang.SubString(0,pos-1); d=eingang.SubString(pos+1,lg-pos);
nur wennich die C und D ausgebe hat er mir in C nichts reingeschieben
Der Socket->ReceiveText() ewnthält golgentes 0*1
die 1 schriebt es in d aber die 0 net in c.EDIT: Hat sich erledigt. Es gab ein kleines Int / Str wirwar. Hatte an der Falschen Stelle irgendwie StrToInt stehn. Jetzt klappt alles 1a! thx
Und er gibt die Variablen so aus: "1". Wieso die dummen ""?? Das versaut alles. Kann die ja so net in ne Int schreiben
[ Dieser Beitrag wurde am 15.05.2003 um 19:49 Uhr von Thargor editiert. ]
-
Original erstellt von Thargor:
**```cpp
c=eingang.SubString(0,pos-1);Und er gibt die Variablen so aus: "1". Wieso die dummen ""?? Das versaut alles. Kann die ja so net in ne Int schreiben**
Hi,
du weißt, dass String 1-basiert ist?!"" ist ein String! Um den ein eine int zu schreiben, musst du diesen String erst ein einen int umwandeln! Wie heist blos diese Funktion
(StringNachInteger oder ...)
MFG
Alexander Sulfrian
-
Ja. Ist mir dann auch gekommen.
Ein Fehler war
eingang = StrToInt(Socket->ReceiveText());
und dann hatte ich die "" in
# ClientSocket->Socket->SendText(1*0);
vergessen