Clipper On Line • Ver Tópico - TEXTBOX - edição tipo PDV / PAF / ECF

TEXTBOX - edição tipo PDV / PAF / ECF

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 15 Mar 2016 17:53

Pessoal, no meu jeito de cadastrar produtos anteriormente no clipper e também após migrado para o harbour é usando um ACHOICE.
Agora, estou testando os gráficos do FORMULÁRIO (JANELA WINDOW) da HMG (no braço sem ajuda de criação do formulário), conforme imagem:
16-0315 - compilação formWindow-1.png

Bom, observem que à direita e, abaixo do MVINFO existe um TEXTBOX. e à esquerda um enorme DRAW.
Então, não sei se abrir um novo tópico está correto e se o título do mesmo também está adequado.
Me perdoem caso tenha cometido uma ou as duas infrações acima.
O que quero é o seguinte:
- Nesse tal TEXTBOX o usuário digitar a quantidade (ou se for uma unidade apenas, já vir previamente digitado) e multiplicar com o asterisco ( * ) o código do produto a ser lançado.
- Caso ele não saiba, ou o leitor não ler o código, ele pressionar F4 que abrirá um BROWSE (no jeito antigo sei fazer e está pronto uma função que faz isso) e ao pressionar ENTER ou o BOTÃO ESQUERDO do mouse sobre o produto, o que o TEXTBOX torna-se vazio (empty) novamente aguardando nova digitação;
- No caso do primeiro e os demais produtos lançados, são impressos (transferidos para o DRAW que mencionei) através de vários LABELs ou um tipo de ACHOICE HMG.
- Ao final, o usuário pressiona ESC sobre o TEXTBOX do produto, e, aí vai aparecer as formas de pagamento e os demais LABELs/TEXTBOXs restantes necessários para a finalização do PDV.
Se tiverem links sobre os temas, pode(m) mandar que vamos testar e com certeza postar os resultados.
Portanto, se alguém, daqui dos professores, souberem e puderem nos ajudar, agradeço!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

HMG - TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor Toledo » 15 Mar 2016 18:14

microvolution escreveu:- No caso do primeiro e os demais produtos lançados, são impressos (transferidos para o DRAW que mencionei) através de vários LABELs ou um tipo de ACHOICE HMG.

Amigo, acho que seria melhor uma GRID no lugar de vários LABEL.

Veja:
C:\hmg.3.4.2\DOC\data\Grid.htm

Veja também:
C:\hmg.3.4.2\SAMPLES\Miscellaneous\PEDIDOS
C:\hmg.3.4.2\SAMPLES\Controls\Grid\GRID_07
C:\hmg.3.4.2\SAMPLES\Controls\Grid\GRID_40

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 de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 15 Mar 2016 19:17

Toledo escreveu:C:\hmg.3.4.2\SAMPLES\Miscellaneous\PEDIDOS
Toledo, o troço tá até em portugues... topdmais...
Agora, abriu meu leque mais ainda, pois quando for a hora de consultar o que foi vendido, posso usar igualzinho ou um pouco diferente...
Bom, quanto à primeira ideia do TEXTBOX composto, tem alguma sugestão?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 17 Nov 2017 15:02

Srs. tive um problemão aqui que perdi todos os meus fontes.
Estou retomando essa discussão novamente.
Bom, na minha primeira postagem deste tópico eu mostro uma tela com um "draw" do lado esquerdo em branco. Nele eu quero colocar os produtos que forem sendo lançados na venda. No modo "console" eu uso a função achoice() que inclusive funciona e muito bem. Bom, neste caso em modo "gráfico", alguns dos professores sabe o que vou usar para substituir e que serve de modo interativo, que se quiser eliminar algum item basta o usuário final clicar em cima dele.

Alguém tem alguma ideia funcional?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor HASA » 17 Nov 2017 15:41

:D
Boa tarde, utilize um GRID, você conseguira fazer exatamente o que pretende ok.
HASA
:)Pos
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 23 Nov 2017 17:02

HASA escreveu:Boa tarde, utilize um GRID
olá grande professor HASA, eu estou tentando utilizar essa ferramenta GRID, mas, pelo que percebo, o conceito de GUI realmente é muito complexo. A gente q veio dos anos 1986 acostumado com linguagem procedural tá demorando pra entender o POO...

Mas, já consegui alguma coisa com o GRID, mas, no meu windows 10/64 (não sei se é com ele ou com minhas linhas de digitação), quando clico na barra de rolagem dele os dados do GRID somem e fica lento o sistema....

Não sei o que está acontecendo...
mas, se tiver mais dicas, serão bem vindas!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor HASA » 24 Nov 2017 12:42

:-O
Post a função additem{....} do seu grid é ai o problema.
:xau
HASA
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 28 Nov 2017 15:58

HASA escreveu:Post a função additem
ah! sim... o GRID é criado primeiro sem usar a palavra ITEMS no início...
à medida que vai sendo adicionado produtos é que vai se criando os items... e por incrível que parece vai preenchendo perfeitamente a lista...
mas se eu clicar na barra de rolagem horizontal pra ver todos os campos da tabela/dbf aí o sistema trava...
bom, vou postar e lhe reportar o quanto antes...
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 28 Nov 2017 21:55

HASA escreveu:Post a função additem{....} do seu grid é ai o problema.
... opa voltei.
por favor, veja o código abaixo e tente descobrir o que estou fazendo de errado:
define window frm_main
(...)
                        define GRID grid_1
                           row 50
                           col 08
                           WIDTH 440
                           HEIGHT 350
                           HEADERS {'Cd','Nome Prd','Qt','Vr.Un.','Vr.Total'}
                           WIDTHS {100,240,30,50,100,120}
                           ColumnCONTROLS { {'TEXTBOX','NUMERIC', '999999999999'} , 'TEXTBOX' , 'TEXTBOX' , 'TEXTBOX' , 'TEXTBOX' }
                           DYNAMICFORECOLOR { fColor , fColor , fColor , fColor , fColor }
                           cellnavigation .t.
                           EDITOPTION GRID_EDIT_DEFAULT
                           allowedit .t.
                        end GRID
(...)
end window

As linhas acima são da criação do GRID.
Agoras as abaixo são da matriz 1x5 que recebe os itens e os adiciona ao GRID através de ADDITEM.
Veja:
     Frm_Main.Grid_1.AddItem ( { prod[01,01] , prod[01,02] , prod[01,03], prod[01,04], prod[01,05] } )


Bom, diante do código acima, ainda tenho algumas questões que não entendo:
1 - No TEXTBOX posso usar o picture (tipo STRZERO do clipper) que coloca "zeros" à esquerda. é possível? lembram?
2 - Quando clico em qualquer coluna do COLUMNCONTROLS gostaria que editasse apenas o item QT (quantidade) e se fosse possível aumentar ou diminuir a quantidade. Caso seja "zero" o item deve ser excluído da venda/orçamento, sem perder a sequência... como é feito nas grandes redes de supermercados. Exemplo:
o cliente cancela o item 2 da nota, aí ele permanece ali e ao final da lista de itens que já comprou é feito um novo item "negativo" histórico tipo "cancelado item 2" e o valor e quantidade em negativo. É possível?

Bom, mas, não vamos com muita sede ao poço... o que puderem responder já estará de bom tamanho pra início.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor HASA » 30 Nov 2017 12:45

- Boa tarde, desculpe a demora mas... ta meio corrido aqui, vou respondendo a medida que conseguir visitar o forum ok.

acreceste isso:
Frm_Main.GRID_1.DisableUpdate
DELETE ITEM ALL FROM GRID_1 OF Frm_Main

Frm_Main.Grid_1.AddItem ( { prod[01,01] , prod[01,02] , prod[01,03], prod[01,04], prod[01,05] } ) && essa já tá lá

Frm_Main.GRID_1.REFRESH()
Frm_Main.GRID_1.EnableUpdate


Veja se estabiliza, caso não, se quiser envie um pequeno prg ( tipo DEMO.PRG ) que eu baixo e devolvo funcionando ok, Detalhe uso MINIGUI EXTEND.
:)Pos
HASA
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 30 Nov 2017 14:11

HASA escreveu:acreceste isso:

Então, HASA, só pra evitar confusão em minha "caixola"...
o código q vc passou é pra HMG (minigui) ou HMGE (minigui Extented)?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor HASA » 30 Nov 2017 15:13

:-O
Creio que funcione nas 2, mas... uso a Extend.
:)Pos
HASA
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 30 Nov 2017 23:18

HASA escreveu::-O
Creio que funcione nas 2

prezado... aceitar o código a HMG aceitou...
agora funcionar? :%
vou postar a tela antes de clicar na barra de rolagem... ↓
pdv-erro1.png
pdv-erro1.png (10.85 KiB) Visualizado 4017 vezes


Agora a próxima imagem é de quando se clica na barra de rolagem. por favor vejam ↓
pdv-erro2.png
pdv-erro2.png (8.09 KiB) Visualizado 4017 vezes

Além de acontecer de sumir os produtos já listados ali, o TEXTBOX de digitação do código do produto e o TEXTBOX da quantidade ficam estranhos e as teclas (ENTER e TAB) parecem que não mais são aceitas...

O que na verdade, acho que está acontecendo na minha "leiguisse" é que como estou ainda com a minha mente acostumada com o modo CONSOLE que a gente programava e sabia que o sistema ia descendo linha a linha, e, não precisava nem de DEBUG pra descobrir erros... pois sabíamos onde realmente estávamos...

Agora em POO ou GUI, o conceito é diferente e, eu mesmo, sinceramente, não consigo entender onde o sistema fica esperando um comando...
No modo CONSOLE a gente sabe que o sistema só pára em 2 lugras ou mais alguns:
- READ
- do while .t.
- etc

Em Orientação a Objeto, fico na sensação que não para em lugar nenhum ou que tudo se executa ao mesmo tempo...
Então - como disse na minha "leiguisse", concluo que as minhas funções antigas de CONSOLE devem ser repensadas pra funcionar corretamente em GUI... Mas, se conseguirei refazê-las ou não, é se alguém conseguir me explicar de uma forma simples, prática e bem didática com exemplos do dia a dia...
ah!
por exemplo, vejam parte do código CONSOLE (que adaptei para GUI) abaixo:
do while .not. (FIM)
     INICIALIZA_CAMPOS ()
     TELA_ENTRADA_GUI (procname (),'Vendas GUI',COR_PADRAO)
     if .not. FIM
          PEDE_OPCAO ()
     endif
enddo
close all
set (_SET_CURSOR,SALVA_CURSOR)
set (_SET_DELIMITERS,SALVA_DELIMITERS)
set (_SET_INTENSITY,SALVA_INTENSITY)
setcolor (SALVA_COR)
restscreen (0,0,maxrow (),maxcol (),SALVA_TELA)
return

Bom, vou tentar em poucas palavras explicar como é isso aqui em CONSOLE pra ver se alguém consegue me explicar como devo mudar isso para GUI/POO, aliás a rotina acima no original e que funciona perfeitamente é:
do while .not. (FIM)
     INICIALIZA_CAMPOS ()
     TELA_ENTRADA ()
     TRATA_CAMPOS ()
     if .not. FIM
          PEDE_OPCAO ()
     endif
enddo
close all
set (_SET_CURSOR,SALVA_CURSOR)
set (_SET_DELIMITERS,SALVA_DELIMITERS)
set (_SET_INTENSITY,SALVA_INTENSITY)
setcolor (SALVA_COR)
restscreen (0,0,maxrow (),maxcol (),SALVA_TELA)
return

- todas as telas do meu sistema (CONSOLE) basicamente possuem essa mesma sequência de linhas dentro do LOOP;
- o loop verifica se a variável lógica FIM está em .f. (que é o padrão desde o início deste PRG);
- a função INICIALIZA_CAMPOS() faz uma atribuição de todos os campos da tabela (.dbf) para as variáveis de memória;
- TELA_ENTRADA() cria a tela com todas as variáveis de memória e os SAYs necessários;
- TRATA_CAMPOS() cria e coloca em funcionamento todos os GETs e o READ necessários;
- if .NOT. (FIM) (variável que contém o tempo todo .f.) sempre aciona a função PEDE_OPCAO()
- agora se em algum momento for GRAVADO, EXCLUÍDO ou pressionado ESC/ENTER no teclado a variável FIM que está em .f. recebe .t. e o sistema chega ao fim...
simples assim...

Agora voltando ao POO/GUI

Então, observem que mudei apenas 2 linhas, ou seja, eliminei a linha TRATA_CAMPOS() que era a que criava os GETs e os coloquei dentro da função TELA_ENTRADA que agora chama-se TELA_ENTRADA_GUI((procname (),'Vendas GUI',COR_PADRAO) onde estão os substitutos dos SAYs (LABELs) e dos GETs que são os TEXTBOXs.

Então, meus caros colegas, o que não sei lidar é com o que fazer com - por exemplo:
DO WHILE .NOT. (FIM)

Pois no modo CONSOLE eu sei que se eu não fizer isso, o sistema encerra-se de forma incorreta.
Então, eu uso - não sei os senhores, em modo CONSOLE esse "loop" pra segurar o programa, até a hora certa dele ser encerrado.

Agora, em GUI/POO, como faria isso?
Portanto, o que gostaria de entender é como realmente o modo GUI/POO realmente funciona, pois assim, eliminaria mais um montão de funções inúteis ou desnecessárias em ambiente GUI/POO/WINDOWS nativo.

e tome :% estou pedindo socooooorroooooo!!! alguém aí pra atender um velho e bom telefone? :f
rsrsrs... só pra descontrair...
assim como o telefone fixo está em extinção, se nós - os que ainda não migraram pra gráfico, não fizermos alguma coisa urgente, deixaremos de existir!!! *-)
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor HASA » 01 Dez 2017 08:07

:? :-O

- Bom dia, infelizmente o raciocínio console você aos poucos vai ter que deixar de lado na cabeça ( as vezes vai precisar dele, não é para esquecer ) mas... aprenderas novos conceitos. No modo Gui não temos um GET que fica paradinho esperando a digitação e o ENTER para iniciar uma sequencia e retornar ao ponto inicial. A principio os TEXTBOX ( tem outros ) são os get´s mas... não é porque colocamos um valor nele que acontecerá alguma coisa depende dos eventos que você quer que dispare, validação do campo, ir para o próximo campo somente, ir para uma pequena janela, etc...

Mas... não se preocupe também não é tanto assim olha eu ai tentando de ensinar alguma coisa ´o) .

Como disse, crie uma pequena janela do tipo HELLO WORLD, somente com o seu problema prg + dbf compacte e coloque aqui, amanhã estarei de plantão e pego seu zip para deixar funcionando ok.

:)Pos

HASA
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

TEXTBOX - edição tipo PDV / PAF / ECF

Mensagempor microvolution » 04 Dez 2017 22:09

HASA escreveu:crie uma pequena janela do tipo HELLO WORLD, somente com o seu problema prg + dbf compacte e coloque aqui
olá HASA, não o fiz ainda, porque sinceramente, não entendi o que vc quer dizer, blz?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Próximo



Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro