funciones en eventos

20/10/2004 - 05:04 por Fernando Hernandez Linares | Informe spam
Hola a todos!!!! Bueno espero que no les importune con algo tan trivial,
pero soy novato en VFP7, asi que les explicare: Tengo un codigo que he
copiado de este portal:

Función recursiva en VFP (Mensajes de Ricardo Passians y Luis María Guayán)
? ReduceAUnEspacio(" Reducir los espacios entre palabras a
solo un espacio")

FUNCTION ReduceAUnEspacio(tcCadena)

RETURN IIF(AT(SPACE(2), tcCadena)=0, ;

ALLTRIM(tcCadena), ;

ReduceAUnEspacio(STRTRAN(tcCadena, SPACE(2), SPACE(1))))

ENDFUNC

el prolema viene que intente meterlo en el evento click de un boton pero
me sale un mensaje que no puede haber contener procedimientos o
definiciones de clases anidadas! Busque informacion aqui mismo sobre el
tema y al intentar leer las respuestas no aparecen ya publicadas, alguien
me puede decir donde colocar ese codigo, por favor??

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Luis María Guayán
20/10/2004 - 05:22 | Informe spam
Debes poner esta función en tu archivo de procedimientos, por ejemplo
MisProcs.prg y en tu programa debes tener una sentencia como la siguiente:

SET PROCEDURE MisProcs ADDITIVE

En el método Click del botón, solo llamas a la función:

lc = ReduceAUnEspacio(" Reducir los espacios entre palabras a solo
un espacio")
MESSAGEBOX(lc)

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos



"Fernando Hernandez Linares" escribió en el mensaje
news:
Hola a todos!!!! Bueno espero que no les importune con algo tan trivial,
pero soy novato en VFP7, asi que les explicare: Tengo un codigo que he
copiado de este portal:

Función recursiva en VFP (Mensajes de Ricardo Passians y Luis María Guayán)
? ReduceAUnEspacio(" Reducir los espacios entre palabras a
solo un espacio")

FUNCTION ReduceAUnEspacio(tcCadena)

RETURN IIF(AT(SPACE(2), tcCadena)=0, ;

ALLTRIM(tcCadena), ;

ReduceAUnEspacio(STRTRAN(tcCadena, SPACE(2), SPACE(1))))

ENDFUNC

el prolema viene que intente meterlo en el evento click de un boton pero
me sale un mensaje que no puede haber contener procedimientos o
definiciones de clases anidadas! Busque informacion aqui mismo sobre el
tema y al intentar leer las respuestas no aparecen ya publicadas, alguien
me puede decir donde colocar ese codigo, por favor??


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#2 Jorge Mota
20/10/2004 - 05:25 | Informe spam
puedes copiar el codigo a un prg
y en el init de tu form podrias tener algo asi como
set procedure to Ruta\archivo_funcion.prg additive

para que vfp lo encuentre, asi ya puedes hacer uso de tu
funcion desde cualquier lado.

ahora bien, si la funcion en cuestion solo te servira
en ese form en especifico, quiza te convenga agregar un
metodo al mismo

abres el formulario en modo de edicion (modi form)
vas al menu Formulario y Seleccionas Agregar Metodo
escribes el nombre de tu metodo (ReduceAUnEspacio)
das ok, clickeas 2 veces sobre un area limpia del form
para que te abra el editor de codigo, luego te aseguras que
en el combo de lado izq. te diga el nombre de tu form, y el
del lado derecho te indique el procedimiento ReduceAUnEspacio

alli pegas el codigo, pero con una leve modificacion

lParameters tcCadena
RETURN IIF(AT(SPACE(2), tcCadena)=0, ;
ALLTRIM(tcCadena), ;
ReduceAUnEspacio(STRTRAN(tcCadena, SPACE(2), SPACE(1))))

y en el boton, deberias invocarlo asi:
miVariable = thisform.ReduceAunEspacio('Mi texto a ReduCir')
messagebox(miVariable)

Saludos



En , Fernando Hernandez Linares escribió:

Hola a todos!!!! Bueno espero que no les importune con algo tan trivial,
pero soy novato en VFP7, asi que les explicare: Tengo un codigo que he
copiado de este portal:

Función recursiva en VFP (Mensajes de Ricardo Passians y Luis María
Guayán)
? ReduceAUnEspacio(" Reducir los espacios entre palabras a
solo un espacio")

FUNCTION ReduceAUnEspacio(tcCadena)

RETURN IIF(AT(SPACE(2), tcCadena)=0, ;

ALLTRIM(tcCadena), ;

ReduceAUnEspacio(STRTRAN(tcCadena, SPACE(2), SPACE(1))))

ENDFUNC

el prolema viene que intente meterlo en el evento click de un boton pero
me sale un mensaje que no puede haber contener procedimientos o
definiciones de clases anidadas! Busque informacion aqui mismo sobre el
tema y al intentar leer las respuestas no aparecen ya publicadas, alguien
me puede decir donde colocar ese codigo, por favor??


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway





Jorge Mota
Microsoft Visual FoxPro MVP
Guatemala
Respuesta Responder a este mensaje
#3 Fernando Hernandez Linares
20/10/2004 - 23:41 | Informe spam
Funciono muy bien gracias a ambos!!!!

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida