Rubens, João. Obrigado pelas dicas. Conheco RTTI....mas como já existe tudo em record fica dificil mudar assim de cara.......(embora estou achando que esta seja a saida)
Acontece que tenho um monte destas estruturas para converter pra equivalentes em tabelas, tenho cerca de 600 records... então fazer na mão...puts.. rsss.. A ideia é q quando a aplicação estiver rodando e receber por parametro um destes records, automaticamente crie a tabela então, conseguindo pegar a lista da estrutura iria facilitar. E existe outro detalhe, é que pode ser geradas novas estruturas então o processo se encarregaria de criar automaticamente caso ainda não exista. Uma outra pergunta que deixo no ar, se o delphi consegue esta lista quando estamos "lidando" nos fontes ...porque não seria possivel, ou sera que ele usa alguma especie de parser pra estas estruturas??? Atenc; Elazar ----- Mensagem original ---- De: Joao Morais <[EMAIL PROTECTED]> Para: delphi-br@yahoogrupos.com.br Enviadas: Quarta-feira, 1 de Outubro de 2008 11:00:25 Assunto: Re: [delphi-br] Estrutura de um record Rubem Nascimento da Rocha wrote: > Até onde me consta, não existe como verificar a estrutura de um record, > pois um record não possui as mesmas características de uma classe > contendo propriedades publicadas. Neste último caso, é possível, via > RTTI, consultar as propriedades publicadas de um objeto e obter seus > valores. Com um record, isso não existe. > > João Morais, mais algo para complementar/ corrigir e q possa ajudar o colega? Completo dizendo que record é uma estrutura que organiza um conjunto de dados apenas em tempo de compilação, não dá flexibilidade para trabalhar em tempo de execução, e não permite herança. Portanto ele é totalmente inviável para aproveitamento de código. Você pode vir a hackear uma coisa aqui outra ali, mas não terá suporte da linguagem e por consequência não terá produtividade. O ideal é seguir a idéia do Rubem e partir para classes desde o início. Não é tão complicado. Os únicos cuidados que você precisa ter é criar o objeto antes de usá-lo e destruí-lo depois que não precisar mais dele. No mais, é uma estrutura semelhante ao record. Informe-se sobre rtti, sobre a área published, e sobre as rotinas da unit typinfo. Para os seus primeiros testes, herde suas classes a partir da classe TPersistent, declarada na unit Classes. A partir daqui, FastMM será seu amigo. Use-o para descobrir se você está esquecendo de destruir algum objeto. Por fim, qual seu objetivo: faculdade, indicação de estudo, saco cheio do tdataset, necessidade no trabalho, ...? -- Joao Morais > > > ____________ _________ _________ __ > To: [EMAIL PROTECTED] os.com.br > From: [EMAIL PROTECTED] com.br > Date: Wed, 1 Oct 2008 05:57:25 -0700 > Subject: [delphi-br] Estrutura de um record > > Bom dia pessoal, > > como faze para acessar a estrutura de um record? > > por exemplo tenho os seguintes records, > > Record1 = record > Codigo : Integer; > Name : String; > Endereco : String; > end; > > Record2 = record > Codigo : Integer; > Descricao : String; > Situacao : String; > end; > > Record3 = record > Codigo : Integer; > Descricao : String; > end; > > Record4 = record > Codigo : Integer; > Descricao : String; > Quantidade : Double; > ValorUnitario : Double; > ValorTotal : Double; > end; > > Estou tentando fazer uma procedure mais ou menos assim > > procedure ObterListaDados( Lista : TStrings; Registro : record); > var > vCont : Integer; > begin > Lista.Clear; > for vCont := 0 to Registro.QtdCampos do > Lista.Add(Registro. ...campo) ; > end; > > Alguem tem alguma sugestão? > > Atenc; > Elazar > > ____________ _________ _________ _________ _________ _________ _ > Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o > Messenger! É GRÁTIS! > http://www.msn. com.br/emoticonp ack > ------------ --------- --------- ------ > Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]