Array
(
)

Como descobrir o tipo de uma variável???

S
   - 28 set 2004

Preciso saber o tipo da variável antes de gravá-la no registro.
Por exemplo:
Se o valor da variável for String eu tenho que usar WriteString...

Alguém sabe como fazer isso?

Obrigado.


Lucas Silva
   - 28 set 2004

Você pode fazer um for percorrendo todas as posições da String....
se só tiver letras você coloca ela como String;....


tipo:

#Código

for i:= to Length(texto) do
if texto[i] in [´a´..´z´] then
.....


Na verdade eu acho que você poderia jogar String pra todas as variáveis, iria ficar bem mais fácil pra você.


S
   - 28 set 2004

Eu sei que existe um outro método que vi a muito tempo mas não lembro mais....mesmo assim muito obrigado.


Lucas Silva
   - 28 set 2004


Citação:
Eu sei que existe um outro método que vi a muito tempo mas não lembro mais....mesmo assim muito obrigado.

Realmente nunca vi este método...

Já vi para descobrir o tipo de campo do banco de dados!


Beppe
   - 28 set 2004

O tipo (exato) das váriaveis normalmente é conhecido em tempo de escrita do programa. Quando quiser escrever uma variavel no registro, vc tb saberá qual será a função.

Digamos que vc tenha as variaveis UmInteiro e UmaString:
#Código

Reg.WriteInteger(..., UmInteiro, ...)
Reg.WriteString(..., UmaString, ...)



Dedi
   - 28 set 2004

#Código

//580 - Retorna que tipo de variavel é
function Tform1.GetVariantType(const v: variant): string;
begin
case TVarData(v).vType of
varEmpty: result := ´Empty´;
varNull: result := ´Null´;
varSmallInt: result := ´SmallInt´;
varInteger: result := ´Integer´;
varSingle: result := ´Single´;
varDouble: result := ´Double´;
varCurrency: result := ´Currency´;
varDate: result := ´Date´;
varOleStr: result := ´OleStr´;
varDispatch: result := ´Dispatch´;
varError: result := ´Error´;
varBoolean: result := ´Boolean´;
varVariant: result := ´Variant´;
varUnknown: result := ´Unknown´;
varByte: result := ´Byte´;
varString: result := ´String´;
varTypeMask: result := ´TypeMask´;
varArray: result := ´Array´;
varByRef: result := ´ByRef´;
end;
end;


credito: 800 dicas


Aroldo Zanela
   - 28 set 2004

Colega,

Veja VarType no Help.


Wmcaetani
   - 06 out 2004

:? Desculpe-me a minha ignorancia mas, - Se foi você mesmo quem fez o programa, pra que precisa saber o tipo da variave? Você se esueceu dos tipos e nomes das variaveis?


Aroldo Zanela
   - 06 out 2004


Citação:
:? Desculpe-me a minha ignorancia mas, - Se foi você mesmo quem fez o programa, pra que precisa saber o tipo da variave? Você se esueceu dos tipos e nomes das variaveis?

Colega,

Com certeza ele está se referindo a tipos Variants e para isso o Delphi possui a função VarType.


Gustavo Reis
   - 23 ago 2016

Mas há ocasiões por exemplo, aconteceu comigo, utilizo um template para desenvolvimento web, e preciso saber o tipo de retorno, mas na documentação não explicita isto! E há outras ocasiões também necessárias

P2
   - 23 ago 2016

Não precisa tratar somente se for inteiro ?