Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vitor Linares

Pesquisa em String

Recommended Posts

Salve galera do imasters,seguinte, eu gostaria de saber se existe uma forma de verificar se um determinado caracter(por exemplo ',') já foi inserido em um TEdit.Ou então queria saber se existi uma função que retorne quantas vezes um determinado caractere foi inserido em um EditAgradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve galera do imasters,

 

seguinte, eu gostaria de saber se existe uma forma de verificar se um determinado caracter(por exemplo ',') já foi inserido em um TEdit.

 

Ou então queria saber se existi uma função que retorne quantas vezes um determinado caractere foi inserido em um Edit

 

Agradeço desde já

faça algo assim:

procedure prcVerifStr(cChar : Char);var   i	 : Integer;   iQtd  : Integer;   sEdit : String;begin	 iQtd  := 0;	 sEdit := Edit1.Text;	 for i:=0 to Length(Edit1.Text) do	 begin		  if Pos(sEdit, cChar) > 0 then		  begin			   Inc(iQtd);		   Delete(sEdit, 0, Pos(sEdit, cChar));		  end;	 end;	 ShowMessage('Quantidade de vezes que '+ QuotedStr(cChar) + 				 'aparece no edit1 é: '	+ IntToStr(iQtd));end;

só tem um problema... neste computador que estou não tem o delphi.... então pode ser que tenha algum problema de sintaxe :D mas é mais ou menos isso... Tu pega a string que tu quer e com a função Pos, que retorna onde esta o caracter na string que foi passada, ai tu incrementa o contador e depois apaga pra verifica novamente na string....

 

não sei se fui claro... qualquer duvida posta ai, e se funcionar tb :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai tu ve onde fica melhor pra ti e que atenda teu programa...se tu quer deixar digitar somente um "A" por exemplo pode testar no keypressed ou entao quando sair do edit ele verificar e ai tu seta o foco no edit e gera uma exceção... mas como eu falei... tem que ver se atente as necessidades desse formulário;....

Compartilhar este post


Link para o post
Compartilhar em outros sites

LODVinieu tentei fazer uma adaptação nesse procedure, para que ela limitasse a inserção de virgulas em um edit, só que advinha.. rs...não funcionou... rs...eu consegui fazer com que a não haja inserção consecutiva da virgula, mas não consegui limitar para inserir uma única virgula.tipo esse aplicativo é uma calculadora, que eu estou fazendo pro curso técnico que eu estou cursando... to tentando fazer na raça mesmo pra aprender direito... se voce souber de algum procedure, ou alguma function que limite o campo a uma única virgula posta ai por favor...eu to em otro pc... mas daqui a poko posto o meu codeobrigado..

Compartilhar este post


Link para o post
Compartilhar em outros sites

para restringir deve fazer um "Abort". Segue o exemplo na forma que acho que tu está utilizando:

var  Form1: TForm1;  iQtd : Integer;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin  iQtd := 0;end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);var   cChar : Char;begin	 cChar := ',';	 if Key = cChar then	 begin		  Inc(iQtd);		  if iQtd > 1 then		  begin			   ShowMessage('Impossivel adicionar '+ QuotedStr(cChar) +'. Permitido somente um!');			   Abort;			   Key := #10;		  end	 end;end;end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.