Array
(
)

Validar dados introduzidos numa InputBox

Nilpedro
   - 03 jan 2006

Oi pessoal,


Queria validar os dados introduzidos na InputBox, mas como estou fazendo no exemplo seguinte só aceita integer. Que devo alterar para aceitar float ?

CODIGO:

repeat
InputString := InputBox(´Quantidade ´, ´Valor:´,´.´);
val(InputString, I, Code);
if Code <> 0 then
bsSkinMessage1.MessageDlg2 (´Tem que ser numero.´, ´Atenção.´, mtInformation, [mbOk], 0);
until (Code = 0);


Agradeci a ajuda :wink:


Caninha51
   - 03 jan 2006

#Código


var
InputString: String;
Code: Double;
IsFloat: Boolean;
begin
repeat
InputString := InputBox(´Quantidade ´, ´Valor:´,´.´);
IsFloat := TryStrToFloat(InputString,Code);
if not IsFloat then
bsSkinMessage1.MessageDlg2 (´Tem que ser numero.´, ´Atenção.´, mtInformation, [mbOk], 0);
until IsFloat;
end;



Nilpedro
   - 04 jan 2006

Mas a função TryStrToFloat só existe no Delphi 6, e eu estou trabalhar Delphi 5


Nilpedro
   - 04 jan 2006

Consegui

No caso Delphi 5 Fiz assim:


repeat
InputString := InputBox(´Quantidade ´, ´Valor:´,´´);
IsFloat:=true;
try
Code := StrToFloat(InputString);
except
on EConvertError do IsFloat:=false;
end;
if not IsFloat then
bsSkinMessage1.MessageDlg2 (´Tem que ser numero.´, ´Atenção.´, mtInformation, [mbOk], 0);
until IsFloat;

valeu a ajuda :wink: