jaumDoDelphi Postado Setembro 8, 2010 Denunciar Share Postado Setembro 8, 2010 (editado) 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 TEditpara receber somente 1 Caracterp/ex. 4444,45 ou rrrr,yyyyOque 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 serutilizada varias vezes!se alguém souber como resolver este problema eu agradeço! :) Editado Setembro 9, 2010 por jaumDoDelphi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Setembro 9, 2010 Denunciar Share Postado Setembro 9, 2010 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 TEditpara receber somente 1 Caracterp/ex. 4444,45 ou rrrr,yyyyOque 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 serutilizada 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jaumDoDelphi Postado Setembro 9, 2010 Autor Denunciar Share Postado Setembro 9, 2010 muito Obrigado robinhocne, pelo codigo!mas esta dando erro neste na linha! do "if length(edit1.text) = ',' then"abaixo o codigo completoprocedure 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! ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 9, 2010 Denunciar Share Postado Setembro 9, 2010 Gostaria de saber se há uma forma de Limitar um TDBEdit ou um TEditpara receber somente 1 Caracterp/ex. 4444,45 ou rrrr,yyyyé bem simplesprocedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key = ',') and (pos(',',Edit1.Text) > 0) then key := #0; end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jaumDoDelphi Postado Setembro 9, 2010 Autor Denunciar Share Postado Setembro 9, 2010 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 abaixop.ex = Rua Jose da Cunha Martines n 550; fundose 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jaumDoDelphi
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 jaumDoDelphiLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.