Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   como copiar parte de una cadena ? (https://www.clubdelphi.com/foros/showthread.php?t=5789)

saul saldaña 04-12-2003 17:30:52

como copiar parte de una cadena ?
 
Hola a todos , antes que nada un saludo... y una pregunta a la vez, alguien sabe como copiar parte de una cadena de texto por ejemplo tengo la siguiente cadena :

0000|cadena que quier copiar|12.50|aaaaaa
001|cadena dos|50.26|52.60|bbbb
001500|cadena tres|50.25|cccc

como veran lo que quiero es los sig:

cadena que quiro copiar
cadena dos
cadena tres

alguien tiene alguna sugerencia o un ejemplo.. se los agradeceria gracias. ....Saludos !!!!

saps7503@hotmail.com

roman 04-12-2003 18:00:36

Usa la función Copy:

Código:

S := Copy(
  '001500|cadena tres|50.25|cccc', // cadena origen
  8, // primer caracter a copiar
  11 // número de caracteres a copiar
);

// Saludos

saul saldaña 04-12-2003 18:10:18

y que pasara cuando aplique a la siguiente cadena :

S := Copy(
'001|cadena dos|50.26|52.60|bbbb', // cadena origen
8, // primer caracter a copiar
11 // número de caracteres a copiar
);

El resultado seria : 'ena dos|50' como el hago para que me devuelva 'cadena dos'

***********************

como en el ejemplo de abajo si quedaria la cadena que quiero

S := Copy(
'001500|cadena tres|50.25|cccc', // cadena origen
8, // primer caracter a copiar
11 // número de caracteres a copiar
);

El resultado seria : 'cadena tres'

roman 04-12-2003 18:14:38

Cita:

saul saldaña comentó:
y que pasara cuando aplique a la siguiente cadena :

S := Copy(
'001|cadena dos|50.26|52.60|bbbb', // cadena origen
8, // primer caracter a copiar
11 // número de caracteres a copiar
);

El resultado seria : 'ena dos|50' como el hago para que me devuelva 'cadena dos'

Yo te doy un ejemplo (tal como pediste) e incluyo la descripción de los parámetros. Obviamente tienes que ajustar dichos parámetros dependiendo de la cadena origen y la parte de ésta que desees copiar.

// Saludos

roman 04-12-2003 18:20:36

Ahora bien, si lo que deseas es siempre copiar la parte de la cadena que se encuentra entre los dos caracteres "|" lo que puedes hacer es:

1. Copiar la cadena en una variable temporal.
2. Usar la función Pos para encontrar la posición del primer "|", digamos i := Pos('|', Cadena).
3. Borrar de la cadena temporal los primeros i carateres: Delete(Cadena, 1, i)
4. Encontrar la posición del siguiente "|", digamos f := Pos('|', Cadena)
5. Copiar hasta esa posición: Resultado := Copy(Cadena, 1, f -1)

// Saludos


La franja horaria es GMT +2. Ahora son las 01:18:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi