Mascara de Entrada - Delphi

Delphi

30/10/2015

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

Curtidas 0

Respostas

Raimundo Pereira

Raimundo Pereira

30/10/2015

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;
GOSTEI 0
Daniel

Daniel

30/10/2015

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

Raimundo Pereira

30/10/2015

Pode Sim
GOSTEI 0
Daniel

Daniel

30/10/2015

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;



GOSTEI 0
Raimundo Pereira

Raimundo Pereira

30/10/2015

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
GOSTEI 0
POSTAR