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

28/09/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.


Respostas

28/09/2004

Lucas Silva

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


tipo:

for i:= to Length(texto) do
  if texto[i&93; in &91;´a´..´z´&93; then
      .....


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


Responder Citar

28/09/2004

S

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


Responder Citar

28/09/2004

Lucas Silva

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!


Responder Citar

28/09/2004

Beppe

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:
Reg.WriteInteger(..., UmInteiro, ...)
Reg.WriteString(..., UmaString, ...)



Responder Citar

28/09/2004

Dedi

//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


Responder Citar

28/09/2004

Aroldo Zanela

Colega,

Veja [b:0819165a64]VarType [/b:0819165a64]no Help.


Responder Citar

06/10/2004

Wmcaetani

:? 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?


Responder Citar

06/10/2004

Aroldo Zanela

:? 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 [b:44fd36694d][color=red:44fd36694d]Variants [/color:44fd36694d][/b:44fd36694d]e para isso o Delphi possui a função [b:44fd36694d]VarType[/b:44fd36694d].


Responder Citar

23/08/2016

Gustavo Reis

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
Responder Citar

23/08/2016

P2

Não precisa tratar somente se for inteiro ?
Responder Citar