Page 1 of 1

Petición para Clase TSay

Posted: Tue Dec 18, 2007 12:15 pm
by fgondi
Hola Antonio,

En mis aplicaciones uso la clase TSay para mostrar datos que no quiero que modifiquen

Se que puedo usar la clase TGet con el método Disable(), pero de esta forma pueden creer que en algún momento o con algún permiso se puede cambiar
y quiero dejar claro que no se puede en ningún momento modificar

El problema es que al mostrar el dato en el say con un picture, pierdo el dato grabado inicialmente, osea:
defino Tsay con un picture '@KE 999.99%'
Se Introduce en ella un valor oSay:SetText( nTarifa )
Al comprobar que dato hay grabado en el objeto oSay:cCaption ya no obtengo el valor numérico, sino que obtengo el valor del transform

Yo lo tengo solucionado de esta forma:

Code: Select all

CLASS TSay FROM TControl

   DATA xCaption  //Nuevo.fgondi
   ....

   METHOD New(...
   ...
   ::xCaption  = Eval( bText )  //Nuevo.fgondi
   ::cCaption  = If( Empty( cPicture ), cValToChar( Eval( bText ) ),;
                     Transform( Eval( bText ), cPicture ) )

   METHOD Redefine(...
   ....
   if bText != nil
      ::xCaption  = Eval( bText )  //Nuevo.fgondi
      ::cCaption = If( Empty( cPicture ), cValToChar( Eval( bText ) ),;
                       Transform( Eval( bText ), cPicture ) )
   endif

   METHOD SetText( cText ) CLASS TSay
   ....
   ::xCaption := cText
   ::cCaption := If( ::cPicture != nil, Transform( cText, ::cPicture ),;
                     cValToChar( cText ) )
   ...