Combobox
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?
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
Curtidas 0
Respostas
Osocram
22/10/2003
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.
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.
GOSTEI 0
Ecie
22/10/2003
Vc porde colocar como valor combobox.text
GOSTEI 0
Mr_joni
22/10/2003
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.
Obrigado.
GOSTEI 0
Mr_joni
22/10/2003
Vc porde colocar como valor combobox.text
Como eu coloco varios valores no combobox.text?
Obrigado.
GOSTEI 0
Osocram
22/10/2003
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,´ -> ´, ´´);
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,´ -> ´, ´´);
GOSTEI 0
Helderjr
22/10/2003
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.
GOSTEI 0
Beppe
22/10/2003
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
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
GOSTEI 0
Adilsond
22/10/2003
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;
GOSTEI 0
Mr_joni
22/10/2003
Obrigado a todos. deu certo. mas so uma curiosidade onde eu encontro o componente JVCL citado acima?
Obrigado.
Obrigado.
GOSTEI 0