Übrigens habe ich deshalb auch vorgeschlagen mehrere Zeilen zu nehmen. Dann hättest du einfach machen können:
Delphi-Quellcode:
var
msg : TStrings;
command : string;
reciever : string;
message : string
begin
msg := TStringList.Create;
try
msg.Text := input;
command := msg[0];
msg.Delete(0);
reciever := msg[0];
msg.Delete(0);
message := msg.Text;
finally
msg.Free;
end;
Vielleicht geht das auch schöner ohne die Zeilen zu löschen.
MfG
Fabian
Wieso macht ihr euch das Leben immer so schwer?
Das ist z.B. die Nachricht
Code:
CMD=MSG
SEN=Walter
REC=Peter
MSG=Alles frisch im Schritt
Diese wird wie folgt erstellt:
Delphi-Quellcode:
function BuildMessage( const Sen, Rec, Msg : string ) : string;
begin
with TStringList.Create do
try
Values[ 'CMD' ] := 'MSG';
Values[ 'SEN' ] := Sen;
Values[ 'REC' ] := Rec;
Values[ 'MSG' ] := Msg;
Result := Text;
finally
Free;
end;
end;
Auslesen des CMDs geht so
Delphi-Quellcode:
function ReadMessageCmd( const RecvTxt : string ) : string;
begin
with TStringList.Create do
try
Text := RecvTxt;
Result := Values[ 'CMD' ];
finally
Free;
end;
end;
Und auslesen der Nachricht geht dann so
Delphi-Quellcode:
procedure ReadMessage( const RecvTxt : string; var Sen, Rec, Msg : string );
begin
with TStringList.Create do
try
Text := RecvTxt;
Sen := Values[ 'SEN' ];
Rec := Values[ 'REC' ];
Msg := Values[ 'MSG' ];
finally
Free;
end;
end;
Und nochmal bemerkt, mit JSON geht das ganze super stressfrei - aber kompliziert ist wahrscheinlich schöner
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)