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

(Resolvido) Limitar DBEdit para 1 Caractere


jaumDoDelphi

Pergunta

Ola Amigos! venho aqui mais uma vez pedir ajuda!

Estive fora um tempo e agora voltei!

Gostaria de saber se há uma forma de Limitar um TDBEdit ou um TEdit

para receber somente 1 Caracter

p/ex. 4444,45 ou rrrr,yyyy

Oque Estou querendo é que neste campo apenas seja utilizado a virgula 1 vez!

n podendo escrevela varias vezes.

4,4,4,4,444 ou e,r,t,e,r,!

Consigo limitala para aprecer somente a virgula mas o problema que ela pode ser

utilizada varias vezes!

se alguém souber como resolver este problema eu agradeço! :)

Editado por jaumDoDelphi
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Ola Amigos! venho aqui mais uma vez pedir ajuda!

Estive fora um tempo e agora voltei!

Gostaria de saber se há uma forma de Limitar um TDBEdit ou um TEdit

para receber somente 1 Caracter

p/ex. 4444,45 ou rrrr,yyyy

Oque Estou querendo é que neste campo apenas seja utilizado a virgula 1 vez!

n podendo escrevela varias vezes.

4,4,4,4,444 ou e,r,t,e,r,!

Consigo limitala para aprecer somente a virgula mas o problema que ela pode ser

utilizada varias vezes!

se alguém souber como resolver este problema eu agradeço! :)

no onchange do TDBEdit ou TEdit faz uma varredura se já tiver não deixa digitar....

var  Acumulavirgulas : integer;

   Acumulavirgulas := 0;
   if Acumulavirgulas < 1 then
     begin

       if Length(Edit1.text) = ',' then
         begin
           Acumulavirgulas := 1;
         end;

     end
     else
    begin

        ShowMessage('Campo só pode conter 1 (uma) virgula !');
      
    end;

acho que isso já ajuda, fiz aki correndo qualqer coisa se não der fala q eu testo no delphi, estou sem ele agora.....abraços

Link para o comentário
Compartilhar em outros sites

  • 0

muito Obrigado robinhocne, pelo codigo!

mas esta dando erro neste na linha!

do "if length(edit1.text) = ',' then"

abaixo o codigo completo

procedure TForm1.Edit1Change(Sender: TObject);
var
Acumulavirgulas : integer;
begin
   Acumulavirgulas := 0;
   if Acumulavirgulas < 1 then
   begin
     if Length(Edit1.text) = ',' then { Erro em
                                         [DCC Error] Unit1.pas(33): E2008 Incompatible types}
     begin
      Acumulavirgulas := 1;
     end
   end
   else
   begin
        ShowMessage('Campo só pode conter 1 (uma) virgula !');
   end;
end;

obrigado e aguardando! ;)

Link para o comentário
Compartilhar em outros sites

  • 0
Gostaria de saber se há uma forma de Limitar um TDBEdit ou um TEdit

para receber somente 1 Caracter

p/ex. 4444,45 ou rrrr,yyyy

é bem simples

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if (key = ',') and (pos(',',Edit1.Text) > 0)  then
      key := #0;
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Perfeito Jhonas, funcionou!

Somente 1 virgula por campo no meu TEdit e TDBEdit!

muito Obrigado!

Agora já aproveitando o Assunto.

Estava querendo fazer um teste antes de Salvar um registro!

o campo já foi limitado para n escrever o ";" porque estou utilizando

arquivos "CSV" para exportar o cadastro.

Dai com o codigo que você me passou fiz um pequena alteração e ficou assim!

if (pos(';',Edit1.Text)>0) then
  Begin
  ShowMessage('Edit1 ERROR');
  Edit1.SetFocus;
  End;

Porque quando utilizo o (ctrl+c) para copiar o endereço abaixo

p.ex = Rua Jose da Cunha Martines n 550; fundos

e Depois vou colar com (ctrl+v) ele cola o texto que contem o ";".

Mas com esta grande ajuda agora no Botao Gravar ele faz um checagem rapida e simples!

que ajuda completamente o programa a ter menos falhas! :D

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...