GOOD_FOX
unread,Jan 31, 2009, 12:10:57 PM1/31/09Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Mundo Visual FoxPro
Hola Buen día... Te hize esto te puede funcionar... cambia algunas
cosas como el nombre de tabla y campo, coloca los tuyos... la
función SUBEXTRACT ya no le hags nada funciona.. :D
clos all
*-*Abres tu BD de Datos
use ..\clientes
*-Empieza Bucle
Sele Clientes
Do While !Eof()
lcNom = Allt(Clientes.NOmbre)
ul = Len(lcNom)
lcNomC = '' && Variable que Guardara el Nuevo Nombre convertido
For Av=1 to ul
lcVar = ALLT(subExtract(lcNom,' ',AV)) &&Extraemos la primer palabra
lcLet = left(lcVar,1)
lcRest = Lower(SubStr(lcVar,2,len(lcVar)))
lcNomC = lcNOmC+' '+lcLet+lcRest
EndFor
*-PRUEBA MUESTRA EN PANTALLA LOS CAMBIOS :D
?lcNomC
*-REEMPLAZAR TU CAMPO POR EL NUEVO VALOR
*SELECT CLIENTES
*REPLACE NOMBRE WITH lcNomC
*Sele Clientes
Skip
EndDo
*----------------------------------------- SUBEXTRACT
--------------------------------------
*COMENTARIOS: función que Regresa una subcadena contenida en una
cadena separada por símbolos
*PARAMETROS:
* mcCadena (Caracter), cadena con símbolos donde se busca la
subcadena
* mcSímbolo (Caracter), símbolos para buscar la subcadena, ejemplo '
',*,+,/... etc.
* mnVeces (Numérico), el número de la subcadena que se suiere
extraer, si el número sobre
* pasa al número de subcadenas contenidas en la cadena, de
vuelve vacio
* Si mnVeces=0 devuelve la cadena sin simbolos
*REGRESA:
* la SubCadena buscada si tiene exito, sino devuelve un caracter de
vacio.
*EJEMPLO:
* SubExtract('ESTE ES UN*EJEMPLO DE CADENA*CON SUBCADENAS','*',2) --
> Resultado: EJEMPLO DE CADENA
* SubExtract('ESTE ES UN*EJEMPLO DE CADENA*CON SUBCADENAS','*',3) --
> Resultado: CON SUBCADENAS
* SubExtract('ESTE ES UN*EJEMPLO DE CADENA*CON SUBCADENAS','*',4) --
> Resultado: (nada)
* SubExtract('ESTE ES UN*EJEMPLO DE CADENA*CON SUBCADENAS','*',0) --
> Resultado: ESTE ES UN EJEMPLO DE CADENA CON SUBCADENAS
*----------------------------------------- SUBEXTRACT
--------------------------------------
Function SubExtract
Para mcCadena,mcSimbolo,mnVeces
lcCadena = ''
lnLetIni=1
lnPosSim=0
If mnVeces!=0 Then
*Se busca una subcadena
For i=1 To mnVeces
lnPosSim = At(mcSimbolo,mcCadena,i)
If lnPosSim!=0 Then
*Sigue siendo diferente de cero por lo que encontro otro símbolo
lcCadena = Substr(mcCadena,lnLetIni,lnPosSim-lnLetIni)
lnLetIni = lnPosSim+1
Else
If lnLetIni<=Len(mcCadena) Then
lcCadena = Substr(mcCadena,lnLetIni,Len(mcCadena))
lnLetIni = Len(mcCadena)+1
Else
lcCadena = ' '
Exit
EndIf
EndIf
EndFor
Else
*Se muestra toda la cadena sin símbolos
For i=1 To Len(mcCadena)
If SubStr(mcCadena,i,i)!=mcSimbolo Then
lcCadena = lcCadena+SubStr(mcCadena,i,1)
Else
lcCadena = lcCadena+' '
EndIf
EndFor
EndIf
Return lcCadena