Fórum Combobox #190068

22/10/2003

0

Preciso colocar em um combobox itens com valores expressos, tipo:
Texto Valor
Laranja 30
Abacate 23
Mamao 16

quando o cliente escolher um item desejo pegar como resposta o valor e nao o itemindex e possivel?


Mr_joni

Mr_joni

Responder

Posts

22/10/2003

Osocram

Bom vc pode
colocar um ´case itemindex ´ e fixar o valor...

vc pod tbm qdo o cliente escolher o item... vc pegar o valor do texto tipo
combobox.text eu acho.


Responder

Gostei + 0

22/10/2003

Ecie

Vc porde colocar como valor combobox.text


Responder

Gostei + 0

22/10/2003

Mr_joni

NAo vai dar para usar o case por q sao muitos itens... Preciso de um combobox tipo o dos formulario de intenet onte tem um texto e um valor associado a este texto.

Obrigado.


Responder

Gostei + 0

22/10/2003

Mr_joni

Vc porde colocar como valor combobox.text


Como eu coloco varios valores no combobox.text?

Obrigado.


Responder

Gostei + 0

22/10/2003

Osocram

entaum vc pod fazer assim..

no texto vc escreve
Abacate -> 50

o simbolo ´ -> ´ eh so p vc ter um simbolo de separacao entre o nome e o valor...
dae qdo o cliente clicar em algum item vc faz assim...
var
valor:string;

......
valor := strpos(Pchar(Combobox.text),Pchar(´ -> ´));
valor := stringReplace(valor,´ -> ´, ´´);


Responder

Gostei + 0

22/10/2003

Helderjr

De uma olhada no componente JvDBComboBox da JVCL, você pode colocar o que quiser na propriedade items e na propriedade Value o valor que corresponde cada item este valor é o que será gravado na tabela.


Responder

Gostei + 0

22/10/2003

Beppe

Use a propriedade Objects.

Combo.Items.Objects[0] := TObject(30);
Combo.Items.Objects[1] := TObject(30);
Combo.Items.Objects[2] := TObject(90);
Combo.Items.Objects[3] := TObject(40);
Combo.Items.Objects[4] := TObject(90);
Combo.Items.Objects[5] := TObject(20);
Combo.Items.Objects[6] := TObject(80);
Combo.Items.Objects[7] := TObject(20);

Para recuperar o valor: Integer(Combo.Items.Objects[Combo.ItemIndex])

A propriedade é do tipo TObject, por isso os typecasts.

Ou cria um array.

Ataliba


Responder

Gostei + 0

22/10/2003

Adilsond

procedure TForm1.Button1Click(Sender: TObject);
begin
  ComboBox1.Items.Clear;
  ComboBox1.Items.AddObject(´Laranja´,TObject(30));
  ComboBox1.Items.AddObject(´Abacate´,TObject(23));
  ComboBox1.Items.AddObject(´Mamao´,TObject(16));
  ComboBox1.ItemIndex := 0;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if ComboBox1.ItemIndex > -1 then
     Edit1.Text := IntToStr(Integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]));
end;



Responder

Gostei + 0

22/10/2003

Mr_joni

Obrigado a todos. deu certo. mas so uma curiosidade onde eu encontro o componente JVCL citado acima?

Obrigado.


Responder

Gostei + 0

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

Aceitar