Fórum ListBox ou algo do Tipo #218733
06/03/2004
0
Bom, seguinte.
Tenho uma list box com vários Nomes aparecendo.
Exemplo
-------------
[list:cb16b4e298]
Paulo
Roberto
Claudio
Fernando
[/list:u:cb16b4e298]
-------------
E cada um desses usuários tem uma respectiva chave invisível:
Paulo----------dkodsaioiworqw1232
Roberto-------fwqewqeqwretretretre
Claudio-------dsadsadsadsadasdwqe
Fernando-----qweewqewqewqewqeqw
Esta list box estará em constante atualização. E toda identificação será feita pelas chaves e não pelos nomes(já que podem haver nomes iguais).
Na verdade, o que eu preciso exatamente era de algo que eu pudesse fazer assim:
E se possível, que eu pudesse colocar assim
Caso não exista um componente assim, posso fazer da maneira inicial, adicionando apenas uma string e um valor, e os outros dados eu atualizo de outra base, mas eu queria, ao máximo, fugir disso....
Todo caso, se alguém puder me ajudar, eu agradeço
Abraços, Danilo Cesar
Tenho uma list box com vários Nomes aparecendo.
Exemplo
-------------
[list:cb16b4e298]
Paulo
Roberto
Claudio
Fernando
[/list:u:cb16b4e298]
-------------
E cada um desses usuários tem uma respectiva chave invisível:
Paulo----------dkodsaioiworqw1232
Roberto-------fwqewqeqwretretretre
Claudio-------dsadsadsadsadasdwqe
Fernando-----qweewqewqewqewqeqw
Esta list box estará em constante atualização. E toda identificação será feita pelas chaves e não pelos nomes(já que podem haver nomes iguais).
Na verdade, o que eu preciso exatamente era de algo que eu pudesse fazer assim:
lista.additem(´Paulo´,´kodsaioiworqw1232´)
E se possível, que eu pudesse colocar assim
lista.additem(´Paulo´,´kodsaioiworqw1232´,´paulo@yahoo.com.br´,1,45);
Caso não exista um componente assim, posso fazer da maneira inicial, adicionando apenas uma string e um valor, e os outros dados eu atualizo de outra base, mas eu queria, ao máximo, fugir disso....
Todo caso, se alguém puder me ajudar, eu agradeço
Abraços, Danilo Cesar
Birilo
Curtir tópico
+ 0
Responder
Posts
06/03/2004
Cebikyn
Eu já fiz algo parecido com isso, é relativamente fácil, vou te dar uma idéia geral de como eu fiz, daí vc adapta, se tiver dúvida, deixe uma msg como resposta:
Os items eram armazenados no ListBox assim:
mostrar=´__´ endereço=´___´ duração=´__´
que eram os três campos que eu precisa armazenar (no lugar dos ___ ficava a informação), o campo ´mostrar´ é o único que o usuário vê, no seu caso seria o nome. Depois, fiz o ListBox como OwnerDraw e no evento OnDrawItem do mesmo, uma procedure extraia o campo ´mostrar´ e desenhava apenas ele no ListBox, de modo que os demais ficam invisíveis. Na hora de manipular os items, bastava extrair o campo desejado.
A procedure AddItem, vc teria que fazer, e tb é bem simples, seria algo assim (com quantos campos vc precisar, para integers, vc teria que fazer a conversão, usando IntToStr e StrToInt, o mesmo para outros tipos, sendo possível fazer até para arquivos, mas pode deixar o programa um pouco pesado):
Os items eram armazenados no ListBox assim:
mostrar=´__´ endereço=´___´ duração=´__´
que eram os três campos que eu precisa armazenar (no lugar dos ___ ficava a informação), o campo ´mostrar´ é o único que o usuário vê, no seu caso seria o nome. Depois, fiz o ListBox como OwnerDraw e no evento OnDrawItem do mesmo, uma procedure extraia o campo ´mostrar´ e desenhava apenas ele no ListBox, de modo que os demais ficam invisíveis. Na hora de manipular os items, bastava extrair o campo desejado.
A procedure AddItem, vc teria que fazer, e tb é bem simples, seria algo assim (com quantos campos vc precisar, para integers, vc teria que fazer a conversão, usando IntToStr e StrToInt, o mesmo para outros tipos, sendo possível fazer até para arquivos, mas pode deixar o programa um pouco pesado):
function TfrmPrincipal.AddItem(const nome, chave, email: String): Integer; begin Result := ListBox1.Items.Add(´nome="´ + nome + ´" chave="´ + chave + ´" email="´ + email + ´"´); end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)