FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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]) ListBox.Selected.ToString().Split (sTipo (lb1), X (lb2), Y (lb3), Z (lb4))if sTipo = "Groung" then Client.Escribir(X @X, Y @Y, Z @Y) End |
#2
|
||||
|
||||
Creo entender que tu problema es recibir una cadena y averiguar cuales son los tres valores, separados por espacios.
|
#3
|
||||
|
||||
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!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#4
|
|||
|
|||
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;
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Descomponer nombre y apellidos | lgarcia | SQL | 4 | 15-04-2009 22:16:37 |
Comprobar cadena dentro de un string | Khronos | Varios | 2 | 03-07-2008 11:06:35 |
string de un dbedit a entero para guardar la cadena | Nereida | Varios | 3 | 06-05-2008 15:59:34 |
Comparar una cadena String con un directorio | dicatek | Internet | 2 | 22-03-2008 20:01:05 |
Descomponer un numero con 7 digitos | Camilo | Varios | 3 | 05-11-2007 21:58:02 |
|