¿Como ejecutar un comando guardado en una variable?
Moderator: Rathinagiri
¿Como ejecutar un comando guardado en una variable?
Hola, fijense que estoy haciendo un programa y tengo una duda. En una variable creo un comando, pero no se como poder ejecutarla. Por ejemplo, comando="form1.texto1.value=1"
En vfp unicamente ponia
&comando
y listo, pero no he podido realizarlo con harbour.
¿Alguien sabe como hacerlo?
Gracias por anticipado.
En vfp unicamente ponia
&comando
y listo, pero no he podido realizarlo con harbour.
¿Alguien sabe como hacerlo?
Gracias por anticipado.
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: ¿Como ejecutar un comando guardado en una variable?
Yo lo hago así
&(comendo)
y listo, también ten en cuenta el tipo de variables. deben de ser Publicas o Privadas ya que se pueden crear y destruir en tiempo de ejecución.
Saludos
Polo
&(comendo)
y listo, también ten en cuenta el tipo de variables. deben de ser Publicas o Privadas ya que se pueden crear y destruir en tiempo de ejecución.
Saludos
Polo
- danielmaximiliano
- Posts: 2646
- Joined: Fri Apr 09, 2010 4:53 pm
- Location: Argentina
- Contact:
Re: ¿Como ejecutar un comando guardado en una variable?
Hola Byrpa:
yo utilize este formato para un control.
el ejemplo completo esta aqui
yo utilize este formato para un control.
Code: Select all
Procedure SizeTest()
Local nX
Principal.Container_Tab.Width := Principal.Width - 10
Principal.Container_Tab.Height := Principal.Height - 60
For nX := 1 to nPage -1
cImage := "Image" + ltrim(str(nX))
Principal.Container_Tab(nX).&(cImage).Width := Principal.Width - 30
Principal.Container_Tab(nX).&(cImage).Height := Principal.Height - 100
next
Return
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: ¿Como ejecutar un comando guardado en una variable?
Hola Daniel siempre superando al aprendiz... Bien!!! 
- danielmaximiliano
- Posts: 2646
- Joined: Fri Apr 09, 2010 4:53 pm
- Location: Argentina
- Contact:
Re: ¿Como ejecutar un comando guardado en una variable?
Hola Polo :Leopoldo Blancas wrote:Hola Daniel siempre superando al aprendiz... Bien!!!
cuando no Existia BossTaurus del amigo Claudio tuve que conformarme con esto.
Saludos
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: ¿Como ejecutar un comando guardado en una variable?
Hola Daniel,
No entiendo a que te refieres?
Que haces con BossTaurus o que dejaste de hacer...????
no he revisado bien BoosTaurus, nada más ejecute los exe.
Saludos y Feliz año... alla en Argentina
Polo
No entiendo a que te refieres?
Que haces con BossTaurus o que dejaste de hacer...????
no he revisado bien BoosTaurus, nada más ejecute los exe.
Saludos y Feliz año... alla en Argentina
Polo
Re: ¿Como ejecutar un comando guardado en una variable?
Daniel gracias por tu pronta respuesta. Fijate que tambien encontre que usar ?&Comando tambien ejecuta lo que esta adentro de la variable comando. Para mi mala suerte en mi codigo no funciona y no se porque, acá les dejo el codigo, para que haber si me echan una manita.
Para explicarles un poco, lo que quiero es que, en cada formulario cuando regrese la consulta de Mysql no tenga que estar llenando manualmente cada caja de texto, entonces hice un array llamado cCampos que esta constituido por cada uno de los campos que tengo en la base y los cuadros de texto del formulario se llaman igual, unicamente les agrego "txt" a cada uno.
Function CargarDatos(cform)
pro_aaa.txtnombre.value:=oRow:fieldGet("nombre") /* Si funciona, prueba manual */
prueba='pro_aaa.txtnombre.value:=oRow:fieldGet("nombre")'
&(prueba) /* No Funciona */
For x=1 to len(cCampos)
Comando=cForm+'.txt'+cCampos[x]+'.value:=oRow:fieldGet("'+cCampos[x]+'")'
MsgInfo(Comando)
*?&Comando /*No funciona*/
Endfor
*Prueba='MsgInfo("Prueba de comando")' /*Linea si funciona*/
*?&prueba /*Linea si funciona*/
Return
Saludos y gracias por toda su ayuda.
Para explicarles un poco, lo que quiero es que, en cada formulario cuando regrese la consulta de Mysql no tenga que estar llenando manualmente cada caja de texto, entonces hice un array llamado cCampos que esta constituido por cada uno de los campos que tengo en la base y los cuadros de texto del formulario se llaman igual, unicamente les agrego "txt" a cada uno.
Function CargarDatos(cform)
pro_aaa.txtnombre.value:=oRow:fieldGet("nombre") /* Si funciona, prueba manual */
prueba='pro_aaa.txtnombre.value:=oRow:fieldGet("nombre")'
&(prueba) /* No Funciona */
For x=1 to len(cCampos)
Comando=cForm+'.txt'+cCampos[x]+'.value:=oRow:fieldGet("'+cCampos[x]+'")'
MsgInfo(Comando)
*?&Comando /*No funciona*/
Endfor
*Prueba='MsgInfo("Prueba de comando")' /*Linea si funciona*/
*?&prueba /*Linea si funciona*/
Return
Saludos y gracias por toda su ayuda.
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: ¿Como ejecutar un comando guardado en una variable?
Mi ejemplo es:
PROCEDURE MisControles()
LOCAL nRow
LOCAL cCadena:= "MsgInfo(STR(nRow := GetProperty( 'Form_1', aNomControles[2], 'ROW' ) ))"
LOCAL bBloque
/*
MsgInfo(STR(LEN(aControles)))
MsgInfo (aControles[1][1])
MsgInfo (aControles[2][1])
*/
MsgInfo(aNomControles[2])
* MsgInfo(STR(nRow := GetProperty( "Form_1", aNomControles[2], "ROW" ) ))
&(cCadena)
MsgInfo((nRow := GetProperty( "Form_1", aNomControles[2], "InputMask" ) ))
RETURN NIL
y funciona... Lo que veo es el orden de las comillas " y del apostrofe '
Debe de ser "Lo que sea 'si' "
Checa y me dices...
Saludos
Polo
PROCEDURE MisControles()
LOCAL nRow
LOCAL cCadena:= "MsgInfo(STR(nRow := GetProperty( 'Form_1', aNomControles[2], 'ROW' ) ))"
LOCAL bBloque
/*
MsgInfo(STR(LEN(aControles)))
MsgInfo (aControles[1][1])
MsgInfo (aControles[2][1])
*/
MsgInfo(aNomControles[2])
* MsgInfo(STR(nRow := GetProperty( "Form_1", aNomControles[2], "ROW" ) ))
&(cCadena)
MsgInfo((nRow := GetProperty( "Form_1", aNomControles[2], "InputMask" ) ))
RETURN NIL
y funciona... Lo que veo es el orden de las comillas " y del apostrofe '
Debe de ser "Lo que sea 'si' "
Checa y me dices...
Saludos
Polo
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: ¿Como ejecutar un comando guardado en una variable?
Hola...
Tambien veo que le falta un Puntito a la cadena...
For x=1 to len(cCampos)
Comando=cForm+'.txt'+cCampos[x]+'.value:=oRow:fieldGet("'+cCampos[x]+'")' // aqui es '.txt.'
MsgInfo(Comando)
*?&Comando /*No funciona*/
Endfor
Saludos
Polo
Tambien veo que le falta un Puntito a la cadena...
For x=1 to len(cCampos)
Comando=cForm+'.txt'+cCampos[x]+'.value:=oRow:fieldGet("'+cCampos[x]+'")' // aqui es '.txt.'
MsgInfo(Comando)
*?&Comando /*No funciona*/
Endfor
Saludos
Polo
Re: ¿Como ejecutar un comando guardado en una variable?
Gracias, voy a probarlo ahora mismo, pero fijate en estas tres lineas:
La primera y la segunda funcionan a la perfección:
pro_aaa.txtnombre.value:=oRow:fieldGet("nombre") /* Si funciona, prueba manual */
prueba='pro_aaa.txtnombre.value:=oRow:fieldGet("nombre")'
y la tercera ya no funciona y es la misma linea de la primera, solo que en la variable prueba. Esa linea la hice manual, sin usar for.
&(prueba) /* No Funciona tambien la probe con ?&prueba */
Gracias por sus comentarios.
En la linea dos, ya cambie las comillas por apostrofes y viceversa y nada.
La primera y la segunda funcionan a la perfección:
pro_aaa.txtnombre.value:=oRow:fieldGet("nombre") /* Si funciona, prueba manual */
prueba='pro_aaa.txtnombre.value:=oRow:fieldGet("nombre")'
y la tercera ya no funciona y es la misma linea de la primera, solo que en la variable prueba. Esa linea la hice manual, sin usar for.
&(prueba) /* No Funciona tambien la probe con ?&prueba */
Gracias por sus comentarios.
En la linea dos, ya cambie las comillas por apostrofes y viceversa y nada.