¿Donde tengo que escribir la función para poder ejecutarla en visual foxpro?

Buenas, oye tengo unas dudas, aver si me puedes ayudar gracias...
a)Escribí una función para poder sacar un dato por ejemplo:
FUNCTION SUMA(DATO)
DATO1=DATO+1
RETURN DATO1
endfunc
Y la mando llamar así:
SUMA(1345)
Mi pregunta es donde tengo que escribir la función para poder ejecutarla, porque no me deja escribirla en las propiedades o procedimientos de un objeto.
Respuesta
1
Esa funcioin tienes que hacerla en un PRG aparte y llamarla haci
= Suma(dato)

3 respuestas más de otros expertos

Respuesta
1
Para crear un nuevo método para un formulario, seleccionas el menu formulario y allí agregar nuevo método, como nombre le pones Suma
Luego para el código de procedimiento pones
parameters dato
Local dato1
dato1=dato+1
return dato1
Para usar el método dentro del mismo formulario utilizas thisform. Suma(1)
Si quieres usar el procedimiento en otro lado, lo guardas como un archivo prg y luego utilizas el set procedure para que lo puedas ejecutar desde cualquier lugar
Respuesta
1
Si el tipo de objeto es un formulario, puedes usar la opción "METODO" del menú "FORMULARIO".
Y en las propiedades en la sección de Métodos verás a tu nuevo método (procedimiento) que la puedes aplicar.
Ahora, si quieres, también puedes hacer un archivo de funciones en donde pones todas tus funciones y procedimientos, nada más que para llamarlas cada vez debes ponerle:
SET PROCEDUTRE TO <archivo>
Donde: archivo es el nombre del archivo en donde lo guardas.
Oye, solamente tengo unas dudas, para crear el archivo de funciones:
a)Donde creo el archivo de funciones, como un archivo de programas o como lo creo y con que extensión.
b)El set procedure to, lo tengo que escribir solamente al iniciar mi programa en el archivo que ejecuta todos mis parámetros o todos los "set's"
A)Puedes crearlo en donde sea, de preferencia en el directorio del programa, para que no tengas problemas de ubicación, lo creas como un programa .prg
B) Lo tienes que activar cada vez que llames a algún procedimiento o función
Respuesta
1
Claro que si, con tu formulario abierto, ve al menu "formulario" y allí selecciona "nuevo método", en el recuadro que te pode el nombre escríbele SUMA
Ya que lo hayas creado da doble clic en el y escribe lo siguiente:
Lparameters DATO
DATO1=DATO+1
RETURN DATO1
Ahora en el form pon un botón y el clic pon lo siguiente:
x=Thisform.Suma(1234)
Wait window "La suma es :" + Str(x)
Te posteo el código
PUBLIC oform1
oform1=NEWOBJECT("form1")
oform1.Show
RETURN
**************************************************
*-- Form: form1 (h:\fuentes\prueba\borrar.scx)
*-- ParentClass: form
*-- BaseClass: form
*-- Marca de hora: 04/07/03 07:20:13 PM
*
DEFINE CLASS form1 AS form
DoCreate = .T.
Caption = "Form1"
Name = "Form1"
ADD OBJECT command1 AS commandbutton WITH ;
Top = 48, ;
Left = 72, ;
Height = 27, ;
Width = 84, ;
Caption = "Command1", ;
Name = "Command1"
PROCEDURE suma
lParameters DATO
DATO1=DATO+1
RETURN DATO1
ENDPROC
PROCEDURE command1.Click
x=Thisform.Suma(1234)
Wait window "La suma es :" + Str(x)
ENDPROC
ENDDEFINE
*
*-- EndDefine: form1
**************************************************
Oye gracias por tu respuesta a sido de gran ayuda, solamente tengo una pregunta más, en tu ejemplo defines una clase formulario, me interesa aprender a crear clases, de echo tengo conocimientos y las comprendo, pero tengo la duda de donde las escribes y como y donde las mandas llamar, te agradecería que me orientaras un poco en esto... gracias
Consulta en la ayuda el comando CREATE CLASS (Comando)
El menu:
Menú Clase
También los temas:
Diseñador de formularios
Ventana Administrador de proyectos
Y
Cuadro de diálogo Nueva clase

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas