Fórum Recuperar valor em Combobox com 2 colunas String #622462
11/09/2024
0
COD_BANCO: esse campo é string, pois é o código do banco (ex: Sicredi é 748, Banco do Brasil é 001)
NOME string
1 2 3 4 5 | while not Qry . eof do begin cbBancoOrigem . Items . Add(Qry . FieldByName( 'COD_BANCO' ).AsString+ ' - ' + Qry . FieldByName( 'NOME' ).AsString); Qry . Next; end ; |
O problema é que não estou conseguindo recuperar esse codigo do banco para armazenar numa variavel.
Alguém sabe se é possivel?

Renan
Curtir tópico
+ 0Post mais votado
11/09/2024
COD_BANCO: esse campo é string, pois é o código do banco (ex: Sicredi é 748, Banco do Brasil é 001)
NOME string
1 2 3 4 5 | while not Qry . eof do begin cbBancoOrigem . Items . Add(Qry . FieldByName( 'COD_BANCO' ).AsString+ ' - ' + Qry . FieldByName( 'NOME' ).AsString); Qry . Next; end ; |
O problema é que não estou conseguindo recuperar esse codigo do banco para armazenar numa variavel.
Alguém sabe se é possivel?
Renan, o código acima apenas adiciona os dados formatados no cbBancoOrigem.
Supondo que esteja tentando coletar o código do banco ao selecionar o registro ali no cbBancoOrigem
Uma opção é criar uma função exemplo:::
function ExtrairCodigoBanco(ComboBox: TComboBox): string;
var
SelectedItem: string;
PosSeparador: Integer;
begin
// Obtém o item selecionado no ComboBox
SelectedItem := ComboBox.Text;
// Localiza a posição do separador " - "
PosSeparador := Pos(' - ', SelectedItem);
// Se o separador for encontrado, extrai o código antes dele
if PosSeparador > 0 then
Result := Copy(SelectedItem, 1, PosSeparador - 1)
else
Result := ''; // Se não encontrar, retorna uma string vazia
end;
No evento Change do cbBancoOrigem:::
procedure TForm1.cbBancoOrigemChange(Sender: TObject);
var
CodigoBanco: string;
begin
// Extrai o código do banco do item selecionado no ComboBox
CodigoBanco := ExtrairCodigoBanco(cbBancoOrigem);
// Exibe o código em uma mensagem ou use conforme necessário
ShowMessage('Código do banco selecionado: ' + CodigoBanco);
end;
Espero que o ajude ou dê uma Luz
Raimundo Pereira

Gostei + 1
Mais Posts
12/09/2024
Renan
Obrigado pela dica, funciona bem.
Gostei + 0
24/09/2024
Renan
dentro de um while eu populo o combo
1 | ComboBox . Items . AddObject(TabelaProdutosNOME . AsString,TObject(TabelaProdutosCODIGO . AsInteger)); |
Para obter o código do item selecionado eu uso
1 | Variavel:= Integer (ComboBox . Items . Objects[ComboBox . ItemIndex]); |
Até aí tudo bem.
Porém, ao acessar o form onde tenho esse ComboBox, eu preciso buscar o codigo que está gravado no banco e então fazer o ComboBox mostrar o respectivo item.
Isso não funciona, pois pega o ItemIndex e não o codigo do objeto
1 | ComboBox . ItemIndex := Variavel |
Gostei + 0
25/09/2024
Raimundo Pereira
dentro de um while eu populo o combo
1 | ComboBox . Items . AddObject(TabelaProdutosNOME . AsString,TObject(TabelaProdutosCODIGO . AsInteger)); |
Para obter o código do item selecionado eu uso
1 | Variavel:= Integer (ComboBox . Items . Objects[ComboBox . ItemIndex]); |
Até aí tudo bem.
Porém, ao acessar o form onde tenho esse ComboBox, eu preciso buscar o codigo que está gravado no banco e então fazer o ComboBox mostrar o respectivo item.
Isso não funciona, pois pega o ItemIndex e não o codigo do objeto
1 | ComboBox . ItemIndex := Variavel |
Tente assim :: ComboBox.ItemIndex := ComboBox.Items.IndexOf(variavel);
Gostei + 0
25/09/2024
Raimundo Pereira
dentro de um while eu populo o combo
1 | ComboBox . Items . AddObject(TabelaProdutosNOME . AsString,TObject(TabelaProdutosCODIGO . AsInteger)); |
Para obter o código do item selecionado eu uso
1 | Variavel:= Integer (ComboBox . Items . Objects[ComboBox . ItemIndex]); |
Até aí tudo bem.
Porém, ao acessar o form onde tenho esse ComboBox, eu preciso buscar o codigo que está gravado no banco e então fazer o ComboBox mostrar o respectivo item.
Isso não funciona, pois pega o ItemIndex e não o codigo do objeto
1 | ComboBox . ItemIndex := Variavel |
Tente assim :: ComboBox.ItemIndex := ComboBox.Items.IndexOf(variavel);
QQ Coisa dá um grito no discord : oficialrcp
Daí fazemos uma call em seguida posta as novidades aqui
Gostei + 0
26/09/2024
Renan
Infelizmente não funciona.
Resolvi usar um DbLookupComboBox, assim no create do form eu faço o seguinte
1 | DBLookupComboBox1 . KeyValue := FrmDm . qrConfigCONTA_INTERNA . AsInteger; |
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)