Getbox ou Textbox ?

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Getbox ou Textbox ?

Mensagem por Nascimento »

amigos tentei fazer um exemplo do meu problema mais nem isso saiu ta um nó na cabeça só rsrs mais vamos la vou tentar explicar meu problema

tenho uma funçao de vendas que funciona assim:

produto quantidade valor

criei 2 textbox

1 textbox 1 v_produto
2 textbox2 v_quant

estou portanto para minigui e como todo principiante é um pau danado rsrs

o meu problema é criei um textbox para o nome do produto usando o on enter{||procura_produto(this.value)}

tipo: textbox v_produto value v_produto

entao achando o produto ele preenche o valor do textbox v_produto

form_1.v_produto.value:= "produtoachado"

ai mando o foco para o v_quant

form_1.v_quant.setfocus // precisaria ir e voltar com a quantidade aqui

pois o valor é quantidade * valor_uni

ai mora o problema como eu volto pra mesma funçao com o valor de textbox ou getbox?
pois apos o retorno do textbox (ou getbox) v_quant eu mando pra uma grid
apos volto o foco novamente para o v_produto ate que o vendedor de enter no v_produto sem digitar nada ai vai pra o fechamento da venda

nao sei o que se encaixa melhor para resoluçao deste problema se getbox ou texbox

agradeço desde já a ajuda de todos

att: Nascimento
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Getbox ou Textbox ?

Mensagem por Nascimento »

amigos empanquei feito burro chucro o dia todo e nao saiu nada de satisfatorio :%
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Getbox ou Textbox ?

Mensagem por Toledo »

Amigo, veja este exemplo:

Código: Selecionar todos

#include 'minigui.ch'      

function main()

set deleted on

Private aProds:={}

if !file('produtos.dbf')

  aStru := {;
  {'CODIGO','C',6,00},;
  {"NOMEPRO" ,"C",30,00},;
  {"VALORUNI" ,"N",12,02}}
  DBCREATE( 'produtos.dbf' , aStru)

  use produtos.dbf alias prod

  for x=1 to 10
    append blank 
    REPLACE CODIGO WITH STRZERO(X,6)
    REPLACE NOMEPRO WITH "PRODUTO "+STRZERO(X,3) 
    REPLACE VALORUNI WITH X
    COMMIT
  next 
  index on CODIGO to produtos
  set index to produtos
else
  use produtos.dbf alias prod
  set index to produtos
endif
Go Top

DEFINE WINDOW form_venda AT 210 , 298 WIDTH 682 HEIGHT 320 TITLE "Lançamento de Vendas" MAIN

     DEFINE GRID Grid_1
            ROW    5
            COL    5
            WIDTH  663
            HEIGHT 223
            ITEMS aProds
            WIDTHS {60,300,60,90,100}
            HEADERS {'Codigo','Descricao do Produto','Qtde','Vr.Unit','Total'}
            FONTNAME 'Arial'
            TOOLTIP ''
            INPLACEEDIT ''
     END GRID  

     DEFINE LABEL Label_1
            ROW    235
            COL    10
            WIDTH  120
            HEIGHT 15
            VALUE "Codigo"
            TRANSPARENT .T.
     END LABEL  

     DEFINE TEXTBOX oCodigo
            ROW    255
            COL    10
            WIDTH  60
            HEIGHT 20
            FONTNAME 'Arial'
            TOOLTIP "Informe o Codigo do Produto"
            MAXLENGTH 6
            INPUTMASK "999999"
            ON ENTER {||BuscaPro(this.Value)}
     END TEXTBOX 

     DEFINE LABEL oDescPro
            ROW    255
            COL    75
            WIDTH  300
            HEIGHT 20
            VALUE ""
            FONTSIZE 10
            FONTBOLD .T.
            TRANSPARENT .T.
     END LABEL  

     DEFINE LABEL Label_2
            ROW    235
            COL    390
            WIDTH  70
            HEIGHT 15
            VALUE "Quantidade"
            TRANSPARENT .T.
     END LABEL  

     DEFINE TEXTBOX oQuantidade
            ROW    255
            COL    390
            WIDTH  70
            HEIGHT 20
            FONTNAME 'Arial'
            TOOLTIP "Informe a Quantidade do Produto"
            MAXLENGTH 5
            INPUTMASK "99999"
            NUMERIC  .T.
            VALUE 0
            ON ENTER {||CalcTot(this.Value)}
     END TEXTBOX 

     DEFINE LABEL Label_3
            ROW    235
            COL    470
            WIDTH  60
            HEIGHT 15
            VALUE "Vr.Unit"
            TRANSPARENT .T.
            RIGHTALIGN .T.
     END LABEL  

     DEFINE LABEL oVrUnit
            ROW    255
            COL    470
            WIDTH  70
            HEIGHT 20
            VALUE "0,00"
            FONTSIZE 10
            FONTBOLD .T.
            TRANSPARENT .T.
            RIGHTALIGN .T.
     END LABEL  

     DEFINE LABEL Label_4
            ROW    235
            COL    560
            WIDTH  90
            HEIGHT 15
            VALUE "Sub-Total"
            TRANSPARENT .T.
            RIGHTALIGN .T.
     END LABEL  

     DEFINE LABEL oSubTot
            ROW    255
            COL    560
            WIDTH  90
            HEIGHT 20
            VALUE "0,00"
            FONTSIZE 10
            FONTBOLD .T.
            TRANSPARENT .T.
            RIGHTALIGN .T.
     END LABEL  

END WINDOW

form_venda.oCodigo.setfocus
form_venda.Center
form_venda.activate

Return Nil

***********************************************
Function BuscaPro(cCod)
cCod:=StrZero(Val(cCod),6)
form_venda.oCodigo.Value:=cCod
Go Top
Seek cCod
if found()
  form_venda.oDescPro.Value:=PROD->NOMEPRO
  form_venda.oVrUnit.Value:=Transf(PROD->VALORUNI,"@E 99,999.99")
  form_venda.oQuantidade.setfocus
else
  MsgInfo("Produto não encontrado")
  form_venda.oCodigo.setfocus
endif
Return .T.

***********************************************
Function CalcTot(nQtd)
Local nTotal:=nQtd*PROD->VALORUNI
form_venda.oSubTot.Value:=Transf(nTotal,"@E 999,999.99")
form_venda.Grid_1.AddItem ( {PROD->CODIGO,PROD->NOMEPRO,STR(nQtd,5,0),TRANSF(PROD->VALORUNI,"@E 99,999.99"),TRANSF(nTotal,"@E 999,999.99")} )
form_venda.oDescPro.Value:=SPAC(30)
form_venda.oVrUnit.Value:="0,00"
form_venda.oQuantidade.Value:=0
form_venda.oSubTot.Value:="0,00"
form_venda.oCodigo.Value:=SPAC(6)
form_venda.oCodigo.setfocus
Return .T.
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
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Getbox ou Textbox ?

Mensagem por Nascimento »

Mais uma vez muito obrigado Amigo Toledo , com pequenas auterações se encaixou no que precisava
e vamos avante nesta empreitada,

att: Nascimento
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Responder