La Web del Programador: Comunidad de Programadores
 
    Pregunta:  7383 - PASAR PARAMETROS A FORM MODAL
Autor:  Pablo y Daniel Pablo y Daniel
Hola amigos espero que puedan contestarme esta pregunta:

Tengo un formulario y quiero pasar tres o cuatro datos a otro formulario modal. Lo que yo tengo hecho es:
Por ejemnplo:
do form creditos to var01

Como puedo solucionar este problema.
Gracias.

  Respuesta:  Hanzo Hattori
Primero analicemos la instrucción que indicas
DO FORM credits TO Var01
Esto le dice "ejecuta el formulario CREDITS y el resultado (retorno) almacenalo en VAR01".
Ok... ahora...para enviarle parametros solo agrega el WITH y la lista de parámetros... estos los recibiras en el método INIT del formulario CREDITS..
<Init Method>
PARAMETERS cNombre, cEdad, cSexo
una vez manipulados estos datos en el formulario..el valor de retorno lo especificas en el método UNLOAD...
<Unload Method>
RETURN cValor

Ahora bien, si los parámetros pudieran no ser vistas dentro del formulario, al recibirlos en init..asignalos a variables públicas,
<Init Method>
PARAMETERS cNombre,cEdad,cSexo
Public xNombre,xEdad,xSexo
STORE cNombre TO xNombre
STORE cEdad TO xEdad
STORE cSexo TO xSexo

y al final las liberas en unload con RELEASE en el método Destroy
Espero haya sido de tu ayuda.
Saludos desde México.

  Respuesta:  Jose Roque
Hola,
Eso es bastante sencillo
Si deseas devolver n datos de un formulario modal primero tienes que concatenarlos
Ej.
Dimension vpar(5)
Do form Registro to Vparametros
Vparametros = Vparametros + " "
npar = 0
Do While !empty(vparametros)
npar = nPar + 1
vpar( npar ) = Left(vparametros, At("¼", vparametros,1)-1)
vParametros = SubStr(vparametros, At("¼", vparametros,1)+1) &&actualizar cadena
enddo

// aqui, estoy usando el caracter ¼ (ALt + 172 para separar los valores) desde luego si son valores numericos, tienes que convertirlos en char

es la unica forma que conozco hasta el momento.

Ahora en el formulario modal que te va a devolver los datos, tienes que concatenarlos en el procedimiento UNLOAD

Espero haberte Ayudado,

Saludos

Jose A. Roque
Desarrollador de aplicaciones