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
Existencia de un DATA
-
- Posts: 287
- Joined: Fri Apr 14, 2006 5:52 pm
- Location: Córdoba (España)
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
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..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
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
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
Impresion de todos los formularios del Seniat, Dian
alex_patino74@hotmail.com
whatsapp 57+3214777217
-
- Posts: 287
- Joined: Fri Apr 14, 2006 5:52 pm
- Location: Córdoba (España)