Ir para conteúdo

POWERED BY:

Arquivado

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

Jorge_S

[Resolvido] Procurar Numeros no Memo

Recommended Posts

Bom gente , eu estou fazendo um programa para consultar os numeros , e depositar os numeros.

 

 

no arquivo tem

 

0001 (29/09/2003) 02 03 05 06 09 10 11 13 14 16 18 20 23 24 25

 

Numero do jogo , Data do jogo , eos numeros.

 

Como eu posso fazer para ele procurar os numeros tipo de um bloco de notas.

 

Eu ja procurei tentei fazer de varios modos e ele nao procura os numeros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara, tem que ver como será organizada sua pesquia.

vamos dizer que você queira localizar o número 10 nesta linha, desconsiderando a data e número do jogo. Você pode usar a função Pos que retorna a posição do texto procurado:

  Posicao := Pos(' 10 ', Memo1.Lines.String[0]);

Observe que eu inseri um espaço antes e depois do número 10, isto é para garantir que ele não venha a localizar este 10 em situações como 00032310000.

 

Você pode também criar um loop que percorra caractere por caractere comparando o termo procurado.

 

Como disse, dependende de como será organizada sua pesquisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer sozinho aqui vou postar oque eu fiz :

 

Coloca um FindDialog (paleta dialogs)

 

em Private

você declara

FSelPos : integer;

 

Vai no Evento

OnFind

do TFindDialog

e coloca o code :

 

var
 S : string;
 startpos : integer;
begin
 with TFindDialog(Sender) do
 begin
   if FSelPos = 0 then
     Options := Options - [frFindNext];
   if frfindNext in Options then
   begin
     StartPos := FSelPos + Length(Findtext);
     S := Copy(Memo1.Lines.Text, StartPos, MaxInt);
   end
   else
   begin
     S := Memo1.Lines.Text;
     StartPos := 1;
   end;
   FSelPos := Pos(FindText, S);
   if FSelPos > 0 then
   begin
     FSelPos := FSelPos + StartPos - 1;
     Memo1.SelStart := FSelPos - 1;
     Memo1.SelLength := Length(FindText);
     Memo1.SetFocus;
   end
   else
   begin
     if frfindNext in Options then
       S := Concat('Não há nehuma ocorrência para "', FindText,
         '" no memo..')
     else
       S := Concat('Não foi possível achar: ',findtext);
     MessageDlg(S, mtError, [mbOK], 0);
   end;
 end;
end;

ai tu coloca
no Button

FSelPos := 0;
FindDialog1.Execute;

 

Creditos : Mr.Guri

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.