Problemas em capturar valor de MaskEdit.
11/02/2006
0
Um aparte do codigo que tenho é assim:
ModuloDados.CDS_TabClientes.FieldByName(´RG´).AsInteger:=StrToInt(MaskEdit2.Text);
ModuloDados.CDS_TabClientes.FieldByName(´CPF´).AsInteger:=StrToInt(MaskEdit3.text);
Isso e no botão Inserir.
Project Sistema.exe raised exception class EConvertError whit message
´33.456.789-0´ is not a valid integer value.´ Process stopped. Use Step or Run to continue.
O EditMask esta formatado com a mascara correspondente acima, sei que o erro e na conversão, mas não sei como resolver! :oops:
Alguem pode me ajudar???
Marcelo_j.
Posts
11/02/2006
Marco Salles
como voce a definiu ???
11/02/2006
Marcelo_j.
Obrigado.
11/02/2006
Leandroaoa
troque os asinteger por asstring;
verifique na sua tabela o tipo deste campos ok
ModuloDados.CDS_TabClientes.FieldByName(´RG´).AsString:=MaskEdit2.Text;
ModuloDados.CDS_TabClientes.FieldByName(´CPF´).AsString:=MaskEdit3.text;
11/02/2006
Marcelo_j.
:lol: Mas colega na minha tabela o campo Rg é Integer, o Campo Cpf é Integer e tenho um campo como datanascimento que é Date.
No campo data do nascimento esta asim: :roll:
ModuloDados.TabCadClientes.FildByName(´DataNascimento´).AsDate:=StrToDateTime(MaskEdit*.text);
este não da o problema de conversão.
Sou novato, e aprendi que toda entrada que o usuário digita no edit e STRING... ou aprendi errado? :oops:
Obrigado pela atenção.
11/02/2006
Marco Salles
Ao colocar o Final Zero na mascar do MaskEdit o Valor de MaskEditText sera 334567890 que pode ser transformado em um inteiro atraves da função do StrtoInt(MaskEdit1.text)
eu recomendaria isto
EditMask = 00.000.000-0;0;_ do MaskEditRG, e na propriedade EditMask do MaskEditCPF=!000.000.000-00;0;_.
11/02/2006
Marco Salles
[b:9bc4b67dbe]se quiser fazer como o LeandroAoa sugeriu , tb vai ter que trocar o final da mascara..De qualquer maneira[/b:9bc4b67dbe]
ModuloDados.CDS_TabClientes.FieldByName(´RG´).AsString:=MaskEdit2.Text; //
no seu caso funciona se MaskEdit não conter literais.. etc...
aparentemente se esta trabalhando com string , mas na hora de validar o valor do campo ele ira dar erro se maskEdit1.text , não puder ser convertido...
Enfim , tem-se duas opçoes
ModuloDados.CDS_TabClientes.FieldByName(´RG´).AsString:=MaskEdit2.Text; ModuloDados.CDS_TabClientes.FieldByName(´RG´).Asinteger:=strtoint(MaskEdit2.Text);
Clique aqui para fazer login e interagir na Comunidade :)