[delphi-br] Encontrar Objeto no ComboBox
Senhores(as), Tenho uma grade na minha aplicação onde listo todos os funcionários da empresa que utilizam uma determinada linha de transporte. Quando clico na grade, eu recupero o objeto (Funcionário) contido nessa linha e preciso encontrar esse funcionário dentro de um ComboBox onde estão listados todos os Funcionários da Empresa. Já tentei utilizar o função IndexOfObject, mas ela só retorna -1. Criei uma StringList com os mesmos objetos do ComboBox para recuperar o índice desse objeto e setá-lo no ComboBox, mas também não obtive exito. Alguém já conseguiu fazer algo assim e poderia me dar umas dicas? Obrigado! P.S.: Peço desculpas aos que participam de mais de uma lista e que estarão recebendo minha mensagem nas demais. Só o fiz porque estou com a corda no pescoço por não ter entregue esse sistema ontem (fim do prazo). Sds, Romario -- 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
Re: [delphi-br] Encontrar Objeto no ComboBox
1) Populei uma StringList com os mesmos objetos do ComboBox. Não bastaria usar a propriedade Items do ComboBox, uma vez que esta propriedade é praticamente idêntica a um TStringList? Atenciosamente. Daniel P. Guimarães Tecnobyte informática www.tecnobyte.com.br -- 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
Re: [delphi-br] Encontrar Objeto no ComboBox
Henrique, Obrigado por responder! Na verdade, os objetos são diferentes. Os objetos da grade possuem uma instância do objeto funcionário dentro da classe e no ComboBox, os objetos vem diretamente da classe TFuncionario. Sds, Romario Henrique Meira escreveu: Tenho uma grade na minha aplicação onde listo todos os funcionários da empresa que utilizam uma determinada linha de transporte. Quando clico na grade, eu recupero o objeto (Funcionário) contido nessa linha e preciso encontrar esse funcionário dentro de um ComboBox onde estão listados todos os Funcionários da Empresa. Já tentei utilizar o função IndexOfObject, mas ela só retorna -1. Criei uma StringList com os mesmos objetos do ComboBox para recuperar o índice desse objeto e setá-lo no ComboBox, mas também não obtive exito. Alguém já conseguiu fazer algo assim e poderia me dar umas dicas? Vc, tem certeza absoluta de que o objeto contido na grade é o mesmo contido no combobox? Quero dizer, o endereço do objeto é o mesmo? Faça um teste, capture o endereço do objeto apontado na grade e tente liste os endereços apontados no combobox, veja se existe algum semelhante. Provavelmente, penso eu, vc está adicionando referencias trocadas. Quando adicionar os objetos aos containers, procure inserir o endereço do objeto. Consulte os operadores ^ e . Agora não me lembro da sintaxe correta para você fazer esta referencia, mas é algo como: combobox.item.addobject(MeuObjeto); desculpe, realmente não me lembro. E este mesmo modelo vc aplicaria à grade, assim teria a referencia do objeto corretamente. henrique. -- 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
Re: [delphi-br] Encontrar Objeto no ComboBox
Romário, com toda certeza vc está certo quando diz que não é a melhor forma de se fazer. Desta maneira vc está começando a seguir para aquele caminho onde se liga o [EMAIL PROTECTED] e seja o que Deus quiser. Isto é perigoso à medio/longo prazo. Veja só, uma solução paleativa a que vc propôs seria utilizar um TList para armazenar as instancias dos objetos, assim vc iria inserir apenas as referencias dos objetos deste TList na grade, combobox, listbox, ou o que mais quer que seja. Pelo que estou notando, talvez (atenção talvez) vc esteja confundindo que um objeto seja representado por seus atributos, ou seja, nome, codigo, etc... não é pq uma grade exibe o codigo 1, nome José, que o combobox com Código 1 e Nome José tratam do mesmo objeto. Isto é um erro comum e que gera confusão. Lembre-se cada objeto é uma instancia de uma classe, e possui um endereço na memória, logo, é com isto que vc deve trabalhar. Acho que vale mais a pena vc perder tempo tentando resolver isto do que montar uma solução prática. henrique. Senhores(as), Resolvi o problema com a seguinte gambiarra: 1) Populei uma StringList com os mesmos objetos do ComboBox. 2) Recuperei o código no objeto funcionário selecionado na grade. 3) Percorri a StringList procurando qual dos objetos tinha o código. 4) Recuperei o índice. 5) Setei o índice no ComboBox. Com certeza não é a melhor forma de se fazer, mas temporariamente vai manter a corda bem longe do meu pescoço. Obrigado à todos que tentaram ajudar! Sds, Romario Henrique Meira escreveu: Tenho uma grade na minha aplicação onde listo todos os funcionários da empresa que utilizam uma determinada linha de transporte. Quando clico na grade, eu recupero o objeto (Funcionário) contido nessa linha e preciso encontrar esse funcionário dentro de um ComboBox onde estão listados todos os Funcionários da Empresa. Já tentei utilizar o função IndexOfObject, mas ela só retorna -1. Criei uma StringList com os mesmos objetos do ComboBox para recuperar o índice desse objeto e setá-lo no ComboBox, mas também não obtive exito. Alguém já conseguiu fazer algo assim e poderia me dar umas dicas? Vc, tem certeza absoluta de que o objeto contido na grade é o mesmo contido no combobox? Quero dizer, o endereço do objeto é o mesmo? Faça um teste, capture o endereço do objeto apontado na grade e tente liste os endereços apontados no combobox, veja se existe algum semelhante. Provavelmente, penso eu, vc está adicionando referencias trocadas. Quando adicionar os objetos aos containers, procure inserir o endereço do objeto. Consulte os operadores ^ e . Agora não me lembro da sintaxe correta para você fazer esta referencia, mas é algo como: combobox.item.addobject(MeuObjeto); desculpe, realmente não me lembro. E este mesmo modelo vc aplicaria à grade, assim teria a referencia do objeto corretamente. henrique. -- 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
Re: [delphi-br] Encontrar Objeto no ComboBox
Senhores(as), Resolvi o problema com a seguinte gambiarra: 1) Populei uma StringList com os mesmos objetos do ComboBox. 2) Recuperei o código no objeto funcionário selecionado na grade. 3) Percorri a StringList procurando qual dos objetos tinha o código. 4) Recuperei o índice. 5) Setei o índice no ComboBox. Com certeza não é a melhor forma de se fazer, mas temporariamente vai manter a corda bem longe do meu pescoço. Obrigado à todos que tentaram ajudar! Sds, Romario Henrique Meira escreveu: Tenho uma grade na minha aplicação onde listo todos os funcionários da empresa que utilizam uma determinada linha de transporte. Quando clico na grade, eu recupero o objeto (Funcionário) contido nessa linha e preciso encontrar esse funcionário dentro de um ComboBox onde estão listados todos os Funcionários da Empresa. Já tentei utilizar o função IndexOfObject, mas ela só retorna -1. Criei uma StringList com os mesmos objetos do ComboBox para recuperar o índice desse objeto e setá-lo no ComboBox, mas também não obtive exito. Alguém já conseguiu fazer algo assim e poderia me dar umas dicas? Vc, tem certeza absoluta de que o objeto contido na grade é o mesmo contido no combobox? Quero dizer, o endereço do objeto é o mesmo? Faça um teste, capture o endereço do objeto apontado na grade e tente liste os endereços apontados no combobox, veja se existe algum semelhante. Provavelmente, penso eu, vc está adicionando referencias trocadas. Quando adicionar os objetos aos containers, procure inserir o endereço do objeto. Consulte os operadores ^ e . Agora não me lembro da sintaxe correta para você fazer esta referencia, mas é algo como: combobox.item.addobject(MeuObjeto); desculpe, realmente não me lembro. E este mesmo modelo vc aplicaria à grade, assim teria a referencia do objeto corretamente. henrique. -- 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