Como descobrir o tipo de uma variável???
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.
Por exemplo:
Se o valor da variável for String eu tenho que usar WriteString...
Alguém sabe como fazer isso?
Obrigado.

S
Curtidas 0
Respostas

Lucas Silva
28/09/2004
Você pode fazer um for percorrendo todas as posições da String....
se só tiver letras você coloca ela como String;....
tipo:
Na verdade eu acho que você poderia jogar String pra todas as variáveis, iria ficar bem mais fácil pra você.
se só tiver letras você coloca ela como String;....
tipo:
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ê.
GOSTEI 0

S
28/09/2004
Eu sei que existe um outro método que vi a muito tempo mas não lembro mais....mesmo assim muito obrigado.
GOSTEI 0

Lucas Silva
28/09/2004
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!
GOSTEI 0

Beppe
28/09/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:
Digamos que vc tenha as variaveis UmInteiro e UmaString:
Reg.WriteInteger(..., UmInteiro, ...) Reg.WriteString(..., UmaString, ...)
GOSTEI 0

Dedi
28/09/2004
//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
GOSTEI 0

Aroldo Zanela
28/09/2004
Colega,
Veja [b:0819165a64]VarType [/b:0819165a64]no Help.
Veja [b:0819165a64]VarType [/b:0819165a64]no Help.
GOSTEI 0

Wmcaetani
28/09/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?
GOSTEI 0

Aroldo Zanela
28/09/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?
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].
GOSTEI 0

Gustavo Reis
28/09/2004
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
GOSTEI 0

Raimundo Pereira
28/09/2004
Não precisa tratar somente se for inteiro ?
GOSTEI 0