FoxPro/Visual FoxPro - substracion de letras

   
Vista:

substracion de letras

Publicado por jhean Carlos (127 intervenciones) el 18/12/2007 19:44:14
quetal!!!!

tengo un problemin al sustraer ciertos codigos que genero como ser
SDE3344.01
GF22RG.02
2F44EF.03
El problema es quiero sustraer todas las escrituras antes del punto(.01)

si tengo el codigo: DR123GHL..01 en textbox1
solo quiero que se sustraiga el: DR123GHL en un textbox2

Sera que alguien me ayude.

Gracias!!!!!!!!!!!!!!!!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:substracion de letras

Publicado por Oscar Ramirez (78 intervenciones) el 18/12/2007 22:20:59
SUBSTR( )

con esta funcion puedes sustraer caracteres de una cadena de caracteres busca en la ayuda la syntaxis de esta intruccion,

Cadena1 = SUBSTR(Cadena,1,4)

espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:substracion de letras

Publicado por Luighi (105 intervenciones) el 19/12/2007 04:25:01
Eso se logra con dos simples funciones:
la función LEFT() y la función AT()

En la ventana de comandos prueba con lo siguiente:

cCadena='SóloQuieroEstaParte.YEstaParteNo'
? LEFT(cCadena,AT('.',cCadena)-1)

Y verás como resultado la cadena de texto:
SóloQuieroEstaParte

Resulta que la función AT() devolverá la posición en donde se encuentra el punto contenido en cCadena, es decir AT() devolverá 20
luego LEFT() se resume a:
? LEFT(cCadena,20-1)
osea:
? LEFT(cCadena,19)
vale decir:
tendremos como resultado los primeros 19 caracteres contando desde la izquierda

independientemente del contenido de cCadena, con:
? LEFT(cCadena,AT('.',cCadena)-1)
tendrás siempre lo que necesitas

La sintaxis de LEFT() ya la conocerás
pero por si las moscas aquí te la recuerdo

si el que está leyendo estas líneas es un experto
pues sólo podría decirle que un día aprendimos que 1+1 es 2

LEFT(<cExpresión>,<nExpresión>)

Esta función devuelve un número especificado de carácteres de una expresión de carácteres, a partir del carácter situado más a la izquierda

cExpresión
Especifica la expresión de carácteres de la cual LEFT( ) devuelve los caracteres

nExpresión
Especifica el número de caracteres devueltos desde la expresión de caracteres. Si nExpresión es mayor que la longitud de cExpresión, se devolverá toda la expresión. LEFT() devuelve la cadena vacía si nExpresióon es negativa o si es cero

AT(<cExprQueSeBusca>,<cExprEnLaQueSeBusca> [,nAparición])

Esta función devuelve la posición numérica inicial de la primera aparición de una expresión de caracteres o de un campo memo en otra expresión de caracteres o campo memo; se cuenta desde el carácter situado más a la izquierda

cExprQueSeBusca
Especifica la expresión de caracteres que AT( ) busca en cExprEnLaQueSeBusca

cExprEnLaQueSeBusca
Especifica la expresión de caracteres en que se busca la expresión indicada por cExprQueSeBusca
Tanto cExprQueSeBusca como cExpEnLaQueSeBusca pueden ser campos memo de cualquier tamaño.

nAparición
Especifica qué aparición (primera, segunda, tercera, etc.) de cExprQueSeBusca se busca en cExprEnLaQueSeBusca. De forma predeterminada, AT( ) busca la primera aparición de cExprEnLaQueSeBusca (nAparición=1). Si incluye nAparición, podrá buscar otras apariciones adicionales de cExprQueSeBusca en cExprEnLaQueSeBusca. AT( ) devolverá 0 si nAparición es mayor que el número de veces que cExprQueSeBusca aparece en cExprEnLaQueSeBusca

pucha
me cansé, jaja
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar