Resolvido, muito obrigado. Agora só ficou a curiosidade de saber como o Delphi converte. Sabendo disso posso confiar que diversas combinações não gerarão o mesmo número eventualmente.
incidencia := [IncideFGTS, IncideINSS, IncideIRRF]; //11 incidencia := [IncideFGTS, IncideIRRF]; //3 incidencia := [IncideFGTS, IncideINSS, IncideIRRF, IncideAcidente]; //65547 --- Em delphi-br@yahoogrupos.com.br, Rubem Rocha <rubem.ro...@...> escreveu > > Tipos enumerados internamente são representados como números inteiros. > Portanto, o tipo de dados para um campo armazenar um dado enumerado deve ser > inteiro. Assim sendo, seu código deveria ser mais ou menos assim: > > > > type > > TMeuTipo = (a, b, c, d); > > TMeuTipoSet = set of TMeuTipo; > > > > var > > TipoSet: TMeuTipoSet; > > > > begin > > TipoSet := [b, d]; > > { } > > cds.FieldByName(`campo').AsInteger := Integer(TipoSet); > > { } > > TipoSet := TMeuTipoSet(cds.FieldByName(`campo').AsInteger); > > end; > > > > Tente isto. > > Sds. > > > > De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em > nome de Higor > Enviada em: sexta-feira, 11 de dezembro de 2009 13:59 > Para: delphi-br@yahoogrupos.com.br > Assunto: [delphi-br] Persistir Set of Type > > > > > > Gostaria de saber se é possível gravar no banco de dados o estado de uma > variavel do tipo set of Type Enum. Se não estou enganado, uma vez vi um > código delphi que gerava um número inteiro de um set e gravava num > arquivo.ini. > > ex: > > Type TMeuTipo = (a,b,c,d); > type TMeuTipoSet = set of TMeuTipo; > > var tiposet: TMeuTipoSet; > begin > //usuário faz algo em tela que resulta em: > tiposet := [b,d]; > cds.FieldByName('campo').value := tiposet; //isso é possível? > > //para depois em algum momento ao carregar o form eu possa: > tiposet := cds.FieldByName('campo').value; > end; > > obrigado desde já, > Higor Granzoto > > > > > > [As partes desta mensagem que não continham texto foram removidas] >