Page 1 of 1

Campos en TDatabase

Posted: Wed Sep 06, 2006 6:55 pm
by wpacheco
Saludos amigos

En TDatabase es posible leer campos de esta manera

Code: Select all

use cDbf
database oDbf
Msginfo( oDbf:Campox )
he revisado la clase pero no identifico la manera en como se crea este metodo. Podrian darme una mano con esto?

Gracias anticipadas

Williams Pacheco

Posted: Wed Sep 06, 2006 7:26 pm
by Antonio Linares
Williams,

Se utiliza la técnica del error handler:

ERROR HANDLER OnError( uParam1 )

Al intentar acceder al nombre del campo se genera un error, ya que no existe esa DATA, y el sistema de gestión de errores del motor de clases de Harbour lo reconduce al método OnError(), desde allí se accede al campo que se esté usando.

Revisa el código del método OnError().

Posted: Thu Sep 07, 2006 6:04 am
by Maurizio
With xHarbour

Regards Maurizio



-------------------------------------------------
oDbf := NewScatter()


FUNCtion NewScatter()
Local aVars := {=>}
LOcal nField := FCount()
LOcal nX := 1
FOR nX := 1 TO nField
aVars[FIELDNAME(nX)] := FieldGet(nX)
NEXT
RETU aVars

Function Gather(aVars)
lOCAL Nx := 1
AEval(aVars, {|x, i| FieldPut(i, aVars) } )
RETUrn TRUE

Posted: Thu Sep 07, 2006 12:55 pm
by wpacheco
Muchas gracias
Voy a chequear

Posted: Thu Sep 07, 2006 3:31 pm
by MarioG
W
Podés probar con TDbf de Manu Expósito que te da eso y mucho mas!

http://www.fivewin.info/html/downloads. ... ons&id=280

Saludos