
manejo de strings. 1a, 1b, 1c = 1abc
#1
Posted 06 November 2013 - 06:35 AM
Puede ser cualquier numero y cualquier cantidad de letras, por ejemplo: 7a, 7b, 7c, 7d resultaría en 7abcd
8x, 8y = 8xy
30a, 30d, 30m = 30adm
etc, etc...
Alguna idea? se los agradecería mucho.
Saludos.
#2
Posted 06 November 2013 - 08:51 AM
Que pasaría en éste supuesto caso:
7a, 8d, 30m = ????adm
o en éste:
7ab, 8dc, 30mx = ??????????
Saludos
#3
Posted 06 November 2013 - 08:56 AM
Hola
Que pasaría en éste supuesto caso:
7a, 8d, 30m = ????adm
o en éste:
7ab, 8dc, 30mx = ??????????
Saludos
Hola y gracias por tu interés.. lo bueno es que no est taaaan complicado ya que éstos casos no se presentarían, el valor númerico siempre es el mismo, ya sea:
1a, 1b, 1c
37a, 37b
555x, 555y
etc...
lo que cambia es la letra (que es sólo un caracter despues del número)
#4
Posted 06 November 2013 - 09:07 AM
A ver que tal
procedure TForm1.Button1Click(Sender: TObject); var lista: TStrings; Index: Integer; cadena: string; begin lista := TStringList.Create; Lista.CommaText := Edit1.Text; cadena := copy(Lista[1],1, length(lista[1])-1); for Index := 0 to Lista.Count - 1 do begin cadena := cadena + copy(Lista[ Index ], length(lista[ Index ]), 1); end; ShowMessage( cadena ); end;
Claro,habrá mejores soluciones que ésta

Saludos
PD, espero tener tiempo hoy de agregar los TAGS,

#5
Posted 06 November 2013 - 10:06 AM
Hola
A ver que tal
delphi
procedure TForm1.Button1Click(Sender: TObject); var lista: TStrings; Index: Integer; cadena: string; begin lista := TStringList.Create; Lista.CommaText := Edit1.Text; cadena := copy(Lista[1],1, length(lista[1])-1); for Index := 0 to Lista.Count - 1 do begin cadena := cadena + copy(Lista[ Index ], length(lista[ Index ]), 1); end; ShowMessage( cadena ); end;
Claro,habrá mejores soluciones que ésta
Saludos
PD, espero tener tiempo hoy de agregar los TAGS,
Gracias, lo voy a probar y te cuento. Aunque seguro que funciona

Saludos!
#6
Posted 08 November 2013 - 01:23 AM
Ese código tiene "un problema", y es que supone que el dato numérico es de 1 dígito. Lo primero que se debería hacer es recorrer el string (Lista[1]) mirando cada posición para ver si es un número. En caso de ser número, ir concatenando los encontrados en otra variable cadena hasta llegar a la posición en que encontremos una letra. Ahora, con la longitud de la nueva cadena con sólo números ya puedes hacer el Copy correctamente
Saludos
#7
Posted 08 November 2013 - 08:44 AM
Buenas,
Ese código tiene "un problema", y es que supone que el dato numérico es de 1 dígito. Lo primero que se debería hacer es recorrer el string (Lista[1]) mirando cada posición para ver si es un número. En caso de ser número, ir concatenando los encontrados en otra variable cadena hasta llegar a la posición en que encontremos una letra. Ahora, con la longitud de la nueva cadena con sólo números ya puedes hacer el Copy correctamente
Saludos
Este....... no amigo Xavi, al contrario, yo asumo que la letra siempre va a ser de un caracter y todo lo demás (a la izquierda) son números

Hola y gracias por tu interés.. lo bueno es que no est taaaan complicado ya que éstos casos no se presentarían, el valor númerico siempre es el mismo, ya sea:
1a, 1b, 1c
37a, 37b
555x, 555y
etc...
lo que cambia es la letra (que es sólo un caracter despues del número)
Saludos