Página 1 de 1
pegar dados do combobox?
Enviado: 22 Out 2010 09:38
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?
Re: pegar dados do combobox?
Enviado: 22 Out 2010 11:29
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,
Re: pegar dados do combobox?
Enviado: 22 Out 2010 20:52
por pena
obg era isso mesmo que precisava
Re: pegar dados do combobox?
Enviado: 23 Out 2010 20:05
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
Re: pegar dados do combobox?
Enviado: 24 Out 2010 19:24
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
Re: pegar dados do combobox?
Enviado: 25 Out 2010 07:02
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,