Fórum Ajuda - Listbox #455679

18/09/2013

0

Tenho um listbox que vai do numero 1 ao 100 e vai ficar visível no formulário para que os usuários possam selecionar.
Ao selecionar o numero no listbox por exemplo 1, é preciso aparecer no edit1 um valor que representa o numero 1

Tipo assim:

Numero 1 do listbox vale 200
Numero 2 do listbox vale 210
Numero 3 do listbox vale 220

Assim por diante até o numero 100, cada numero é representado por um valor, e esse valor precisa aparecer no edit1

Encontrei esse código na net, mais o que esta aparecendo no edit1 é o numero selecionado no listbox, quando eu preciso que apareça seu representante.



procedure TForm1.ListBox1Click(Sender: TObject);
begin
edit1.Text := ListBox1.Items.Strings[Listbox1.ItemIndex];
Luis Sergio

Luis Sergio

Responder

Posts

18/09/2013

Marcos Oliveira

Luiz, seu código está correto. Inclusive, copiei o seu código e testei e está funcionando perfeitamente.
Pode ter algum outro erro que você não tenha visto, mas, o código está correto.
Responder

Gostei + 0

18/09/2013

Luis Sergio

cada item (numero) do listbox representa um valor.

Achei um codigo na net que atendeu minhas necessidades, veja:

if ComboBox1.Items.Strings[ComboBox1.ItemIndex]= '1' then
edit1.text:=('200');

Assim preenchi do numero ao 100 e já funciocou.

Pra finalizar só me restou um problema. Quando o arquivo está executando, o usuario pode com o mouse crescer o form, queria travar essa opção, para que ficasse no tamanho padrão sem da chances do usuario arastar suas laterias e fazer crescer o form.
Responder

Gostei + 0

18/09/2013

Luis Sergio

Tudo resolvido e aplicação pronta, Obrigado.
Responder

Gostei + 0

18/09/2013

Luis Sergio

Tudo resolvido e aplicação pronta, Obrigado.
Responder

Gostei + 0

18/09/2013

Alan Souza

vc está fazendo 1 if pra cada posição do ListBox?

tem uma forma mais simples de fazer:

Ao preencher a listbox
  ListBox.Items.AddObject('1', TObject(200));
  ListBox.Items.AddObject('2', TObject(201));
  ListBox.Items.AddObject('3', TObject(202));
  ListBox.Items.AddObject('4', TObject(203));
  ListBox.Items.AddObject('5', TObject(204));
  {continua até sua necessidade, pode ser melhorado com laço}


para ler no evento onclick da listbox
  Edit1.Text := IntToStr(Integer(ListBox.Items.Objects[ListBox.ItemIndex]));
Responder

Gostei + 0

18/09/2013

Deivison Melo

[b]Caro Luis Sergio[/b],

É interessante postar a solução prosposta para que sirva de help para algum usuário do fórum.

Veja que o [b]Marcos Oliveira[/b] teve o cuidado em testar o seu código e também o [b]Alanps[/b]
sugeriu um código com uma outra solução.

Já que cada analista/desenvolvedor vai sempre sugerir uma solução com sua visão técnica e de negócio,
mas sempre chegando no nosso objetivo final que é o funcionamento da rotina e a satisfação referente
a dúvida postada aqui no fórum!

Obrigado a todos e bons códigos!

E vamos que vamos!!

Abraços!!
Responder

Gostei + 0

18/09/2013

Luis Sergio

Pois não moderador, segue a solução:

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Items.Strings[ComboBox1.ItemIndex]= '1' then
edit1.text:=('200');


Como estou rastejando no delphi, a primeira solução que encontrei mesmo sendo trabalhosa, achei melhor deixar assim porque ela funcionou.
Lembrando que tive que fazer do item 1 ao 100 manualmente e colocar seus devidos valores.

Obrigado ia todos
Responder

Gostei + 0

18/09/2013

Luis Sergio

Pois não moderador, segue a solução:

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Items.Strings[ComboBox1.ItemIndex]= '1' then
edit1.text:=('200');


Como estou rastejando no delphi, a primeira solução que encontrei mesmo sendo trabalhosa, achei melhor deixar assim porque ela funcionou.
Lembrando que tive que fazer do item 1 ao 100 manualmente e colocar seus devidos valores.

Obrigado ia todos
Responder

Gostei + 0

18/09/2013

Luis Sergio

[b]Caro Luis Sergio[/b],

É interessante postar a solução prosposta para que sirva de help para algum usuário do fórum.

Veja que o [b]Marcos Oliveira[/b] teve o cuidado em testar o seu código e também o [b]Alanps[/b]
sugeriu um código com uma outra solução.

Já que cada analista/desenvolvedor vai sempre sugerir uma solução com sua visão técnica e de negócio,
mas sempre chegando no nosso objetivo final que é o funcionamento da rotina e a satisfação referente
a dúvida postada aqui no fórum!

Obrigado a todos e bons códigos!

E vamos que vamos!!

Abraços!!



Pois não moderador, segue a solução:

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Items.Strings[ComboBox1.ItemIndex]= '1' then
edit1.text:=('200');


Como estou rastejando no delphi, a primeira solução que encontrei mesmo sendo trabalhosa, achei melhor deixar assim porque ela funcionou.
Lembrando que tive que fazer do item 1 ao 100 manualmente e colocar seus devidos valores.

Obrigado ia todos.
Responder

Gostei + 0

18/09/2013

Luis Sergio

Desculpe pelas inúmeras repetições, é que deu erro na hora de enviar, e pensei que nenhuma anterior tinha chegado ao site. Por favor apague algumas moderador.
Responder

Gostei + 0

18/09/2013

Deivison Melo

Obrigado por postar a solução, assim outros usuários que compartilharem a mesma dúvida poderão usufruir da solução proposta!

Seja bem vindo ao fórum, sempre que precisar estaremos por aqui!!

Abração e bons códigos!

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar