PDA

Ver la Versión Completa : restar una cadena


migueilichenco
03-09-2003, 19:56:50
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, 20: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, 20: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, 20: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, 20: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, 20:41:40
no entendi tu respuesta te agradeceria si me mandas un ejemplo, gracias

Julià T.
03-09-2003, 22: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, 22: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.
03-09-2003, 23:05:11
de hecho yo caí en la cuenta del StringReplace una vez ya habia respondido.

migueilichenco
04-09-2003, 00: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, 00: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, 00: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, 00: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, 01: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, 01: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, 01: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, 01: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, 02: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, 02: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
05-09-2003, 23:15:23
les agradesco su ayuda mucho me han ayudado a resolver mi problema