PARAMETROS DE UNA FUNCION

Post Reply
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

PARAMETROS DE UNA FUNCION

Post by TOTOVIOTTI »

Estimados:
Necesito pasar unos parametros de una Función a otra, por ejemplo:

Aquí viene mi programa:

function main()
.
..
...
....
programa_1(var1,var2,var3)
....
...
..
return nil

function programa_1
parameters var1,var2,var3 //necesito recibirla así, porque estas variables siguen por varias funciones, (en el viejo clipper, me lo dejaba hacer así)
..
...
...
..
.
return nil

Pero cuando compilo, me da Ambiguous reference "var1","var2","var3"

Como puedo hacer para solucionar este tema?
Muchas gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: PARAMETROS DE UNA FUNCION

Post by TOTOVIOTTI »

Pude encontrar que haciendo:

function main()
static var1,var2,var3

programa_1(var1,var2,var3)

return nil

function programa_1
parameters var1,var2,var3..

return nil

pero cuando no son variables las que tengo que pasar, por ejemplo:
programa_1(.t.,"titulo",0)
se me complica....

Gracias!
Roberto
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: PARAMETROS DE UNA FUNCION

Post by horacio »

Porqué no utilizas

Code: Select all

Function programa_1( Var1, Var2, Var3 )
 
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: PARAMETROS DE UNA FUNCION

Post by TOTOVIOTTI »

Horacio,
porque necesito pasarlo de funcion en funcion, y necesito para un caso especial dejarlo
de esa forma.
Gracias
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: PARAMETROS DE UNA FUNCION

Post by horacio »

Yo paso los parámetros de función en función utilizando esta notación, no sé cual es el impedimento.
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: PARAMETROS DE UNA FUNCION

Post by TOTOVIOTTI »

Horacio
no es impedimento, necesito reutilizar unas rutinas que ya tenía desarrolladas en clipper, y como
estoy probando convertir mis aplicaciones, quería tocar lo menos posible unas rutinas complicadas de cálculos
que ya tengo desarrolladas.
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: PARAMETROS DE UNA FUNCION

Post by acuellar »

Roberto, que editor usas para enlazar tus programas?
Si es UEstudio debes colocar 0 en Warning level en Opciones de compilador.

o inicializar tus variables como PUBLIC en el primer programa.

Saludos,

Adhemar
Saludos,

Adhemar C.
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: PARAMETROS DE UNA FUNCION

Post by horacio »

Ok, no se entendía esa situación en tu post.

Saludos
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: PARAMETROS DE UNA FUNCION

Post by TOTOVIOTTI »

Adhemar,
disculpa la molestia, como sería un pequeño ejemplo en un par de líneas.
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: PARAMETROS DE UNA FUNCION

Post by acuellar »

Si no usas UEstudio tenes que hacer asi:

Code: Select all

#include "FiveWin.ch"
*
memvar Var1,Var2,Var3
Function Main()
   Public Var1,Var2,Var3
...
Return
 
Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: PARAMETROS DE UNA FUNCION

Post by TOTOVIOTTI »

Adhemar, eso está perfecto y entendido, el tema es cuando a la 2da funcion, no paso
las variables var1,var2,var3, sino, valores propiamente dicho:

#include "FiveWin.ch"
*
memvar Var1,Var2,Var3
Function Main()
Public Var1,Var2,Var3


progrma(.t.,"titulo",0) //no son las variables var1,var2,var3
...
Return

Se entiende?
Gracias!
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: PARAMETROS DE UNA FUNCION

Post by acuellar »

En tu funcion colocas las variables:

Code: Select all

Function progrma(Var1,Var2,Var3) 
?Var1 // .t.
?Var2 // titulo
?Var3 // 0
Return Nil
 
Saludos,

Adhemar
Saludos,

Adhemar C.
interwin
Posts: 33
Joined: Wed Jan 25, 2012 9:30 pm

Re: PARAMETROS DE UNA FUNCION

Post by interwin »

si pasas variables a una funcion de la forma:

function (VAR1,VAR2,VAR3)

Las variables VAR1,VAR2,VAR3 en la funcion se manejan como locales


Si pasas las variables de la forma

function
parameters VAR1,VAR2,VAR3

las variables VAR1,VAR2,VAR3 se manejan como privates y por eso el compilador te manda el warning con el mensaje de ambiguos reference, pero es solo un warning y tu funcion trabaja perfectamente

Saludos.
Post Reply