Muchísimas gracias por tu ayuda ecfisa.
Me ha sido de gran utilidad, y creo que con esto podré hacer alguna cosa más que tenia pensado hacer de otro modo.
Ahora, como es lógico me queda controlar que no se introduzca el caracter delimitador en el campo para que no se vuelva loco al devolver los valores.
Por otro lado, si quisiera separar un poco más los valores en el ListBox, bastaría con asignar
Código:
Delim = '[espacio]-[espacio]';
?
O quizá en el formato? Donde entiendo "%s" son los valores? Debería asignar True a la propiedad StrictDelimiter para que no detecte esos espacios?
Ahora para el resto de cosas que me quedan por hacer, supongo que también podría hacerlas de este modo, si quisiera que fueran 3 o 4 campos los que guardara en el Listbox, estaría bien hacerlo de este modo? Debería incluir en el formato tantos "%s" como campos quiera introducir?
Código:
ListBox1.Items.Add(Format('%s-%s',[Edit1.Text, Edit2.Text, Edit3.Text, Edit4.Text]))
Y para devolver los valores, sería incrementar las posiciones según tu código? Evidentemente no quiero que me des el código hecho, solo quería si me puedes explicar un poco como funciona el método para devolverlos, entiendo que es algo así como recorrer la cadena de texto del Item hasta el delimitador para el primero y el segundo a partir del delimitador hasta el final no?
Código:
Edit1.Text:= Copy(Items[ItemIndex],1,Pos(DELIM,Items[ItemIndex])-1);
Donde "1" es el primer caracter? Hasta el delimitador y "-1" es para quitar el delimitador?
Código:
Edit2.Text:= Copy(Items[ItemIndex],Pos(DELIM,Items[ItemIndex])+1,MaxInt);
Donde "POS" es desde donde se quedó la anterior (ósea el delimitador)? El "+1" y MaxInt no entiendo muy bien que significan.
Agradezco enormemente tu tiempo y te doy de nuevo las gracias por ayudarme a entender el código para aprender y no solo hacer copia y pega.
Un Saludo.