ListBox ou algo do Tipo

Delphi

06/03/2004

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:

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

Birilo

Curtidas 0

Respostas

Cebikyn

Cebikyn

06/03/2004

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):

function TfrmPrincipal.AddItem(const nome, chave, email: String): Integer;
begin
  Result := ListBox1.Items.Add(´nome="´ + nome + ´" chave="´ + chave + ´" email="´ + email + ´"´);
end;



GOSTEI 0
POSTAR