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.

Error en propiedad cargo con bloque de codigo

Foro público de Xailer en español
Responder
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

Error en propiedad cargo con bloque de codigo

Mensaje por Gabo »

Buen dia
Estoy usando controles tGlassBtn. y al poner el siguiente valor en la propiedad cargo
{ |lMay| IF( lMay, "Q", "q" ) }
Me marca el siguiente error de compilacion
TpvKeyBoard.xfm(54) Error E0030 Syntax error "syntax error at 'Q'"
TpvKeyBoard.xfm(69) Error E0030 Syntax error "syntax error at 'W'"
TpvKeyBoard.xfm(99) Error E0030 Syntax error "syntax error at 'R'"
Al checar el archivo XFM
xailer lo pone de la siguiente manera

WITH OBJECT ::oBB_Y := TGlassBtn():New( ::oGBLetras )
:SetBounds( 424, 8, 80, 70 )
:Cargo := "{ |lMay| IF( lMay, "Y", "y" ) }"
:cText := "Y"
:Create()
END

Si edito el archivo XFM quitandole las comillas al bloque de codigo. ya compila bien.
Estoy usando Xailer 2.7.5
Un Saludo
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

Error en propiedad cargo con bloque de codigo

Mensaje por Gabo »

Yo Mismo
Si se cambia por comillas simple. Si compila bien si errores

WITH OBJECT ::oBB_Y := TGlassBtn():New( ::oGBLetras )
:SetBounds( 424, 8, 80, 70 )
:Cargo := "{ |lMay| IF( lMay, 'Y', 'y' ) }"
:cText := "Y"
:Create()
END
joselalinf
Mensajes: 291
Registrado: Jue Ene 31, 2013 1:10 pm

Error en propiedad cargo con bloque de codigo

Mensaje por joselalinf »

Gabriel,
¿puedo preguntar para qué es ese bloque de código?
Saludos,
José Lalí­n
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

Error en propiedad cargo con bloque de codigo

Mensaje por Gabo »

Que tal JoseL
Claro que si.. Estoy haciendo un teclado. para una aplicacion Tactil. la intencion es activar Mayusculas y Minusculas. en el teclado.
Al momento de presionar el Boton "MAY" ejecuta el bloque de codigo de todos los botones y pone las letras del teclado en pantalla a may y si presiono "MIN" regresa las letras a min.
Es la unica forma que se me ocurrio. Poner un bloque de codigo a todos los botons de las letras. Quizas haya otra forma mas facil. Pero la luz me llego de esa forma
Un Saludo
joselalinf
Mensajes: 291
Registrado: Jue Ene 31, 2013 1:10 pm

Error en propiedad cargo con bloque de codigo

Mensaje por joselalinf »

Gabriel,
imaginaba que estabas haciendo algo así­. Puedes simplificarlo sin usar
cargo ni los bloques de código. En el OnClick() de "MAY" puedes recorrer
los botones con ::SetMayusculas( .T. ) y en el OnClick() de "MIN" lo mismo
pero a minúsculas ::SetMayusculas( .F. )
METHOD SetMayusculas( lMayus )
FOR EACH oButton IN oForm:aControls
IF oButton:IsKindOf( "TGlassBtn" )
IF Upper( oButton:cText ) >= "A" .AND. Upper( oButton:cText ) <= "Z"
IF lMayus //Pulsado MAY
oButton:cText := Upper( oButton:cText )
ELSE // Pulsado MIN
oButton:cText := Lower( oButton:cText )
ENDIF
ENDIF
ENDIF
NEXT
RETURN Nil
Está escrito al vuelo pero deberí­a funcionar tal cuál si quieres probarlo.
Saludos,
José Lalí­n
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

Error en propiedad cargo con bloque de codigo

Mensaje por Gabo »

JoseLalin
Muchas Gracias por tu sugerencia. ya quedo implementada y mi codigo mejorado.
Un Saludo
Responder