ja entweder du zerlegst erstmal den String anhand von Trennzeichen (z.B. " "), wobei sich dafür auch
Explode und Co. ganz gut machen,
oder man prüft einzeln, wobei letzteres gut ist, wenn man (ohne dynamische Arrays) auf verschiedene Befehlsformate reagieren möchte.
Zitat:
Nicht zu empfehlen... was ist, wenn der Befehl einmal lauten sollte "/abrakadabra" dann ist nichts mehr mit Copy(Text, 1, 6).
wie wäre es, wenn man dann die Zahlen anpaßt?
Delphi-Quellcode:
S := LowerCase(Msg.Text);
if copy(S, 1, 6) = '/kick ' then begin
name := copy(S, 7, ...);
...
end else if S = '/exit' then begin
...
end else if copy(S, 1, 13) = '/abrakadabra ' then begin
param := copy(S, 14, ...);
...
end;
Delphi-Quellcode:
A := Explode(Msg.Text, ' ');
if Length(A) < 1 then exit;
A[0] := LowerCase(A[0]);
if (A[0] = '/kick') and (Length(A) > 1) then begin
name := A[1];
...
end else if A[0] = '/exit' then begin
...
end else if (A[0] = '/abrakadabra') and (Length(A) > 1) then begin
param := A[1];
...
end;