Localizar Memo
[b:d65b7d4f67]Galera eu consegui fazer um busca em um memo usando o Finddialog
So q o meu código n ta 100¬, nem todas as funções do finddialog estão funcionando..
Eu queria fazer uma busca por palavras como se tivesse utilizando o finddialog...
Ex.: Eu digitei a palavra Teste em um Edit o codigo procuraria a palavra teste dentro do memo e selecionaria ela.
E eu tb estou tendo dificuldade em fazer um código pra subistituir em um memo a primeira palavra depois do cursor.
Se alguem poder me ajudar com uma dessa duas coisas eu agradeço Muito muito muito....[/b:d65b7d4f67]
So q o meu código n ta 100¬, nem todas as funções do finddialog estão funcionando..
Eu queria fazer uma busca por palavras como se tivesse utilizando o finddialog...
Ex.: Eu digitei a palavra Teste em um Edit o codigo procuraria a palavra teste dentro do memo e selecionaria ela.
E eu tb estou tendo dificuldade em fazer um código pra subistituir em um memo a primeira palavra depois do cursor.
Se alguem poder me ajudar com uma dessa duas coisas eu agradeço Muito muito muito....[/b:d65b7d4f67]
Mortify
Curtidas 0
Respostas
Dbergkamps10
02/05/2008
Olá,
Veja aqui: http://forum.devmedia.com.br/viewtopic.php?t=79829&highlight=memo
PS.: Antes de postar um novo tópico, use o botão pesquisar. Muitas dúvidas estão resolvidas lá.
Att
Dalton
Veja aqui: http://forum.devmedia.com.br/viewtopic.php?t=79829&highlight=memo
PS.: Antes de postar um novo tópico, use o botão pesquisar. Muitas dúvidas estão resolvidas lá.
Att
Dalton
GOSTEI 0
Mortify
02/05/2008
[b:b90a69c18a]Cara o meu caso n é esse
Eu já havia visto este post e tentando edita-lo para ele ficar do jeito q eu kero mais n obtive sucesso
O q eu quero é q ele busque a palvra que esta no Edit somente uma vez
Se ele encontrar ele Seleciona o texto no memo.
no exemplo acima ele exibe uma mensagem perguntando se o cara quer continuar a busca. Eu queria q ele so buscasse a proxima palavra se o cara clicasse novamente no botão.[/b:b90a69c18a]
[color=red:b90a69c18a][size=18:b90a69c18a]Aguardo resposta
Se alguem souber como fazer!!![/size:b90a69c18a][/color:b90a69c18a]
Eu já havia visto este post e tentando edita-lo para ele ficar do jeito q eu kero mais n obtive sucesso
O q eu quero é q ele busque a palvra que esta no Edit somente uma vez
Se ele encontrar ele Seleciona o texto no memo.
no exemplo acima ele exibe uma mensagem perguntando se o cara quer continuar a busca. Eu queria q ele so buscasse a proxima palavra se o cara clicasse novamente no botão.[/b:b90a69c18a]
[color=red:b90a69c18a][size=18:b90a69c18a]Aguardo resposta
Se alguem souber como fazer!!![/size:b90a69c18a][/color:b90a69c18a]
GOSTEI 0
Marco Salles
02/05/2008
talves isto seje útil para você
procedure TForm1.Button1Click(Sender: TObject); var posicao,i,coluna,linha:integer; begin posicao:=0; Linha:=memo1.Lines.Count; for i:=0 To Linha-1 do begin memo1.Lines.Strings[i]:=Trim(memo1.Lines.Strings[i]); Coluna:=Pos(edit1.Text,memo1.Lines.Strings[i]); While Coluna > 0 DO begin posicao:=posicao+coluna-1; memo1.SetFocus; memo1.SelStart:=posicao; memo1.SelLength:=length(edit1.Text); abort; end; posicao:=posicao+length(memo1.Lines.Strings[i])+2; end; end;
GOSTEI 0
Marco Salles
02/05/2008
Voce tb Pode tentar fazendo assim :
P:S .. ambos os códigos tanto o último quanto o anterior são CaseSensitivéis
procedure TForm1.Button1Click(Sender: TObject); var lista:TstringList; posicao:integer; begin try lista:=TstringList.Create; lista.AddStrings(memo1.Lines); posicao:=pos(edit1.Text,lista.Text); if posicao > 0 Then begin Memo2.Lines.Add(inttostr(posicao)); memo1.SetFocus; memo1.SelStart:=posicao-1; memo1.SelLength:=length(edit1.Text); end else showmessage(´Aviso : Palavra ou Texto Não Localizado´) finally lista.Free; end; end;
P:S .. ambos os códigos tanto o último quanto o anterior são CaseSensitivéis
GOSTEI 0
Mortify
02/05/2008
[b:9e6da8dbf2]Isso dai eu ja havia conseguido fazer
Nesses 2 casos ele so faz a busca uma única vez
Eu preciso que ao clicar no botão na segunda vez ele selecione a segunda palavra do memo
[/b:9e6da8dbf2]
Por exemplo:
[b:9e6da8dbf2]Na primeira vez q eu clicasse no botão ele selecionaria a palvara Teste q tem o número 1 na frente, na segunda vez a palavra Teste2 e na terceira Teste3 e assim sucessivamente até q ele n encontre mais nehuma palavra Teste no texto (nesse caso ele exibiria a mensagem q não foi possivel encontra mais nenhuma palavra).
Obirgado por tentar ^^[/b:9e6da8dbf2]
Nesses 2 casos ele so faz a busca uma única vez
Eu preciso que ao clicar no botão na segunda vez ele selecione a segunda palavra do memo
[/b:9e6da8dbf2]
Por exemplo:
asdfaskjdflk
aksdjfkasjd
Teste1
kljasdfkjalsdf
Teste2
askldjflkajsdlfkjaklsdjf
askdfjklasjdklfjkTeste3
[b:9e6da8dbf2]Na primeira vez q eu clicasse no botão ele selecionaria a palvara Teste q tem o número 1 na frente, na segunda vez a palavra Teste2 e na terceira Teste3 e assim sucessivamente até q ele n encontre mais nehuma palavra Teste no texto (nesse caso ele exibiria a mensagem q não foi possivel encontra mais nenhuma palavra).
Obirgado por tentar ^^[/b:9e6da8dbf2]
GOSTEI 0
Marco Salles
02/05/2008
interpretação faz parte de qualquer codigo
voce disse claramente :
[b:7a6415d38d]citação de Mortify[/b:7a6415d38d]
voce disse claramente :
[b:7a6415d38d]citação de Mortify[/b:7a6415d38d]
O q eu quero é q ele busque a palvra que esta no Edit [b:7a6415d38d]somente uma vez[/b:7a6415d38d]
GOSTEI 0
Mortify
02/05/2008
IxiI
Me espressei mal da primeira vez
Desculpa ai vei
O q eu queria ter dito era q eu queria q ele buscasse o texto somente uma vez para cada clique
É q no seu outro código ele fazia as buscas seguidamente..
Te AMUUU
Já tem até seus creditos no meu programa na parte de agradecimentos (colokei o link do seu perfil daki).
Desculpa ai por ter feito vc perder seu tempo
[color=red:09c5382018][b:09c5382018]NUNCA MAIS POSTO NADA COM SONO ^^[/b:09c5382018][/color:09c5382018]
Me espressei mal da primeira vez
Desculpa ai vei
O q eu queria ter dito era q eu queria q ele buscasse o texto somente uma vez para cada clique
É q no seu outro código ele fazia as buscas seguidamente..
Te AMUUU
Já tem até seus creditos no meu programa na parte de agradecimentos (colokei o link do seu perfil daki).
Desculpa ai por ter feito vc perder seu tempo
[color=red:09c5382018][b:09c5382018]NUNCA MAIS POSTO NADA COM SONO ^^[/b:09c5382018][/color:09c5382018]
GOSTEI 0
Marco Salles
02/05/2008
[b:a37ba21edc]citação de Marco Salles[/b:a37ba21edc]
[b:a37ba21edc]citação de Mortify [/b:a37ba21edc]
bem eu acho que o grau de dificuldade é fazer o primeiro codigo é bem maior que o segundo.. pois usa uma propriedade SelLength pouco difundida ... Para Continuar a pesquisa ao clicar no Botão é so fazer uma
pequena modificação no codigo
[b:a37ba21edc]A variavel posicao não pode ser local e usar PosEx ao Inves de Pos[/b:a37ba21edc]
interpretação faz parte de qualquer codigo
voce disse claramente :
[b:a37ba21edc]citação de Mortify [/b:a37ba21edc]
[quote:a37ba21edc]O q eu quero é q ele busque a palvra que esta no Edit somente uma vez
[/quote:a37ba21edc][b:a37ba21edc]citação de Mortify [/b:a37ba21edc]
Isso dai eu ja havia conseguido fazer
Nesses 2 casos ele so faz a busca uma única vez
bem eu acho que o grau de dificuldade é fazer o primeiro codigo é bem maior que o segundo.. pois usa uma propriedade SelLength pouco difundida ... Para Continuar a pesquisa ao clicar no Botão é so fazer uma
pequena modificação no codigo
[b:a37ba21edc]A variavel posicao não pode ser local e usar PosEx ao Inves de Pos[/b:a37ba21edc]
var posicao:integer;
procedure TForm1.Button1Click(Sender: TObject); var lista:TstringList; begin try lista:=TstringList.Create; lista.AddStrings(memo1.Lines); posicao:=PosEx(edit1.Text,lista.Text,posicao+1); if posicao > 0 then begin memo1.SetFocus; memo1.SelStart:=posicao-1; memo1.SelLength:=length(edit1.Text); end; finally lista.Free; end; end;
procedure TForm1.Edit1Change(Sender: TObject); begin posicao:=0; end;
GOSTEI 0
Marco Salles
02/05/2008
IxiI
Me espressei mal da primeira vez
Desculpa ai vei
Tudo bem ... Espero que o Ultimo post te atenda ... Mas voce pode tb fazer a memsa coisa nun único clique do Botão . e o Sistema perguntar se que continuar a Busca... Emfim , são muitas as possibilidades
espero ter ajudado...
GOSTEI 0
Mortify
02/05/2008
Era isso mesmo q eu queria
Brigadão vei ^^
Brigadão vei ^^
GOSTEI 0