Agenda telefônica. Outline simular um click...

Delphi

14/07/2004

Olá colegas!

tô fazendo uma agenda telefônica + tô c seg prob...

tenho um outline que serve como índice da agenda. Os items do ouline são A, B, C até Z. Quando a pessoa clica na letra a, a query mostra somente os nomes iniciados em A. Até aqui tudo bem.

O problema é que botei um edit para a pessoa buscar um determinado nome e não tô conseguindo fazer o outline simular um clique nele mesmo para ir para a letra certa de acordo com o q foi digitado no edit.

O q fiz até agora: no clique do botão ao lado do edit (que aciona a busca) criei a variável ´let´ que pega a primeira letra digitada no edit. É essa letra que quero usar para achar o índice correspondente no OUTLINE, e não tô conseguindo...

Peço HELP a vcs colegas programadores...


Chrod

Chrod

Curtidas 0

Respostas

Paulo_amorim

Paulo_amorim

14/07/2004

Olá

Tente colocar um título mais explicativo nas mensagens... assim facilita pra todos vermos o erro :wink:

Posta um trecho do código ae pra gente tentar achar o erro...

Em princípio, tenta fazer no OnChange do Edit simular o clique...

Espero que ajude
Até+


GOSTEI 0
Chrod

Chrod

14/07/2004

Olá Tente colocar um título mais explicativo nas mensagens... assim facilita pra todos vermos o erro :wink: Posta um trecho do código ae pra gente tentar achar o erro... Em princípio, tenta fazer no OnChange do Edit simular o clique... Espero que ajude Até+



procedure TFrmLocP.Speedbutton1.click(sender:Tobject);
var let:string;
begin
let:=copy(edit1.text,1,1);
frmprinc.Outline1.... // [color=blue:b0d42feb3b][b:b0d42feb3b]aqui é para o outline ir para o indice correspondente a letra da variável let (NÂO SEI O QUE FAZER...[/b:b0d42feb3b][/color:b0d42feb3b]end;


GOSTEI 0
Paulo_amorim

Paulo_amorim

14/07/2004

procedure TFrmLocP.Speedbutton1.click(sender:Tobject); var let:string; begin let:=copy(edit1.text,1,1); frmprinc.Outline1.... // aqui é para o outline ir para o indice correspondente a letra da variável let (NÂO SEI O QUE FAZER...end;


Olá

Cite o trecho [b:bc628f0817]com dúvida[/b:bc628f0817]! A declaração da variável e a atribuição eu ja tinha entendido...
Pelo menos aquela parte que vc falou que estava funcionando

Até+


GOSTEI 0
Chrod

Chrod

14/07/2004

[quote:15cdfbd231=´Chrod´]procedure TFrmLocP.Speedbutton1.click(sender:Tobject); var let:string; begin let:=copy(edit1.text,1,1); frmprinc.Outline1.... // aqui é para o outline ir para o indice correspondente a letra da variável let (NÂO SEI O QUE FAZER...end;


Olá

Cite o trecho [b:15cdfbd231]com dúvida[/b:15cdfbd231]! A declaração da variável e a atribuição eu ja tinha entendido...
Pelo menos aquela parte que vc falou que estava funcionando

Até+[/quote:15cdfbd231]

==================

OK!

[color=blue:15cdfbd231]Na Sql da Query:[/color:15cdfbd231]
select * from Agenda
where upper(nome) like upper(:nome)
order by nome

[color=blue:15cdfbd231]No Onchange do OutLine:[/color:15cdfbd231]var ind:integer;
begin
ind:=Outline1.SelectedItem;
With Query1 do
Begin
Close;
ParamByName(´nome´).Asstring:=Outline1.Items[ind].Text+´¬´;
Prepare;
Open;
end;

Até aqui dá certo... Quando eu clico na letra A, B ou C a query me mostra só os nomes iniciados com tal letra na grid...

Mas para fazer a busca no EDIT não sei...


GOSTEI 0
Chrod

Chrod

14/07/2004

PRA FICAR MAIS FÁCIL....

O QUE PRECISO É SÓ UM COMANDO QUE ECONTRE EM OUTLINE ou LISTBOX um item igual a letra digitada em um edit.

Exemplo:
no OUTLINE tem os items A, B, C .. Z;
Quando digitar C no edit o Outline tem que ir para o Item correspondente, que seria a letra C...

resolvendo isso já basta...

Obrigado pela paciência de vcs...


GOSTEI 0
POSTAR