Pegar o Tipo de uma Variant
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
Curtidas 0
Respostas
Johnny-walker
09/01/2009
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
GOSTEI 0
Fabriciocolombo
09/01/2009
uses a função VarType da Unit Variants. Exemplo:
var AValue: Variant; begin case VarType(AValue) of varInteger: (...); varDouble: (...); varDate: (...); varNull: (...); end;
GOSTEI 0