Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) verificar qtd de caracteres no onexit de um edit


claudyo

Pergunta

È o seguinte, tenho um formulario de cadastro de clientes, e estou com um probleminha com um edit onde o usuario vai digitar o tel do cliente, esse é o campo mais importante já q as consultas vao ser feitas em cima dele, então esse campo não pode ter erros tipo qtd de caracteres não pode exceder tenho uma funçao pra formata esse tem da seguinte forma 9999-9999 ignorando codigo de area, keria saber como faço pro usuario não conseguir gravar no BD se esse campo tiver mais ou menos caracteres segue o codigo

function Tfrmcadastro.valida_mascara_tel(var key: char;
  sender: TObject): string;
begin
     if not (key in ['0'..'9',#8,#13]) then key:=#0;
     if key <> #8 then
      begin
      if key <> #13 then
      if Length(TEdit(sender).Text)=8 then
      edtend.SetFocus;
      case Length (TEdit(sender).Text)of
      4:begin
      if not (key in ['0'..'9']) then key:=#0;
      TEdit(sender).text := TEdit(sender).Text + '-';
      TEdit(sender).selStart := Length (TEdit(sender).Text);
      end;
      end;

      end;
     end;
essa funçao colokey no onkeypress do edit em questao
procedure Tfrmcadastro.edtTelExit(Sender: TObject);
begin
     if length (edttel.Text) <> 8 then
     Application.MessageBox('Telefone Invalido','Aviso',mb_iconinformation+mb_okcancel);
     edttel.SetFocus;
     if length (edttel.Text)=8 then
     edtEnd.SetFocus;
end;

essa ta no onexit, keria saber onde to errando. Se alguém puder me ajudar eu agradeço

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Na propriedade MaxLength do TEdit voce pode limitar o tamanho caracteres

essa ta no onexit, keria saber onde to errando. Se alguém puder me ajudar eu agradeço

procedure Tfrmcadastro.edtTelExit(Sender: TObject);

begin

if length (edttel.Text) <> 8 then

Application.MessageBox('Telefone Invalido','Aviso',mb_iconinformation+mb_okcancel);

edttel.SetFocus;

if length (edttel.Text)=8 then

edtEnd.SetFocus;

end;

faça esta modificação

procedure Tfrmcadastro.edtTelExit(Sender: TObject);
begin
     if length (trim(edttel.Text)) > 8 then
         begin
              Application.MessageBox('Telefone Invalido','Aviso',mb_iconinformation+mb_okcancel);
              edttel.SetFocus;
              edttel.selectAll;
         end;

end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Na propriedade MaxLength do TEdit voce pode limitar o tamanho caracteres

essa ta no onexit, keria saber onde to errando. Se alguém puder me ajudar eu agradeço

procedure Tfrmcadastro.edtTelExit(Sender: TObject);

begin

if length (edttel.Text) <> 8 then

Application.MessageBox('Telefone Invalido','Aviso',mb_iconinformation+mb_okcancel);

edttel.SetFocus;

if length (edttel.Text)=8 then

edtEnd.SetFocus;

end;

faça esta modificação

procedure Tfrmcadastro.edtTelExit(Sender: TObject);
begin
     if length (trim(edttel.Text)) > 8 then
         begin
              Application.MessageBox('Telefone Invalido','Aviso',mb_iconinformation+mb_okcancel);
              edttel.SetFocus;
              edttel.selectAll;
         end;

end;

abraço

muito obrigado pela ajuda Jhonas ,funcionou beleza fico grato

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...