Fórum Pegar o Tipo de uma Variant #367616
09/01/2009
0
Pessoal,
Estou com um problema. Em uma função é passado como paramentro 2 arrays, uma do tipo string para o nome dos campos e outra do tipo Variant para os valores dos campos, so que quando eu vou gravar na tabela os valores preciso saber qual o tipo de cada um valor da array variant.
Como posso fazer isto, estou usando o componente TADOQuery e passando por parametro ele não identifica automáticamente o tipo do valor que to passando no parametro, tenho que definir com um DataType antes.
Obrigado e toda ajuda é bem vinda.
Estou com um problema. Em uma função é passado como paramentro 2 arrays, uma do tipo string para o nome dos campos e outra do tipo Variant para os valores dos campos, so que quando eu vou gravar na tabela os valores preciso saber qual o tipo de cada um valor da array variant.
Como posso fazer isto, estou usando o componente TADOQuery e passando por parametro ele não identifica automáticamente o tipo do valor que to passando no parametro, tenho que definir com um DataType antes.
Obrigado e toda ajuda é bem vinda.
Garoto Programa
Curtir tópico
+ 0
Responder
Posts
14/01/2009
Johnny-walker
vc terá de usar RTTI para isto, de uma olhada na vcl na definição de variant...
Acredito tb que vc precisará de TypeInfo para retornar as informações...
achei alguma informaçõa que poderá te dar uma luz...
http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm
se quiser obter mais informações de uma procurada no google com as seguintes palavras chaves delphi ´delphi return variant type RTTI´
bye
Acredito tb que vc precisará de TypeInfo para retornar as informações...
achei alguma informaçõa que poderá te dar uma luz...
http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm
se quiser obter mais informações de uma procurada no google com as seguintes palavras chaves delphi ´delphi return variant type RTTI´
bye
Responder
Gostei + 0
21/01/2009
Fabriciocolombo
uses a função VarType da Unit Variants. Exemplo:
var AValue: Variant; begin case VarType(AValue) of varInteger: (...); varDouble: (...); varDate: (...); varNull: (...); end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)