Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2003
saul saldaña saul saldaña is offline
Miembro
 
Registrado: ago 2003
Ubicación: Chiapas, Mexico
Posts: 11
Poder: 0
saul saldaña Va por buen camino
Question 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
__________________
Saul Saldaña Perez
Responder Con Cita
  #2  
Antiguo 04-12-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #3  
Antiguo 04-12-2003
saul saldaña saul saldaña is offline
Miembro
 
Registrado: ago 2003
Ubicación: Chiapas, Mexico
Posts: 11
Poder: 0
saul saldaña Va por buen camino
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'
__________________
Saul Saldaña Perez
Responder Con Cita
  #4  
Antiguo 04-12-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #5  
Antiguo 04-12-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:13:29.


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
Copyright 1996-2007 Club Delphi