usando TDbf

Hasta hace poco nunca había usado nada para manejar DBF que no fueran los comandos y funciones estándar de clipper y luego de xHarbour. Hace unas semanas comencé el desarrollo de una aplicación que tiene que ejecutarse en red y me planteé mirar las distintas clases para manejo de DBF que existen para xHarbour.

Haciendo caso de mi amigo Manolo y de algún otro consejo recibido via messenger me decidí a probar TDbf de Manu Expósito. Me bajé la clase desde su grupo de Yahoo y me puse a probarla. El ahorro de código que se produce al usar esta jerarquía de clases – como a Manu le gusta llamarla – es realmente impresionante. La clase crea automáticamente una data para cada campo del fichero que se manipula, con lo cual no tienes que definir campos ni hacer asignaciones. Además la clase maneja un buffer que es el que contiene estas datas, de manera que puedes cargar el buffer desde tu dbf y guardar los datos con una llamada a un método de la clase. Un mantenimiento básico usando TDbf sigue esta estructura:

IF NUEVO_REGISTRO
   oDbf:Blank() // pongo en blanco el buffer
ELSEIF MODIFICACION
   oDbf:Load() // cargo el buffer desde la dbf
ENDIF

DEFINE DIALOG oDlg RESOURCE "EDIT" OF oParent

REDEFINE GET aGet[1] VAR oDbf:TaCodigo  ;
   ID 12 OF oDlg UPDATE           		;
   PICTURE "@!"                        ;
   VALID Clave( aGet[1], nMode )
...
ACTIVATE DIALOG oDlg	;
   ON INIT DlgCenter(oDlg,oApp():oWndMain)</p>

IF oDlg:nresult == IDOK
   lReturn := .t.
   IF NUEVO_REGISTRO
      oDbf:Insert()
   ELSEIF MODIFICACION
      oDBF:Save()
   ENDIF
ENDIF

Además, Manu está preparando una TDbf Pro para antes de que acabe el año y que estará escrita en gran parte el C, con lo cual irá mucho más rápida que la actual clase. Ganas tengo de verla.

3 comentarios en «usando TDbf»

  1. José Luis,

    No he usado la clase de Manu (la tdbf) pero sí otra similar (la tOzDbf) donde la filosofía es la misma aunque la implementación es (según tengo entendido) diferente.

    Hace tiempo que trabajo con la tOzDbf y allá donde voy… allá que me la llevo conmigo (clipper, xharbour, Fwh, Xailer, …). Ahora, que me he metido con ADO, he creado un clon de la tOzDbf. Con eso quiero decir que una vez has comenzado a utilizar este tipo de ‘cosas’ ya no puedes dejarlas….

  2. yo uso la del fivewin al cual le he incorporado algunas modifcaciones y a partir de ahi cree una clase tadbf que es la que mas uso y tiene muchas facidades de uso, que ya no es necesario usar los scope del browse la tabla se escarga de eso entre otras cosas, es una buena opcion trabajar con este tipo de clases, y como dice jose luis ya no se puede vivir sin ellas

  3. Yo tengo una aplicación donde las tablas las manejo al 100{480d580d36768405d93963bdd82c570c8132a231e8d2b870ef0b18322d1f72b2} con TDbf, y puedo decir, que a mi modo muy particular de ver las cosas esta clase es lo mejor que he podido descubrir para Harbour/FW, en verdad es una dicha que Manu la haya desarrollado.

    Saludos!!

Los comentarios están cerrados.