In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Como puedo evaluar una cadena que contiene un objeto

Foro de Xailer profesional en español
Responder
josem
Mensajes: 20
Registrado: Sab May 17, 2008 9:35 am

Como puedo evaluar una cadena que contiene un objeto

Mensaje por josem »

This is a multi-part message in MIME format.
------=_NextPart_000_09C9_01C75920.2A94AA40
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_09CA_01C75920.2A94AA40"
------=_NextPart_001_09CA_01C75920.2A94AA40
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Tengo un formulario con 5 Botones ( oButton1 a oButton5 ) y otro boton =
(oButton0), quiero que al pulsa este bot=F3n cambie el contenido de los =
otros, pero ejecutando un "eval". Adjunto proyecto de ejemplo=20
Estoy llamado al proceso "Eval( Self, {|| cObjetoProcesar } )".=20
Que estoy llamando mal?
Gracias
M=F3dulo PRG
METHOD Button0Click( oSender ) CLASS TForm1
LOCAL cObjetoProcesar :=3D ""
LOCAL nContador
FOR nContador :=3D 1 TO 5
cObjetoProcesar :=3D "::oButton" + str( nContador, 1 ) + ":cText :=3D =
" + chr(34) + time() + chr(34)
Eval( Self, {|| cObjetoProcesar } )
NEXT
RETURN Nil
------=_NextPart_001_09CA_01C75920.2A94AA40
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.3059" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2>Tengo un formulario con 5 Botones ( =
oButton1 a=20
oButton5 ) y otro boton (oButton0), quiero que al pulsa este bot=F3n =
cambie el=20
contenido de los otros, pero ejecutando un "eval". Adjunto proyecto de =
ejemplo=20
</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Estoy llamado al proceso "<FONT =
color=3D#ff0000>Eval(=20
Self, {|| cObjetoProcesar } )</FONT><FONT color=3D#000000>". =
</FONT></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><FONT =
color=3D#000000></FONT></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2><FONT color=3D#000000>Que estoy =
llamando mal?</DIV>
<DIV><BR></DIV></FONT></FONT>
<DIV><FONT face=3DArial size=3D2>Gracias</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2><U>M=F3dulo PRG</U></FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>METHOD Button0Click( oSender ) CLASS=20
TForm1<BR>LOCAL cObjetoProcesar :=3D ""<BR>LOCAL nContador</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>FOR nContador :=3D 1 TO =
5<BR>ÂÂ=20
cObjetoProcesar :=3D "::oButton" + str( nContador, 1 ) + ":cText :=3D "=20
+Âchr(34) + time() + chr(34)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2><FONT color=3D#ff0000>ÂÂ =
Eval( Self, {||=20
cObjetoProcesar } )<BR></FONT>NEXT</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>RETURN Nil</FONT></DIV></BODY></HTML>
------=_NextPart_001_09CA_01C75920.2A94AA40--
------=_NextPart_000_09C9_01C75920.2A94AA40
Content-Type: application/octet-stream;
name="Ejemplo.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Ejemplo.zip"
UEsDBBQAAgAIACelWTYxivyyzAAAACYBAAASAAAAU291cmNlL0VqZW1wbG8u cHJnXY69asMwEMd3
g9/hcBY7g+0aSkHQIdB4Syhphq7ifNRXFElcJEKeOy8QSw20dLnhd/+vbg1l AWt4F3clDE7B9ptO
3rhMR8aZ5Be2Xr7y443OKOyRb1bB7jZF42AiIBtETxo0mOV4w6iTJFs2MThR P7GEs1YwPHf90A19
/5JoVxZlsWKLJi5J1admQ9LiXCW+zEOaohDsNNu6SQwANj53BHZW4ZGDIVCv UD3WVllzHJ2cnupG
7elS/3VAoz5md0lh/6IO8VFxoBBlmX8HUEsDBBQAAgAIAA2nWTZ6LV/mYwEA AGYDAAAQAAAAU291
cmNlL0Zvcm0xLnByZ7WSz0/CMBTH70v2P7zMy0BkY0BMZjzg2OIBVrLNhOss xRW3lZRiMOJf7T/g
2s2AcfGk7/T6eT/6+n21uroGXVhw9kqwYC74G1Jsc6ZoQHFGeAUDxotBf8uf FJ6SHeZ0i+lH6Sow
2QvGazcgOEtdcMaW7ViObV9Laumarl3QEuf7FQFjmdKc8D7ODMm92SSOIVFX QBChee3LEAB4aL5A
oR8mwO72QrBy0I6ddjxsx6N2PG7HdjPL3E/u0RQ8TlJB5Ixm55w3yV5O8bMJ LCblinDoyGI/nKpn
ftehVvWwLpQOlnX1pyZ7/j4ZnEuvazPkTWaA0eOGCFZ9CEx2KQf3FgzjK1h6 rBTpinHZPEDRCci8
ASQIag3burhuo6cBl7AT3DxV96raTkUNFyfkIFR6dbxRvVoNZ9wcjmSNoAUx pdOgZln+S5qbEJN8
3YO34/HHRO9yM6G/TGR+5CcPUQghzf9nE59QSwMEFAACAAgADadZNgqCRC5v AQAAygQAABAAAABT
b3VyY2UvRm9ybTEueGZtnZHfboIwFMbvTXyHE64wYYYWmEqyi4EYt0xdhMUb b5jWScbapZRs770X
WNsh6o0T7s6/fuf39cyiZLoYQ8hJKsiE8Q+zB+HTfRxDojLU7XQ7ABCXn4T7 p1O67PsxEQEr6bYw
wRl6FqDRwALHHVmAsQeHqU1CvgX4d2BoUaMqswmjupyowOxVC0wwZjHEKS0g JjzbGRYMLbAtcG27
lqRhnhEqVtlW7JWE46LzzpRkb3utjkaHVqXfq1ytHpIpLILHKEwUTVAKwait gf5iiTQnX6bEyHfV
ZqVzYhpLMu9W+sZYUuKTodozMZ4ZJRzyFPaMp2u+poRCzgpggrNC5a9MLiM6 NGqBfFbmInvKKFEq
/aRfdxbK4uZdf2gFrQvHt0ejMovm40uGUSPDaCCNKtfIkxepb3zm2AiY+KE3 qB0Pbs6jL/AvD27H
4zTnGbrX8DjteNzmPAjha4DcdkBeCyDXvgbIuwy0jJKX5Vzv6nZ+AVBLAwQU AAIACAALp1k2p0Lq
JGwBAABKAgAACwAAAEVqZW1wbG8ueHBqTVHLboMwELwj8Q/9AlR696ENRKUK AQFqK0U9GLJJnBjb
WttR8rn9k64hiXryzO7sw7Obuqk+8kX3E0fd1QCDC8RRBnZAYZzQiuVHGI3U cVR5Z7y782QSLvRo
hARkl3eOvfYYRyUXqtRbL4EtNY5pYnBPUS+dMBIKZR1XA1iWdEkcfdclV2IH 1s28GGhiHNUc+QgO
0BKp8pIlS0p+Eg8bpclzHDUggVtgBN+8kNsAwjZcXVmNugV8KtSOFvh1YuAh Z66N2B8cdeyQb6Hk
eArtqWgE5QLcVHVXVOuWvHj1To+cSksYzxwzGCTtNBky7ZJB7/dhwExbbwyC tSuhYO3HHnAe/q/i
LmkPGt3gnRNqP2e+OCpFbAVnkCwlszRCNbkftiq5WZLHs3ZBMS2BDL4Fgpam nkgffpAVDR2zaoo8
/KKliwyQCWQzIoPVIP12Ct1gsNI+dHdMtvfHEKCH2i6L1dQwfZx/uurL/xP/ AVBLAQIUABQAAgAI
ACelWTYxivyyzAAAACYBAAASAAAAAAAAAAAAIAC0gQAAAABTb3VyY2UvRWpl bXBsby5wcmdQSwEC
FAAUAAIACAANp1k2ei1f5mMBAABmAwAAEAAAAAAAAAAAACAAtIH8AAAAU291 cmNlL0Zvcm0xLnBy
Z1BLAQIUABQAAgAIAA2nWTYKgkQubwEAAMoEAAAQAAAAAAAAAAAAIAC0gY0C AABTb3VyY2UvRm9y
bTEueGZtUEsBAhQAFAACAAgAC6dZNqdC6iRsAQAASgIAAAsAAAAAAAAAAAAg ALSBKgQAAEVqZW1w
bG8ueHBqUEsFBgAAAAAEAAQA9QAAAL8FAAAAAA==
------=_NextPart_000_09C9_01C75920.2A94AA40--

Attached files Ejemplo.zip (1.7 KB)Â
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Como puedo evaluar una cadena que contiene un objeto

Mensaje por jfgimenez »

José Manuel,
Tengo un formulario con 5 Botones ( oButton1 a oButton5 ) y otro boton (oButton0), quiero que al pulsa este botón cambie el contenido de los otros, pero ejecutando un "eval". Adjunto proyecto de ejemplo
Estoy llamado al proceso "Eval( Self, {|| cObjetoProcesar } )".
Que estoy llamando mal?
Gracias
Módulo PRG
METHOD Button0Click( oSender ) CLASS TForm1
LOCAL cObjetoProcesar := ""
LOCAL nContador
FOR nContador := 1 TO 5
cObjetoProcesar := "::oButton" + str( nContador, 1 ) + ":cText := " + chr(34) + time() + chr(34)
Eval( Self, {|| cObjetoProcesar } )
NEXT
RETURN Nil
La propiedad cName de los controles sólo existe en tiempo de diseño, pero en el programa no está disponible. Lo que quieres hacer lo podrí­as hacer así­:
LOCAL aBotones := { ::oButton1, ::oButton2, ::oButton3, ::oButton4, ::oButton5 }
AEval( aBotones, { | oBtn | oBtn:cText := Chr(34) + Time() + Chr(34) } )
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
--
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
josem
Mensajes: 20
Registrado: Sab May 17, 2008 9:35 am

Como puedo evaluar una cadena que contiene un objeto

Mensaje por josem »

José, buenas noches
La indicación que me dás no me vale. Lo que tengo es lo siguiente:
LOCAL cObjetoProcesar := ' oButton1:cText := "Buenas Tardes" '
Eval( Self, {|| cObjetoProcesar } )
El "Eval" como tengo que realizarlo para que el Texto del oButton1 ponga "Buenas Tardes"
La solución que me propones de "aBotones := { ::oButton1, ::oButton2, ::oButton3, ::oButton4, ::oButton5 }", no me vale, ya que de antemano no se si tengo 1, 2 o más botones definidos.
Saludos
José Manuel Serrano
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje news:[email=45e1f861@news.xailer.com...]45e1f861@news.xailer.com...[/email]
José Manuel,
Tengo un formulario con 5 Botones ( oButton1 a oButton5 ) y otro boton (oButton0), quiero que al pulsa este botón cambie el contenido de los otros, pero ejecutando un "eval". Adjunto proyecto de ejemplo
Estoy llamado al proceso "Eval( Self, {|| cObjetoProcesar } )".
Que estoy llamando mal?
Gracias
Módulo PRG
METHOD Button0Click( oSender ) CLASS TForm1
LOCAL cObjetoProcesar := ""
LOCAL nContador
FOR nContador := 1 TO 5
cObjetoProcesar := "::oButton" + str( nContador, 1 ) + ":cText := " + chr(34) + time() + chr(34)
Eval( Self, {|| cObjetoProcesar } )
NEXT
RETURN Nil
La propiedad cName de los controles sólo existe en tiempo de diseño, pero en el programa no está disponible. Lo que quieres hacer lo podrí­as hacer así­:
LOCAL aBotones := { ::oButton1, ::oButton2, ::oButton3, ::oButton4, ::oButton5 }
AEval( aBotones, { | oBtn | oBtn:cText := Chr(34) + Time() + Chr(34) } )
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
--
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Como puedo evaluar una cadena que contiene un objeto

Mensaje por zeasoftware »

Asi es como lo quieres:
METHOD Button0Click( oSender ) CLASS TForm1
LOCAL cObjetoProcesar := ""
LOCAL nContador
MemVar oSelf
oSelf := SELF
FOR nContador := 1 TO 5
cObjetoProcesar := "oSelf:oButton" + str( nContador, 1 ) + ":cText := " + ;
chr(34) + time() + chr(34)
&(cObjetoProcesar)
NEXT
RETURN Nil
Saludos
--
Ramón Zea
01.993.194.14.27
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft@prodigy.net.mx
zeasoft.movil@hotmail.com
zeasoft@prodigy.net.mx
http://www.paginasprodigy.com/zeasoft/
visita mi "venta de garage"
"José Manuel" <josem@nuel.es> escribió en el mensaje news:45e1eb29$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Tengo un formulario con 5 Botones ( oButton1 a oButton5 ) y otro boton (oButton0), quiero que al pulsa este botón cambie el contenido de los otros, pero ejecutando un "eval". Adjunto proyecto de ejemplo
Estoy llamado al proceso "Eval( Self, {|| cObjetoProcesar } )".
Que estoy llamando mal?
Gracias
Módulo PRG
METHOD Button0Click( oSender ) CLASS TForm1
LOCAL cObjetoProcesar := ""
LOCAL nContador
FOR nContador := 1 TO 5
cObjetoProcesar := "::oButton" + str( nContador, 1 ) + ":cText := " + chr(34) + time() + chr(34)
Eval( Self, {|| cObjetoProcesar } )
NEXT
RETURN Nil
--
josem
Mensajes: 20
Registrado: Sab May 17, 2008 9:35 am

Como puedo evaluar una cadena que contiene un objeto

Mensaje por josem »

Ramón 100 gracias.
Perfecto. Esto es lo que querí­a
Saludos
José Manuel Serrano
"Ramón Zea" <zeasoftware@hotmail.com> escribió en el mensaje news:45e22005$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Asi es como lo quieres:
METHOD Button0Click( oSender ) CLASS TForm1
LOCAL cObjetoProcesar := ""
LOCAL nContador
MemVar oSelf
oSelf := SELF
FOR nContador := 1 TO 5
cObjetoProcesar := "oSelf:oButton" + str( nContador, 1 ) + ":cText := " + ;
chr(34) + time() + chr(34)
&(cObjetoProcesar)
NEXT
RETURN Nil
Saludos
--
Ramón Zea
01.993.194.14.27
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft@prodigy.net.mx
zeasoft.movil@hotmail.com
zeasoft@prodigy.net.mx
http://www.paginasprodigy.com/zeasoft/
visita mi "venta de garage"
"José Manuel" <josem@nuel.es> escribió en el mensaje news:45e1eb29$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Tengo un formulario con 5 Botones ( oButton1 a oButton5 ) y otro boton (oButton0), quiero que al pulsa este botón cambie el contenido de los otros, pero ejecutando un "eval". Adjunto proyecto de ejemplo
Estoy llamado al proceso "Eval( Self, {|| cObjetoProcesar } )".
Que estoy llamando mal?
Gracias
Módulo PRG
METHOD Button0Click( oSender ) CLASS TForm1
LOCAL cObjetoProcesar := ""
LOCAL nContador
FOR nContador := 1 TO 5
cObjetoProcesar := "::oButton" + str( nContador, 1 ) + ":cText := " + chr(34) + time() + chr(34)
Eval( Self, {|| cObjetoProcesar } )
NEXT
RETURN Nil
--
Responder