Fórum Mascara de Entrada - Delphi #536115

30/10/2015

0

Boa noite, gostaria de saber como verificar campo vazio (telefone), num campo com máscara de entrada definida pelo adotable, field editor, na propriedade editmask
Daniel

Daniel

Responder

Posts

31/10/2015

Raimundo Pereira

Implemente - Em sua rotina


var cont:string;
begin
cont:='';
cont:=MaskEdit1.Text;
cont:=StringReplace(cont,'(','', [rfReplaceAll, rfIgnoreCase]);
cont:=StringReplace(cont,')','', [rfReplaceAll, rfIgnoreCase]);
cont:=StringReplace(cont,'-','', [rfReplaceAll, rfIgnoreCase]);
cont:=StringReplace(cont,' ','', [rfReplaceAll, rfIgnoreCase]);

if cont='' then
begin
showmessage('Verifique o telefone');
end
else
begin
showmessage('Validado');
end;


end;
Responder

Gostei + 0

31/10/2015

Daniel

opa, obrigado, já já irei testar, sendo que eu uso "DbEdit", e não EditMask, pode ser adaptada para esta rotina sem problemas?
Responder

Gostei + 0

31/10/2015

Raimundo Pereira

Pode Sim
Responder

Gostei + 0

31/10/2015

Daniel

Cara, ainda está passando pelo meu if e salvando com o campo vazio...
var
mascara string;
begin
mascara := '';
mascara := DBEdtTelefonePrincipal.Text;

mascara:=StringReplace(mascara,'(','', [rfReplaceAll, rfIgnoreCase]);
mascara:=StringReplace(mascara,')','', [rfReplaceAll, rfIgnoreCase]);
mascara:=StringReplace(mascara,'-','', [rfReplaceAll, rfIgnoreCase]);
mascara:=StringReplace(mascara,' ','', [rfReplaceAll, rfIgnoreCase]);

if DBCBPeriodoDeReceb.Text = '' then
 begin
 ShowMessage ('Preencha o campo periodo de recebimento do funcionário');
 cont := 1;
 DBCBperiodoDeReceb.SetFocus;
 end else
if mascara='' then
begin
showmessage('Verifique o telefone');
end else
 if (DBEdtTelefone2.Text = '') and (DBEdtTelefonePrincipal.Text <> '') then
 begin
Dmdados.QFuncionarios.FieldByName('Telefone2').Value := 'S/INFORMACAO';
 end else
  if (DBEdtCelular.Text = '') and (DBEdtTelefonePrincipal.Text <> '') then
 begin
 DmDados.QFuncionarios.FieldByName('Celular').Value := '000000000';
 end;



Responder

Gostei + 0

03/11/2015

Raimundo Pereira

mascara string;
begin
mascara := '';
mascara := DBEdtTelefonePrincipal.Text;

mascara:=StringReplace(mascara,'(','', [rfReplaceAll, rfIgnoreCase]);
mascara:=StringReplace(mascara,')','', [rfReplaceAll, rfIgnoreCase]);
mascara:=StringReplace(mascara,'-','', [rfReplaceAll, rfIgnoreCase]);
mascara:=StringReplace(mascara,' ','', [rfReplaceAll, rfIgnoreCase]);

Se o processo acima preenche e prepara a mascara então seu if deve ser sobre a mascara

//if DBCBPeriodoDeReceb.Text = '' then

assim:
if mascara ='' then

Tenta ai
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar