Xailer: datasets más informativos

Octubre 14th, 2007

Hola,

Al final de estas lineas os dejo un proyecto Xailer donde he modificado el comportamiento de algunos métodos de la clase tdbfDataset para que nos informe de lo que está haciendo en ese momento la clase.

Xailer nos introdujo al mundo xBase la utilización de las clases X y T. Esta forma de jerarquizar las clases permite hacer algo que nos facilita mucho o muchísimo la adaptación a nuestras necesidades o a nuestros gustos las clases estándar de Xailer. En este caso concreto lo que he pretendido es mostrar al usuario, mediante unos bitmaps y unos textos, qué esta haciendo nuestra aplicación cuando se opera con tablas dbfs. La idea del ejemplo es sobreescribir la clase TdbfDataset para añadir antes y después de la llamada real un texto informando de la acción a realizar. Vamos a ver lo que he dicho con un ejemplo concreto:

CLASS TDbfDataSet FROM xDbfDataSet

METHOD Open()

ENDCLASS

METHOD Open( l ) CLASS TDbfDataSet

LOCAL u

TRY
Application:oMainForm:oStatusBar1:aItems[2]:cText := "Abriendo "+::cName
Application:oMainForm:oStatusBar1:aItems[2]:nImage := 2
CATCH
END

u := Super:Open( l )

TRY
Application:oMainForm:oStatusBar1:aItems[2]:cText := "Reposo"
Application:oMainForm:oStatusBar1:aItems[2]:nImage := 1
CATCH
END

RETURN u

Este método hace una llamada al método superior (super). Pero justo antes y justo después muestra información en Application:oMainForm:oStatusBar1:aItems[2]. Esto puede modificarse a gusto de cada uno. De hecho, y para los más puristas del OOP, esta no sería la mejor forma de hacerlo. No. Lo correcto sería añadir una data a la clase con el control que vamos a manipular y en el momento de la creación del objeto tdbfDatase indicar el control. Para el caso del ejemplo lo he simplificado por cuestiones de tiempo y claridad en el ejemplo.

Espero que os guste. Para cualquier cuestión o pregunta… me tenéis a vuestra disposición. Aquí podéis descargar el ejemplo.

Salud!
José Luis Capel

Entrada clasificada en: Técnico


Calendario

Septiembre 2010
L M X J V S D
« Oct    
 12345
6789101112
13141516171819
20212223242526
27282930  

Articulos recientes

blogs