Ola Gustavo, Verificou se o listbox esta em minusculo e o banco de dados esta em maisculo, fiz esta mesma jogada de busca em um listbox e ele não localizava o item , entao usei o uppercase no item do listbox e no campo e ele passou a localizar perfeitamente. abaixo esta o comando que utilizei, ele buscava de um listbox para outro, verificando se existia o conteudo do listbox1 no listbox2. Listbox2.Perform( LB_SELECTSTRING,0,LongInt(PChar(ListBox1.Items[i]))); no caso ele posiciona o ponteiro no listbox 2 no item que foi localizado. ai vc faz a conversao para prazer o indice ou o conteudo indice numerico do listbox ListBox2.ItemIndex - retornara a posicao do item no listbox como se vc tivesse selecionado manualmente. resultado.conteudo := ListBox2.Items[ListBox2.ItemIndex]; - retorna a string do conteudo. Detalhe , verifique tbem os espços em branco do conteudo na base de dados e no listbox , sugiro retirar de ambos. Nos meus listbox , não ativei a propriedade sorted , caso esteja ordenado o listbox , verifique se o resultado seria o mesmo. Espero ter ajudado, vc a resolver o seu problema . Carlos "Luciano R. Machado" <[EMAIL PROTECTED]> wrote: Olá Gustavo,
Compare os strings do ListBox e do DataSet, se foi retornado -1 é porque há alguma diferença entre os valores do DataSet e do ListBox. Jogue os valores em edit´s para compará-los. -- Luciano Rodrigues Machado Programador - Ribeirão Preto-SP Gustavo Valente wrote: > Olá, Colegas, > > Tudo bem? Preciso obter o índice de determinado item de uma > listbox. Assim, estou usando: > > var x: integer; > x:=srclist.Items.IndexOf(dm.sqldssecundario.fields[0].asstring); > > Também já tentei: > > > x:=srclist.Items.IndexOf(dm.sqldssecundario.fieldbyname('nome').AsString); > > x:=srclist.Items.IndexOfName(dm.sqldssecundario.fieldbyname('nome').AsString); > > x:=srclist.Items.IndexOfObject(dm.sqldssecundario.fieldbyname('nome').AsString); > > O meu problema é que "x" está retornando sempre -1, sendo que o > item existe na lista. > Já testei o sql. O mesmo está retornando o valor normalmente. > O que pode estar errado? > > Obrigado, > > Gustavo > -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: São Paulo Rio de Janeiro Curitiba Porto Alegre Belo Horizonte Brasília --------------------------------- Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. --------------------------------- Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html