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 ) )
...