![]() |
Descomponer cadena @String
Hola.
Estoy desarrollando algo asi como un bot, bueno... Tengo un ListBox, en el cual al dar a un boton se agrega los siguientes parametros:
TPlayer es una class la cual lee un entero de una aplicaciòn. El resultado seria por ejemplo:
Hay tengo los 3 parametros, ahora nesecito acceder a ellos:
Escribirle al sTipo donde esta el "Ground", al X, Y, Z, a dentro de los parentesis (X Y Z).
Bueno, creo que se podria usar un "case" o algo para verificar si "Ground" es ground, y despues escribir en X, Y, Z las X, Y, Z obtenidas en la cadena. Aquì os dejo un ejemplo en LUA, para que me entiendan mejor. ( Quiero explicar que tengo TDAH alto, y la verdad por eso seme dificulta un monton explicarme, pero si entiendo la programacion ). Código:
DecodeParam(ListBox.Items[i]) |
Creo entender que tu problema es recibir una cadena y averiguar cuales son los tres valores, separados por espacios.
|
Vas a terminar en un gran case, donde vas a necesitar interpretar primero cual es el método, a partir de allí sabes cuantos parámetros puedes recibir y debes hacer un split de sus parámetros y terminar ejecutando tu código según ellos, si falta o sobra uno producir un error.
Para hacer un Split, te recomiendo ver: ParseText, o leer la ayuda de la propiedad CommaText de la case TStrings, o la función ExtractStrings. Saludos! |
Resuelto!
Gracias al duilioisola ese tambien funciona! Pero este es mas facil: function MySplit(source : string; delimiter : string): TStringList; var i : integer; s : string; arrString: TStringList; begin arrString := TStringList.Create; s := ''; i := 1; repeat begin if Copy(source,i,Length(delimiter)) <> delimiter then begin s := s + Copy(source,i,1); i := i + 1; end else begin arrString.Add(s); s := ''; i := i + Length(delimiter); end; end until i > Length(source); if s <> '' then arrString.Add(s); result := arrString; end;
|
| La franja horaria es GMT +2. Ahora son las 05:06:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi