Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   restar una cadena (https://www.clubdelphi.com/foros/showthread.php?t=3355)

migueilichenco 03-09-2003 20:56:50

restar una cadena
 
hola a todos,

hola que tal, bueno escribo esta ves para saber si alguien sabe como puedo restar una cadena es decir si tengo la cadena 'tu como eres' y quiero restar a esa cadena la palabra 'tu' como puedo hacer

gracias por su ayuda de antemano

delphi.com.ar 03-09-2003 21:07:31

Desconozco si en las nuevas versiones de Delphi existe alguna función que haga directamente esto, pero te recomiendo leer la ayuda de las funciones Pos, Delete y Length, con este juego de funciones no sería nada difícil hacer lo que tu pides.

Saludos!

marcoszorrilla 03-09-2003 21:08:59

En realidad las cadenas no se pueden restar, lo que quieres hacer es extraer un número determinado de caracteres a partir de uno dado.

MiCadenaFinal:=Copy(MiCadenaInicial, 2,3);

En este caso MiCadenaFinal contendrá empezando por el segundo caracter tres.

hola que tal

resultado=ola

Un Saludo.

migueilichenco 03-09-2003 21:18:17

hola,

bueno la idea en general es que yo tengo un edit y con un pos voy a buscar si an escrito dentro de el la palabra 'tu' y de ser asi yo no sabria en que posicion esta por tal motivo no puedo elimnarlo de la forma arriba mencionada, me preguntaba si despeus de lo que acabo de exponer alguine me puede facilitar una respuesta a mi problema

gracias de antemano

marcoszorrilla 03-09-2003 21:32:58

Pos:

Returns the index value of the first character in a specified substring that occurs in a given string.

Como puedes ver la función Pos te devuelve en donde empieza la cadena que buscas, el resto es sencillo de implementar.

Un Saludo.

migueilichenco 03-09-2003 21:41:40

no entendi tu respuesta te agradeceria si me mandas un ejemplo, gracias

Julià T. 03-09-2003 23:43:21

como te comenta delphi.com.ar la solución es:

1- saber la posición funcion "pos"
2- saber el tamaño de la cadena buscada "length"
3- borrar el tamaño indicado en la posición indicada "delete"


Creo que con la función "StringReplace" se podria reemplazar el texto con una cadena nula, obteninedo el resultado que buscas.

delphi.com.ar 03-09-2003 23:54:18

Es verdad, puedes utilizar StringReplace... es mas la he usado mas de una ves con este fin, no se porqué no respondí eso, posiblemente por como está enunciado el mensaje.

Saludos!

Julià T. 04-09-2003 00:05:11

de hecho yo caí en la cuenta del StringReplace una vez ya habia respondido.

migueilichenco 04-09-2003 01:06:56

holas,

bueno la funcion arriba nombrada 'StringReplace' en mi ignorancia nunca la e usado ni encuentro datos al respecto en la ayuda de delphi, por tal motivo si no es mucha molestia agradeceri un ejemplo vuestro

gracias de antemano

delphi.com.ar 04-09-2003 01:14:21

Creo que sería mas útil enseñarte o solucionar los problemas de la ayuda... ¿Qué problemas tienes?... ¿No aparece?...

migueilichenco 04-09-2003 01:53:43

el problema solo era buscar en una cadena la palabra 'tu' y elimanarla si existe la palabra tu

delphi.com.ar 04-09-2003 01:59:54

Mi pregunta es cual es tu problema con la ayuda... ¿No inicia correctamente?.. ¿Los índices están vacíos?.. ¿No aparece StringReplace?

Julià T. 04-09-2003 02:06:40

Una ayuda importante es la ayuda, si esta no te funciona bién deberias solucionar el gran problema que tienes.
La tecla f1 siempre la vas a tener mano, es muy cómoda y rápida. Cuando sepas utilizarla, casi ni te hará falta este foro.

migueilichenco 04-09-2003 02:15:17

hola,

a bueno es que en la ayuda de delphi no aparece StringReplace por eso no se como usar esa funcion

jafl1965 04-09-2003 02:37:41

Ahí te va, en la ayuda está claro, pero parece te quieren hacer sufrir un poco:

Edit3.Text := StringReplace(Edit3.Text, 'tu', '', [rfReplaceAll,rfIgnoreCase]);

Significa que:

Al texto que está en Edit3 si aparece la frase tu que la sustituta por cadena vacía.
El último parámetro dice que sustituya todas las ocurrencias de tu y que ignore mayúsculas y minúsculas.

Saludos,

delphi.com.ar 04-09-2003 02:49:24

La idea no es hacerte sufrir, la idea es que aprendas a utilizar la ayuda como primer lugar de consulta. Delphi tiene la grán ventaja de estar muy bien documentado y tiene una ayuda muy extensa. Y si la ayuda no te funciona, sería bueno que te ayudemos a ver cual es el problema, por eso de mis preguntas anteriores.

Saludos!

Julià T. 04-09-2003 03:16:43

hola jafl1965:

Veo que te funciona bién la ayuda, supongo que con el F1 te ha sido suficiente, en caso contrario podras haber entrado en la pestaña buscar y teclear o copiar el texto "stringreplace" y con un simple vistazo habrás obtenido la ayuda del la función, y lo tendrás siempre que quieras, y tantas veces como te olvides, tantas veces lo podrás consultar.

Otra cosa ya seria ponerlo en el compilador, y esperar que aparezcan los parámetros de la función, o bien con la tecla CRTL, pulsar sobre la función del ratón para que te lleva a la función y ver también el código.

Para acabar, supongo que en este caso expuesto a el resultado le sobra un espacio, te dejo responder o dejo que lo solucione el "sufridor"

jafl1965 04-09-2003 03:22:21

Exactamente, hay muchas maneras de localizar y resolver un problema. Uno es el que tanto insistías, el F1, también los históricos de los foros, tanto de este vigente como del anterior.
También está preguntarle al de al lado o al profesor más cercano. o entrar a otro foro, en fin hay mil maneras.
Hay quien tiene una gran memoria como para recordar todas las funciones y sus parámetros, desgraciadamente no todos tenemos esa gran virtud.
El espacio que sobra te lo dejo como tarea, no lo recuerdo, y la tecla F1 ya se cansó de trabajar hoy.
Saludos.

migueilichenco 06-09-2003 00:15:23

les agradesco su ayuda mucho me han ayudado a resolver mi problema


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

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