Existencia de un DATA

Existencia de un DATA

Postby Mike Serra » Fri Mar 14, 2008 6:43 am

Buenos Días foro, estoy haciendo pruebas y me gustaría saber ¿cómo puedo conocer la existencia de un data de una clase?, es decir.

class myclass
data field1
data field2
data field3
....
end class
quiero saber si existe por ejemplo clase:field3. He probado:
if type('clase:field3') == "UI",con valtype, pero no me funciona
¿sabéis algún otro método?

Muchas Gracias
Mike Serra
 
Posts: 297
Joined: Fri Apr 14, 2006 5:52 pm
Location: Córdoba (España)

Postby Carles » Fri Mar 14, 2008 8:10 am

Hola,

Si quieres saber si existe alguna data o metodo, usa __classSel( oObject:ClassH ), pero si lo quieres saber en tiempo de ejecucion lo mejor es crearte en la clase el metodo ON ERROR como el q usa por ejemplo la clase Tdbf. Miralo y seguro q te servira.


Siau
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Postby QAZWSX2K » Fri Mar 14, 2008 8:10 pm

YO LO HAGO ASI PARA QUE ME LAS MUESTRE EN UN BROWSE, ESTO LO ESTRAJE DEL FORO SOLO QUE LAS MOSTRABA CON UN MSGINFO, YO LE AGREGUE LO DEL BROWSE, ESPERO TE SIRVA

SOLO LLAMA A OBJ_DATA Y CAMBIALE CLASE POR LA QUE QUIERES SABER SUS DATAS

function OBJ_DATA() // VER DATAS DE UN OBJETO
*local o := ErrorNew() // Vamos a ver las DATAs de un objeto error
local o := CLASE() // Vamos a ver las DATAs de un objeto error
local aInfo := o:ClassSel()
LOCAL DBD:="C:\DATA.DBF"
_FNAME := {}
AADD( _FNAME, { "D" , "C", 50, 0 } )
DBCREATE(DBD, _FNAME )
DO WHILE .T.
IF NET_USE(DBD,.F.,.1)
DATABASE DBD2
EXIT
ELSE
LOOP
ENDIF
ENDDO
for n = 1 to Len( aInfo )
if Left( aInfo[ n ], 1 ) == "_"
DO WHILE .T.
IF ADD_REC(.1)
DBD2:D :=SubStr( aInfo[ n ], 2 )
DBD2:SAVE()
DBUNLOCK()
EXIT
ELSE
LOOP
ENDIF
ENDDO
*MsgInfo( SubStr( aInfo[ n ], 2 ) )
endif
next
BROWSE()
DBD2:CLOSE()
return nil
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
User avatar
QAZWSX2K
 
Posts: 363
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Postby Mike Serra » Sat Mar 15, 2008 7:14 am

Gracias Carles y QAZWSX2K. Problema solucionado gracias a vuestros
aportes.

SaLUDOS :D
Mike Serra
 
Posts: 297
Joined: Fri Apr 14, 2006 5:52 pm
Location: Córdoba (España)


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 64 guests