Me ajudem, to perdido com combobox

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Me ajudem, to perdido com combobox

Mensagem por Trazom »

Ola pessoal,

Tomei a decisao de realmente converter meu sistema em clipper, entao agora estou empenhado nisso ja faz 15dias todo dia umas 12horas e to gostando muito dos resultados.

É o seguinte até agora não consegui fazer o combobox funcionar como eu gostaria.
E acho até que é por questao de fundamentos da linguagem mesmo, ou como eu estou usando.

Um combobox tipico do meu são cidades,localidades,bancos,grupos que dizer pelo menos eu acho que é com combobox não sei se eu to querendo demais mais acredito que sempre tem como fazer.

Por exemplo em um Cadastro de produto tem o campo Grupo a que o produto pertence, entao na hora de preencher no cadastro so vai aceitar um Grupo pelo combobox, a questao é qual a melhor forma de fazer esse tipo de consulta ? Seria com combobox mesmo ? É preciso fazer um array primeiro ou pode usar as propriedades itemsource e valuesource ? tenho um pequeno exemplo, vou pesquisar como postar o codigo também na mensagem

Obrigado
Editado pela última vez por Toledo em 12 Ago 2014 19:11, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o [x]Harbour.
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Me ajudem, to perdido com combobox

Mensagem por Pablo César »

Oi Evandro,

Não sei qual ferramenta gráfica você está usando. Mas seja qual for, quando pensamos em ComboBox, penso logo em Arrays (matrizes). Então no seu caso que você que definir quais itens do próximo combobox vai usar, sugiro você fazer tudo em arrays. E conforme for a sua seleção prévia, você escolhe a matriz certa para o próximo combobox.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
sambomb
Usuário Nível 3
Usuário Nível 3
Mensagens: 250
Registrado em: 24 Out 2008 17:02
Localização: Itaocara - RJ - Brasil

Me ajudem, to perdido com combobox

Mensagem por sambomb »

Eu te aconselho a fazer uma tela independente e genérica para esse tipo de pesquisa pois podem ter tabelas grandes que fariam a sua tela ficar lenta.

Após sair desta tela de pesquisa iria jogar o resultado em um Get e o código relacionado em uma variável.
Imagem

Rca Sistemas - Itaocara - RJ
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Me ajudem, to perdido com combobox

Mensagem por Trazom »

E nessa tela independente que recurso eu usaria ? Grid, browse ? Acho a melhor opção mesmo fazer uma tela pra consultar chave estrangeira, dessa forma ja crio todas as opcoes de consulta, multicolunas, ordenacao, procura por palavra, etc

Mas eu realmente tenho essa duvida que objeto usar pra isso ?
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Me ajudem, to perdido com combobox

Mensagem por Trazom »

Código: Selecionar todos

#include "hmg.ch"
//#include "commom.ch"
#include "hfcl.ch"
//#include "hbxpp.hbc"
//#include "InterfaceEpson.dll"


func main()
set date brit
set cent on
request dbfcdx,dbffpt
if file('iwcriit.cdx')
   use iwcrait via 'dbfcdx' new inde iwcriit alias ait
else
   use iwcrait via 'dbfcdx' new alias ait
   inde on cod_it tag 01 to iwcriit
   inde on des_it tag 02 to iwcriit
   use iwcrait via 'dbfcdx' inde iwcriit alias ait
endif
use siacagr via 'dbfcdx' new alias agr
inde on cod_gr tag 1 to siacigr
codit:=spac(20)
codgr:=spac(3)
desit:=spac(50)
undit:=spac(2)
define window winS1421 at 50,50 width 800 height 300 title 'Produtos' MAIN

   @030,10 label labelS1421cod width 500 value 'codigo'
   @060,10 label labelS1421des width 500 value 'descricao'
   @090,10 label labelS1421und width 500 value 'Unidade de Venda'
   @120,10 label labelS1421gru width 500 value 'Grupo'

   @100,680 button btnRew caption ' < ' picture 'left.bmp' top width 30 height 34 action aitRew()
   @100,720 button btnFwd caption ' > ' picture 'right.bmp' top width 30 action aitFwd()
   
   @030,200 textbox textboxS1421codit width 160 value codit maxlength 20
   @060,200 textbox textboxS1421desit width 400 value desit maxlength 50
   @090,200 textbox textboxS1421undit width  60 value undit maxlength 2
   @120,140 combobox comboboxS1421codgr itemsource agr->des_gr valuesource agr->cod_gr

end window
winS1421.activate
retu


func aitRew()
sele ait
dbskip(-1)
winS1421.textboxS1421codit.value:=cod_it
winS1421.textboxS1421desit.value:=des_it
winS1421.textboxS1421undit.value:=und_it
//winS1421.comboboxS1421codgr.
retu nil


func aitFwd()
sele ait
dbskip()
winS1421.textboxS1421codit.value:=cod_it
winS1421.textboxS1421desit.value:=des_it
winS1421.textboxS1421undit.value:=und_it
//winS1421.comboboxS1421codgr.value:=cod_gr
retu nil
desculpem o mau jeito, estava tentando descobrir como postar codigo fonte, ja descobri

é esse o codigo que estou tentando, por favor sugestao, dicas, melhores praticas, aceito criticas

nesse codigo usei combobox com as proriedas itemsource e valuesource mas nao tenho muita certeza como funciona, se alguem puder explicar

E nesse recurso de pesquisa ainda precisa adicionar pesquisa incremental, por exemplo numa pesquisa de nomes de pessoas, a medida que o usuario digitar 'jose' ou 'joao' ja fazer uma busca aproximada na tabela,

nesse caso de busca aproximada tenho que usar um evento de tecla pressionada e avaliar o valor da tecla pressionada ?
Editado pela última vez por Toledo em 12 Ago 2014 19:10, em um total de 1 vez.
Razão: Mensagem foi editada para unir várias mensagens que foram postadas depois desta mensagem, mas tratrando do mesmo assunto.
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Me ajudem, to perdido com combobox

Mensagem por Toledo »

Trazom, dê uma olhada no ComboSearchBox na pasta Samples da sua MiniGui.

HMG:
SAMPLES\HFCL\ComboSearchBox

MiniGui Extended:
SAMPLES\Advanced\CombinedSearchBox

SAMPLES\Advanced\ComboSearchGrid

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
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Me ajudem, to perdido com combobox

Mensagem por Softwhouse »

Compilei os dois exemplos da Minigui Extended e ambos deram erro na execução.
Fernando
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Me ajudem, to perdido com combobox

Mensagem por Toledo »

Fernando, testei agora com a MiniGui Extended versão 2.3.8 e funcionou certinho. Para compilar usei o compile.bat que está dentro da pasta junto com os PRG.
Softwhouse escreveu:ambos deram erro na execução
Qual é a mensagem de erro?

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
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Me ajudem, to perdido com combobox

Mensagem por Softwhouse »

Toledo,

Atualizei a Minigui e compilou certinho.

Obrigado.
Fernando
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Me ajudem, to perdido com combobox

Mensagem por Trazom »

Acho melhor mudar pra minigui extended, vou saber como é que faz pra instalar, se alguem puder me ajudar , por onde começo ? ja estou com minigui instalada mas não é extended como consigo essa versao ?

qual a diferenca ?

obrigado
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Me ajudem, to perdido com combobox

Mensagem por Toledo »

Trazom escreveu:Acho melhor mudar pra minigui extended
Trazon, como disse na minha mensagem anterior, a função ComboSearchBox está na pasta SAMPLES\HFCL\ComboSearchBox da HMG, então não acho necessário mudar para MiniGui Extended por causa disto.
Trazom escreveu:ja estou com minigui instalada mas não é extended como consigo essa versao ?
http://www.hmgextended.com/download.html

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
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Me ajudem, to perdido com combobox

Mensagem por Trazom »

como fazer o combo aparecer duas colunas, por exemplo codigo e nome do banco ?
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Me ajudem, to perdido com combobox

Mensagem por Pablo César »

Senão em engano na Minigui Extended existe esse recurso.

Mas eu fosse você, escolheria uma fonte monoespaçada como Courier New e concatenaria os dois campos.

Juntando as duas strings.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Me ajudem, to perdido com combobox

Mensagem por Trazom »

obrigado pelas respostas ja testei umas opcçoes acho q to entendendo

mas acho que eu to com um problema mais conceitual da coisa

eu preciso fazer um funcao reutilizavel com as funcionalidades de pesquisa e localizacao de dados
-esses dados sempre teem um codigo e uma descricao, mas tambem pode ter outros campos
-o usuario pode localizar o dado digitando o codigo ou pesquisando num combobox por exemplo
-o usuario pode mudar a a chave de acesso (ordem de codigo ou descricao)
-a medica que o usuario digita o que quer o sistema faz uma busca aproximada e mostra o resultado
e mais algums outras

a questao é:
tem tabelas com numero fixo de registros muito pequenas como cfop, vendedores, e outras um pouco maior como municipios uns 5mil registros
e outros maior ainda mas fixo tb como cep uns 100cem mil registros

o que voces sugerem como objeto pra fazer uma pesquisa dessa combobox, grid, browse, outro ?
devo usar recursos como rowsource do combobox ou carrega tudo em array primeiro ?
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Responder