Obter quantidade e lista de variaveis de um objeto em harbou

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Obter quantidade e lista de variaveis de um objeto em harbou

Mensagem por Cavalo Marinho »

Olá pessoal
Gostaria de saber se é possível obter o numero de atributos e os nomes destes atributos de um objeto em harbour
fazendo uma paralelo, em uma tabela eu tenho como obter a quantidade de campos com fcount() e obter os nomes com field(a) onde a é a posição do campo na tabela
Resumindo: eu queria saber como fazer para obter o numero de atributos(variáveis) de um objeto e percorrer neste objeto para saber o nome e tipos destes atributos.
Obrigado desde já
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Obter quantidade e lista de variaveis de um objeto em harbou

Mensagem por JoséQuintas »

Isso não é um uso normal, mas talvez encontre nos fontes do harbour/xharbour.
Dê uma pesquisada nas rotinas de OLE e em Activex, e talvez encontre alguma coisa.
Se for pra olhar manualmente, talvez o VB6 ajude.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Obter quantidade e lista de variaveis de um objeto em harbou

Mensagem por bencz »

Segue documentação:
https://harbour.github.io/doc/harbour.h ... tvaluelist

Código: Selecionar todos

aObjetos := __objGetValueList(oModelClass, nil, HB_OO_CLSTP_EXPORTED)
    FOR I := 1 TO LEN(aObjetos)
Imagem
Responder