pegar dados do combobox?

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

pena
Usuário Nível 3
Usuário Nível 3
Mensagens: 331
Registrado em: 06 Jul 2004 18:08
Localização: CACHOEIRA DO SUL-RS

pegar dados do combobox?

Mensagem por pena »

Pessoal como faço para pegar os dados do combobox?

ex:
carreguei o combobox com as UFS

Código: Selecionar todos

vUf:=Puf:= 0
oUf:Open("Select * from uf order by UF " ,CNN,2,3)
aItems:={}
Do While ! oUf:Eof()
vUf ++
muf=oUf:Fields["UF"]:Value+[-]+oUf:Fields["ESTADO"]:Value
aadd ( aItems , muf )
if oUf:Fields["UF"]:Value = cUf .and. !Empty(cUf)
Puf=vUf
endif
oUf:MoveNext()
Enddo

@ 100,390 COMBOBOX T_uf ;
WIDTH 200 ;
ITEMS aitems ;
VALUE Puf ;
FONT 'Arial' SIZE 09 ;
FONTCOLOR BLACK BOLD

AGORA SELECIONEI A 2. OPCAO

e vou gravar

AL-Alagoas

se vou ver o conteudo
T_UF ele vem com 2 e nao AL-Alagoas

nao tem como vir o conteudo AL-Alagoas?
Editado pela última vez por Toledo em 22 Out 2010 11:10, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: pegar dados do combobox?

Mensagem por Toledo »

Veja um exemplo:

Código: Selecionar todos

#include "minigui.ch"
Function Main
DEFINE WINDOW Form_1 ;
       AT 0,0 ;
       WIDTH 400 ;
       HEIGHT 200 ;
       TITLE 'ComboBox Demo' ;
       MAIN 
  @ 10,10 COMBOBOX Combo_1 ;
          WIDTH 200 ;
          ITEMS { 'AL-Alagoas' , 'SP-Sao Paulo' , 'PR-Parana' } ;
          VALUE 1 ;
          ON CHANGE MsgInfo ( Form_1.Combo_1.DisplayValue ) ;
          FONT 'Courier' SIZE 12 
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
pena
Usuário Nível 3
Usuário Nível 3
Mensagens: 331
Registrado em: 06 Jul 2004 18:08
Localização: CACHOEIRA DO SUL-RS

Re: pegar dados do combobox?

Mensagem por pena »

obg era isso mesmo que precisava
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Re: pegar dados do combobox?

Mensagem por lugab »

Toledo, antes de mais nada releve ae , pq eu sou um zero em minigui..

Mas , por curisodade e ânsia de aprender, eu executei esse seu exemplo e gostaria de saber se tem como alterar este código para ele salvar a opção escohida do combo em uma variavel qualquer ( tipo resp=N) em seguida encerrar esta função, retornando o comando para o programa principal..

É q este código q vc postou exibe na tela a opção escolhida no combo , mas a função nunca tem fim e continua rodando..

Grato,

Gabriel
lugab
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: pegar dados do combobox?

Mensagem por asimoes »

Olá,
Aproveitando o exemplo do Toledo, outra forma:

Código: Selecionar todos

#include "minigui.ch"
Function Main
PRIVATE aItens:={ 'AL-Alagoas' , 'SP-Sao Paulo' , 'PR-Parana' }
DEFINE WINDOW Form_1 ;
       AT 0,0 ;
       WIDTH 400 ;
       HEIGHT 200 ;
       TITLE 'ComboBox Demo' ;
       MAIN 
  @ 10,10 COMBOBOX Combo_1 ;
          WIDTH 200 ;
          ITEMS aItens ;
          VALUE 1 ;
          ON CHANGE VerItens() ;
          FONT 'Courier' SIZE 12 
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return

FUNCTION VerItens
MsgInfo(aItens[AScan(aItens, {|e| e = Form_1.Combo_1.DisplayValue})])
Return Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: pegar dados do combobox?

Mensagem por Toledo »

lugab escreveu:tem como alterar este código para ele salvar a opção escohida do combo em uma variavel qualquer ( tipo resp=N) em seguida encerrar esta função
Veja um exemplo:

Código: Selecionar todos

#include "minigui.ch"
DECLARE WINDOW Form_1
Declare Window Comb_1

Procedure Main()
Private cResp, nResp
DEFINE WINDOW Form_1 ;
       AT 0,0 ;
       WIDTH 373 ;
       HEIGHT 128 ;
       TITLE 'ComboBox Demo' ;
       MAIN 

  @ 30,20 BUTTON Bt_Combo ;
          CAPTION "Abrir ComboBox" ;
          ACTION  AbreCombo() ;
          WIDTH 130 HEIGHT 28

  @ 30,170 BUTTON Bt_Ver ;
           CAPTION "Ver Retorno do ComboBox" ;
           ACTION  MsgInfo("Valor: "+str(nResp)+" Conteúdo: "+cResp) ;
           WIDTH 170 HEIGHT 28

END WINDOW
Form_1.Center
Form_1.Activate
Return

Procedure AbreCombo()
DEFINE WINDOW Comb_1 ;
       AT 0,0 ;
       WIDTH 400 ;
       HEIGHT 200 ;
       TITLE 'ComboBox Demo' ;
       MODAL 

  @ 10,10 COMBOBOX Combo_1 ;
          WIDTH 200 ;
          ITEMS { 'AL-Alagoas' , 'SP-Sao Paulo' , 'PR-Parana' } ;
          VALUE 1 ;
          ON CHANGE Pega_Escolha() ;
          FONT 'Courier' SIZE 12 

END WINDOW
Comb_1.Center
Comb_1.Activate
Return Nil

Procedure Pega_Escolha()
cResp:=Comb_1.Combo_1.DisplayValue
nResp:=Comb_1.Combo_1.Value
Comb_1.release
Return Nil
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder