TEXTBOX - edição tipo PDV / PAF / ECF
Moderador: Moderadores
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
Hasa, boa noite!
Tentei pegar trecho do programa e compilar como um novo, mas, são tantos os erros que fica grande do mesmo jeito pra eliminar os erros.
Bom, sinceramente, se alguém tiver mais uma opinião pra ajudar a entender se é erro de programação, incompatibilidade, ou qualquer que seja.
O negócio ao clicar na barra de rolagem do GRID_1, além de eliminar os itens já preenchidos nele, há uma interferência nos TEXTBOXs q param de funcionar corretamente.
vlw... Feliz Natal !
Tentei pegar trecho do programa e compilar como um novo, mas, são tantos os erros que fica grande do mesmo jeito pra eliminar os erros.
Bom, sinceramente, se alguém tiver mais uma opinião pra ajudar a entender se é erro de programação, incompatibilidade, ou qualquer que seja.
O negócio ao clicar na barra de rolagem do GRID_1, além de eliminar os itens já preenchidos nele, há uma interferência nos TEXTBOXs q param de funcionar corretamente.
vlw... Feliz Natal !
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 - 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

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
GRID_ com falhas
bom dia amigos de guerra!
Alguém já passou por isso ou tem alguma outra sugestão?
... :%
Alguém já passou por isso ou tem alguma outra 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 - 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!
TEXTBOX - edição tipo PDV / PAF / ECF
Amigão seguinte, na pasta da MINIGUI/HMG tem a pasta SAMPLES com vários exemplos de Grid provavelmente vc conseguira achar um parecido com o seu.
:)Pos
HASA
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
sim prezado HASA... eu já testei todos.HASA escreveu: a pasta SAMPLES com vários exemplos de Grid
O que preciso entender mesmo, é o que está causando esse erro de lentidão ao apenas clicar na barra de rolagem.
Se, alguém tiver mais uma dica. :)Pos
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 - 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!
TEXTBOX - edição tipo PDV / PAF / ECF
W de Paula, estou vindo aqui responder sua questão no intuito de ajudar, por favor não entenda o contrário.
Na pasta Minigui\Samples\Aplications , tem uma pasta com o nome Super, é um sistema de pizzaria completo, funciona 100%, não é uma "Brastemp", mas para aprendizado é excelente, assim vc não fica perdido vendo exemplos isolados, e consegue entender o que é como funcionam juntos os componentes gráficos, além do mais, ele usa DBF, que vc já está acostumado.
Se eu fosse vc, olharia e testaria de trás pra frente e do avesso esse exemplo, para aí sim, quando vc vier aqui no fórum, já ter uma base boa.
Abraços
Na pasta Minigui\Samples\Aplications , tem uma pasta com o nome Super, é um sistema de pizzaria completo, funciona 100%, não é uma "Brastemp", mas para aprendizado é excelente, assim vc não fica perdido vendo exemplos isolados, e consegue entender o que é como funcionam juntos os componentes gráficos, além do mais, ele usa DBF, que vc já está acostumado.
Se eu fosse vc, olharia e testaria de trás pra frente e do avesso esse exemplo, para aí sim, quando vc vier aqui no fórum, já ter uma base boa.
Abraços
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
TEXTBOX - edição tipo PDV / PAF / ECF
aprendi muito aqui no fórum , sobre a minigui mais o pacote que comprei do amigo MSDN foi onde
comecei a pegar os conceitos , hj tenho meu soft 95% portado
o console foi feito com as telas do miro3
e devagarzinho portando pra minigui
o mais difícil foi manter algumas características do console pois os usuários gostam mais do uso do teclado do que do mouse
comecei a pegar os conceitos , hj tenho meu soft 95% portado
o console foi feito com as telas do miro3
e devagarzinho portando pra minigui
o mais difícil foi manter algumas características do console pois os usuários gostam mais do uso do teclado do que do mouse
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
TEXTBOX - edição tipo PDV / PAF / ECF
Isso aí Marcelo Neves;
Eu, no início estava bastante apertado com a necessidade de um grande cliente e usei o teu exemplo (sistema para pizzaria) como base para a minha aplicação. Depois fui agregando de acordo com minhas necessidades e fazendo pesquisas no próprio repositótio dos exemplos. Lá existe um exemplo pra quase tudo.
Para 90 % do que foi necessário para portar Clipper -> Harbour/Hmg extended eu encontrei em exemplos práticos no repositório. O resultado é que em menos de 3 meses portei um sistema Fiscal inteiro para Harbour 3.4/HMG-Extended/Mingw.
Aqui não é espaço para curso intensivo for dummies.
Eu, no início estava bastante apertado com a necessidade de um grande cliente e usei o teu exemplo (sistema para pizzaria) como base para a minha aplicação. Depois fui agregando de acordo com minhas necessidades e fazendo pesquisas no próprio repositótio dos exemplos. Lá existe um exemplo pra quase tudo.
Para 90 % do que foi necessário para portar Clipper -> Harbour/Hmg extended eu encontrei em exemplos práticos no repositório. O resultado é que em menos de 3 meses portei um sistema Fiscal inteiro para Harbour 3.4/HMG-Extended/Mingw.
Aqui não é espaço para curso intensivo for dummies.
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
"W de Paula, estou vindo aqui responder sua questão no intuito de ajudar, por favor não entenda o contrário." absolutamente.
vou experimentar.
obrigado!
vou experimentar.
obrigado!
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 - 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

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
MSDN, desculpa a minha infantilidade:
"a pasta Minigui\Samples\Aplications"
você se refere à HMG (Harbour MiniGui) ou está referindo-se à HMGE (MiniGui Extend)?
"a pasta Minigui\Samples\Aplications"
você se refere à HMG (Harbour MiniGui) ou está referindo-se à HMGE (MiniGui Extend)?
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 - 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!
TEXTBOX - edição tipo PDV / PAF / ECF
Refere-se a MiniGUI Extended.
Amigo, na boa, eu vi suas últimas postagens, mas acredite, não precisa "sofrer" tanto, eu não sou um gênio, e com certeza é raro achar um por ai, mas a gente, como programador, ainda mais do xBase, que não tem muitos por ai, tem que se esforçar sempre, ir atrás, testar, testar e testar, não pode a cada "warning" achar que o mundo acabou, a questão de vc ainda não ter acostumado com programação gráfica, é assim mesmo, eu demorei uns 3 meses até começar a ter segurança e entendimento da transição Clipper para Harbour+MiniGUI, então, tenha calma e muito esforço, conseguir vc consegue, mas....só depende única e exclusivamente de vc....
Amigo, na boa, eu vi suas últimas postagens, mas acredite, não precisa "sofrer" tanto, eu não sou um gênio, e com certeza é raro achar um por ai, mas a gente, como programador, ainda mais do xBase, que não tem muitos por ai, tem que se esforçar sempre, ir atrás, testar, testar e testar, não pode a cada "warning" achar que o mundo acabou, a questão de vc ainda não ter acostumado com programação gráfica, é assim mesmo, eu demorei uns 3 meses até começar a ter segurança e entendimento da transição Clipper para Harbour+MiniGUI, então, tenha calma e muito esforço, conseguir vc consegue, mas....só depende única e exclusivamente de vc....
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
Infelizmente não testei pois o meu é HMG, infelizmente não tenho nada da HMG-E.MSDN escreveu:Refere-se a MiniGUI Extended.
São tantas as LIBs gráficas - que acho que deveria haver um consenso entre os "mantenedores" que um comando/função que se usa em cada uma serviria para todas. rsrs
É uma tal de HMG, HWGUI, HMGE, HBQT, WVG, WVW, etc... que nem sei como funcionam o básico de cada... aí se a gente for testar tudo, acaba que não dá em nada.
Por hora, estou usando a HMG 3.4.2 e a WVG (JUNTAS na IDE/HMG) para que meu sistema funcione no modo CONSOLE (já migrado pra harbour) e eu acrescente alguns botões gráficos nas telas CONSOLE (recursos estes da WVG) e as novas telas tentando criar os formulários da própria HMG, que seria o caso aqui em questão.
Se eu soubesse que teria essa tantão de problemas, adiaria a questão gráfica, pois uso o ACHOICE e é nele que estou agarrando pra mudar pra o simples GRID, e, que trava do nada.
:%
rsrsrs
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 - 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

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
boa noite! ou melhor boa madrugada!
então, tô aqui revisando o(s) código(s) do GRID, mas, infelizmente não consigo entender o que está causando o erro - que é o mesmo desde a minha primeira postagem.
Vou explicar o que quero fazer com outras palavras:
1 - estou desenvolvendo uma tela de frente de loja 100% gráfica na lib HMG 3.4.4;
2 - o "usuário" ao fazer a venda para o "cliente", vai lançando os produtos individualmente - tipo no supermercado;
3 - cada produto que finaliza vai sendo mostrado num GRID - um após o outro. Até aí tudo bem;
4 - só que se o "usuário" - no caso euzinho aqui, clicar na barra de rolagem do GRID, o sistema fica todo doido - parece um tipo de bug;
E, aí, não consigo entender e resolver. Aí vem a "velha" questão:
- qual LIB usar?
a) pensei que GTWVW ou GTWVG me atenderiam - pois praticamente ela é estilo console, mas, pode ser 100% gráfica, 100% console, ou MIX - mas, neste caso ela não tem um GRID;
b) conheci a HMG e me apaixonei à primeira vista, pois tem uma IDE - que apesar de ser bem simples, no meu caso, facilita a compilação - que faço dentro dela, e, através dela abro os PRGs para alterações... show.
c) descobri também, que a HMG 3.4.4 já vem com a GTWVG inclusa na pasta contrib, e, aí fiquei mais animado ainda, pois posso compilar meu aplicativo com as 2 LIBs numa boa;
d) então, pensei, os novos módulos, posso tentar fazer em 100% GUI, usando a HMG. E, foi aí que tudo começou e deu pau logo numa coisa tão simples que é o/a GRID.
Por favor, socooooorro Roberto Lopez, Dr. Sotto, Bedi, sZakats, Pablo, Toledo, Sygecom, MSDN, Nascimento, Itamar, Quintas, Hasa, sei lá... alguém... quem tem uma ideia?
Vc pode perguntar: posta pra nós os códigos: qual parte? pois já postei, de repente, algo que ainda não vi...
help-me!!!
então, tô aqui revisando o(s) código(s) do GRID, mas, infelizmente não consigo entender o que está causando o erro - que é o mesmo desde a minha primeira postagem.
Vou explicar o que quero fazer com outras palavras:
1 - estou desenvolvendo uma tela de frente de loja 100% gráfica na lib HMG 3.4.4;
2 - o "usuário" ao fazer a venda para o "cliente", vai lançando os produtos individualmente - tipo no supermercado;
3 - cada produto que finaliza vai sendo mostrado num GRID - um após o outro. Até aí tudo bem;
4 - só que se o "usuário" - no caso euzinho aqui, clicar na barra de rolagem do GRID, o sistema fica todo doido - parece um tipo de bug;
E, aí, não consigo entender e resolver. Aí vem a "velha" questão:
- qual LIB usar?
a) pensei que GTWVW ou GTWVG me atenderiam - pois praticamente ela é estilo console, mas, pode ser 100% gráfica, 100% console, ou MIX - mas, neste caso ela não tem um GRID;
b) conheci a HMG e me apaixonei à primeira vista, pois tem uma IDE - que apesar de ser bem simples, no meu caso, facilita a compilação - que faço dentro dela, e, através dela abro os PRGs para alterações... show.
c) descobri também, que a HMG 3.4.4 já vem com a GTWVG inclusa na pasta contrib, e, aí fiquei mais animado ainda, pois posso compilar meu aplicativo com as 2 LIBs numa boa;
d) então, pensei, os novos módulos, posso tentar fazer em 100% GUI, usando a HMG. E, foi aí que tudo começou e deu pau logo numa coisa tão simples que é o/a GRID.
Por favor, socooooorro Roberto Lopez, Dr. Sotto, Bedi, sZakats, Pablo, Toledo, Sygecom, MSDN, Nascimento, Itamar, Quintas, Hasa, sei lá... alguém... quem tem uma ideia?
Vc pode perguntar: posta pra nós os códigos: qual parte? pois já postei, de repente, algo que ainda não vi...
help-me!!!
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 - 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

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
BOM, agora já é 01:11h da matina.
Uma coisa "tal tola" mas cheguei à conclusão.
Os itens são lançados no GRID à medida que os produtos "são passados no PDV";
Então, percebi que o GRID após ser criado ele:
1 - está sem nenhuma informação;
2 - como está sem informação, não há a barra de rolagem - rolar o quê?;
3 - quando é lançado no GRID o primeiro item, surge então a barra de rolagem;
4 - interessante que com apenas um 1 item, ao clicar (e segurar o click do botão esquerdo) na barra de rolagem ela não trava;
5 - com isso o sistema continua funcionando perfeita;
6 - mas, ao adicionar um novo item/produto, ele aparece na segunda linha do GRID;
7 - se não clicar no barra de rolagem posso continuar lançando produtos que tudo dá certo;
8 - mas, se após o segundo item lançado se clicar na barra de rolagem, aí o sistema "fica doidão" - mamonas assassinas, rsrrs;
Então, não sei o que fazer.
Quando começo a empolgar e concluir que a HMG junto com a GTWVG é o que resolverá meus problemas, percebo que volto à estaca zero.
Aí dá vontade de "esquecer que um dia aprendi programação - há 31 anos atrás" e voltar no passado e virar pedreiro, carpinteiro, contabilista, etc...
ah! se existisse "máquina do tempo" rsrsrs
Uma coisa "tal tola" mas cheguei à conclusão.
Os itens são lançados no GRID à medida que os produtos "são passados no PDV";
Então, percebi que o GRID após ser criado ele:
1 - está sem nenhuma informação;
2 - como está sem informação, não há a barra de rolagem - rolar o quê?;
3 - quando é lançado no GRID o primeiro item, surge então a barra de rolagem;
4 - interessante que com apenas um 1 item, ao clicar (e segurar o click do botão esquerdo) na barra de rolagem ela não trava;
5 - com isso o sistema continua funcionando perfeita;
6 - mas, ao adicionar um novo item/produto, ele aparece na segunda linha do GRID;
7 - se não clicar no barra de rolagem posso continuar lançando produtos que tudo dá certo;
8 - mas, se após o segundo item lançado se clicar na barra de rolagem, aí o sistema "fica doidão" - mamonas assassinas, rsrrs;
Então, não sei o que fazer.
Quando começo a empolgar e concluir que a HMG junto com a GTWVG é o que resolverá meus problemas, percebo que volto à estaca zero.
Aí dá vontade de "esquecer que um dia aprendi programação - há 31 anos atrás" e voltar no passado e virar pedreiro, carpinteiro, contabilista, etc...
ah! se existisse "máquina do tempo" rsrsrs
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 - 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!
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
Por favor postear el código de un ejemplo donde se presenta el problema.microvolution escreveu:BOM, agora já é 01:11h da matina.
Uma coisa "tal tola" mas cheguei à conclusão.
Os itens são lançados no GRID à medida que os produtos "são passados no PDV";
Então, percebi que o GRID após ser criado ele:
1 - está sem nenhuma informação;
2 - como está sem informação, não há a barra de rolagem - rolar o quê?;
3 - quando é lançado no GRID o primeiro item, surge então a barra de rolagem;
4 - interessante que com apenas um 1 item, ao clicar (e segurar o click do botão esquerdo) na barra de rolagem ela não trava;
5 - com isso o sistema continua funcionando perfeita;
6 - mas, ao adicionar um novo item/produto, ele aparece na segunda linha do GRID;
7 - se não clicar no barra de rolagem posso continuar lançando produtos que tudo dá certo;
8 - mas, se após o segundo item lançado se clicar na barra de rolagem, aí o sistema "fica doidão" - mamonas assassinas, rsrrs;
Então, não sei o que fazer.
Quando começo a empolgar e concluir que a HMG junto com a GTWVG é o que resolverá meus problemas, percebo que volto à estaca zero.
Aí dá vontade de "esquecer que um dia aprendi programação - há 31 anos atrás" e voltar no passado e virar pedreiro, carpinteiro, contabilista, etc...
ah! se existisse "máquina do tempo" rsrsrs
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
TEXTBOX - edição tipo PDV / PAF / ECF
Dr. Soto, pra mim é uma honra tê-lo aqui no meu humilde tópico.Claudio Soto escreveu:Por favor postear el código de un ejemplo donde se presenta el problema.
Bom, já postei desde o início deste tópico, mas, para não lhe cansar muito vou postar novamente, e aproveito pra acrescentar outras partes do código deste PRG que ainda "euzinho" não tinha julgado como necessário.
Todas as linhas deste PRG foram aproveitadas de outro PRG que faz a mesma coisa em MODO CONSOLE e que usa o ACHOICE pra fazer o que eu quero. Neste caso fiz modificações nas linhas, comentei muitas, e, eliminei outras partes que percebi não serem necessárias. Ah! pelo que entendi o ACHOICE é substituído pelo GRID, e, é isso que preciso que funcione.
Eis as linhas iniciais - não todas pra não ficar muito grande, deste PRG↓:
Código: Selecionar todos
set cursor on
// set delimiters to DELIMITADORES // eliminado temporariamante por usar HMG em modo GUI 7/12/17W
// set delimiters on // eliminado temporariamante por usar HMG em modo GUI 7/12/17W
// set intensity on // eliminado temporariamante por usar HMG em modo GUI 7/12/17W
// set key TECLA_HELP to HELP_CAMPO // modificado pela linha abaixo 7/12/17w
// on key TECLA_HELP of HELP_CAMPO
// TELA_PADRAO (procname (),'Or‡amento FDL GUI',COR_PADRAO) // esta fun‡ao foi desabilitada e tudo ‚ feito em TELA_ENTRADA_GUI() // 6/11/17w
// setcolor (COR_PADRAO) // eliminado temporariamante por usar HMG em modo GUI 7/12/17W
ABERTURA ()
select ('DCI10016')
INICIALIZA_CAMPOS ()
// MsgInfo('Ap¢s ABERTURA() e INICIALIZA_CAMPOS')
ATUALIZA_CONTEUDO_ANTERIOR ()
// do while .not. (FIM)
// INICIALIZA_CAMPOS ()
// TELA_ENTRADA ()
// TELA_ENTRADA_GUI ()
TELA_ENTRADA_GUI (procname (),'Orçamento FDL GUI',COR_PADRAO)
// MsgInfo('Ap¢s TELA_ENTRADA_GUI')
// TRATA_CAMPOS ()
// EXIT // PROVISŸRIO 14/3/16w.
// TRATA_CAMPOS_GUI () // integrei essa fun‡ao ao TELA_ENTRADA_GUI // 6/11/17w
// MsgInfo('Ap¢s TRATA_CAMPOS_GUI')
// 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)
returnAs linhas abaixo são da função que cria o formulário:
Código: Selecionar todos
static function TELA_ENTRADA_GUI (PROGRAMA,SUB_TITULO,COR,ELEMENTO)
hb_Default(@ELEMENTO, space(1) )
mCD_VENDED := mCDOPERADO
Private fColor := { || if ( This.CellRowIndex/2 == int(This.CellRowIndex/2) , { 0,0,255 } , { 0,255,0 } ) }
mI := 1 // coloquei pra nao dar erro de limite de array 22/11/17w
DEFINE WINDOW Frm_TELA_ENTRADA ;
AT GetDesktopRealTop(),GetDesktopRealLeft() ;
WIDTH GetDesktopRealWidth() HEIGHT GetDesktopRealHeight() ;
TITLE PROGRAMA + SPACE (7) + SUB_TITULO ;
CHILD ;
ON INTERACTIVECLOSE CONFIRMA4 ('Deseja Cancelar sem Concluir', 6 ,'SiCCA v3.6.04 - Orçamento') // para confirmação
// TITLE 'Or‡amento FDL GUI' ;
// AT 0,0 ;
// WIDTH 800 ;
// HEIGHT 600 ;
// VIRTUAL WIDTH 1300 ;
// VIRTUAL HEIGHT 800 ;
@ 410 , 20 LABEL Label_0 ; // t¡tulo sub-total
VALUE 'SUBTOTAL' ;
AUTOSIZE // ;
@ 495 , 100 LABEL Label_0A ; // Informe o produto para o usu rio digitar
VALUE 'Informe o Produto...' ;
FONTCOLOR { 255, 0, 0 } ;
FONT "Arial" SIZE 24 BOLD ;
AUTOSIZE // ;
@ 250 , 460 LABEL Label_0B ; // nome da MVinfo
VALUE 'MVinfo Sistemas' ;
FONTCOLOR { 255, 0, 0 } ;
FONT "Arial" SIZE 24 BOLD ;
AUTOSIZE // ;
@ 290 , 460 LABEL Label_0C ; // telefone da MVinfo
VALUE 'Fone(31) xxxx-xxxx' ;
AUTOSIZE // ;
// @ 310 , 460 LABEL Label_0D ;
// VALUE 'www.mvinfo.wmx.net.br' ;
// AUTOSIZE // ;
@ 10 , 10 LABEL Label_1 ; // nome do operador do computador/sistema
VALUE 'Operador : ' + transform ( mCDOPERADO , pCDOPERADO ) ;
AUTOSIZE // ;
@ 10 , 150 LABEL Label_2 ; // nome do vendedor
VALUE 'Vendedor : ' + strzero( mCD_VENDED ) ;
AUTOSIZE // ;
@ 10 , 300 LABEL Label_3 ; // no or‡amento anterior
AUTOSIZE ;
VALUE HB_AnsiToOem('Orçamento Anterior : ') + transform ( aNU_VENDA , pNU_VENDA ) // ;
@ 10 , 600 LABEL Label_4 ; // data do or‡amento
AUTOSIZE ;
VALUE HB_AnsiToOem('Data do Orçamento: ') + transform ( mDT_VENDA , pDT_VENDA ) // ;
@ 375, 479 LABEL Label_5 ; // aqui vai o nome do produto mNMPRODUTO 6/11/17w
VALUE '';
FONTCOLOR { 255, 200, 100 } ;
AUTOSIZE // ;
/*FONT "Arial" SIZE 14 BOLD ;*/
@ 375, 670 LABEL Label_6 ; // aqui vai o valor unit rio do produto mVRPRODUTO 6/11/17w
VALUE '';
FONTCOLOR { 255, 100, 200 } ;
AUTOSIZE // ;
/*FONT "Arial" SIZE 14 BOLD ;*/
@ 325, 479 LABEL Label_7 ; // c¢digo do produto
AUTOSIZE ;
VALUE HB_AnsiToOem('Código do Produto') // acrescentado para informar ao usu rio que ‚ pra digitar o CàDIGO do produto
@ 325, 700 LABEL Label_8 ; // quantidade do produto a ser lan‡ado na nota
AUTOSIZE ;
VALUE 'Quant' // acrescentado para informar ao usu rio que ‚ pra digitar o CàDIGO do produto
@ 342 , 650 LABEL Label_11 ; // "x" que representa a multiplica‡ao do produto
VALUE 'X' ;
FONTCOLOR { 255, 0, 0 } ;
FONT "Arial" SIZE 24 BOLD ;
AUTOSIZE // ;
@ 430 , 20 LABEL Label_12 ; // para usar com mVT_MERCAD 14/11/17w
VALUE '' ;
FONT "Arial" SIZE 14 BOLD ;
AUTOSIZE
@ 450 , 20 LABEL LABEL_13 ; // para usar com mVR_DESCON 14/11/17w
AUTOSIZE ;
FONT "Arial" SIZE 14 BOLD ;
VALUE ''
@ 470 , 20 LABEL LABEL_14 ; // para usar com mVT_VENDA 14/11/17w
AUTOSIZE ;
FONT "Arial" SIZE 14 BOLD ;
VALUE ''
define GRID grid_1
row 50
col 08
WIDTH 440
HEIGHT 350
HEADERS {HB_AnsiToOem('Código'),HB_AnsiToOem('Descrição do Produto'),'Gr','Qte','Vr.Unit.','Total'} // codigo=numeric | descri‡ao=textbox | gr=textbox | qte=numeric | vr.unit=numeric | total=numeric
WIDTHS {100,240,30,50,100,120}
ColumnCONTROLS { {'TEXTBOX','NUMERIC', '999999999999'} , 'TEXTBOX' , 'TEXTBOX' , 'TEXTBOX' , 'TEXTBOX' , 'TEXTBOX' }
DYNAMICFORECOLOR { fColor , fColor , fColor , fColor , fColor , fColor }
// VIRTUAL .t.
// ITEMCOUNT 1
// lines .f.
// cellnavigation .t.
// EDITOPTION GRID_EDIT_DEFAULT
// allowedit .t.
end GRID
// EDIT
@ 345 , 470 TEXTBOX txtCDPRODUTO WIDTH 150 HEIGHT 30 FONTCOLOR BLUE BOLD NUMERIC MAXLENGTH 13 FONT "Arial" SIZE 14 ON ENTER { || fCDPRODUTO_GUI () } // INPUTMASK '9999999999999' FORMAT 'E' PARENT Frm_TELA_ENTRADA
@ 345 , 700 TEXTBOX txtQT_VENDA PARENT Frm_TELA_ENTRADA WIDTH 50 HEIGHT 30 FONTCOLOR BLUE BOLD NUMERIC MAXLENGTH 07 FONT "Arial" SIZE 16 ON ENTER { || fQT_VENDA_GUI () } // INPUTMASK pQT_VENDA FORMAT 'E'
// MsgInfo('dentro do CAD_PRODUTOS_GUI() ap¢s do textbox txtQT_VENDA')
DEFINE STATUSBAR PARENT Frm_TELA_ENTRADA
STATUSITEM " MVinfo Sistemas e Automação - www.mvinfo.wmx.net.br | microvolution@hotmail.com | (31) xxxx-xxxx "
STATUSITEM "clock"
END STATUSBAR
DEFINE TIMER tempo PARENT Frm_TELA_ENTRADA ;
INTERVAL 1000 ;
ACTION ShowTime()
// OPCOES_CAMPOS () // eliminado temporariamante por usar HMG em modo GUI 7/12/17W
// TRATA_DADOS_GUI () // substitu¡ para CAD_PRODUTOS_GUI 7/11/17w
// MsgInfo('antes do CAD_PRODUTOS_GUI()') // linha tempor ria 10/11/17w
// CAD_PRODUTOS_GUI()
END WINDOW
Frm_TELA_ENTRADA.txtCDPRODUTO.SetFocus
CENTER WINDOW Frm_TELA_ENTRADA
ACTIVATE WINDOW Frm_TELA_ENTRADA
******** FORMUL†RIO PADRŽO DO WINDOWS PARA HARBOUR 5/3/15W ***********************************
**********************************************************************************************
return
Código: Selecionar todos
static function fCDPRODUTO_GUI ()
local ARQUIVO := select ()
mCDPRODUTO := Frm_TELA_ENTRADA.txtCDPRODUTO.value // mudei para o final da fun‡ao 22/11/17w
if empty(Frm_TELA_ENTRADA.txtCDPRODUTO.value)
MsgExclamation ('Preenchimento obrigat¢rio','Or‡amento FDL GUI - SiCCA v3.6.04')
CONSULTA_ARQUIVO ('','','MCDPRODUTO')
select (ARQUIVO)
return (.f.)
endif
if Frm_TELA_ENTRADA.txtCDPRODUTO.value < 1 .or. Frm_TELA_ENTRADA.txtCDPRODUTO.value > 9999999999999
MsgInfo ('C¢digo do Produto deve estar entre 1 e 9999999999999 inclusive','Or‡amento FDL GUI - SiCCA v3.6.04') // era 3.6.03 em 31/5/16w
select (ARQUIVO)
return (.f.)
endif
select ('DCI10010')
if .not. EXISTE (str (mCDPRODUTO,13))
MsgExclamation ('C¢digo do Produto n„o cadastrado','Or‡amento FDL GUI - SiCCA v3.6.04') // era 3.6.03 em 31/5/16w
CONSULTA_ARQUIVO ('','','MCDPRODUTO')
select (ARQUIVO)
return (.f.)
endif
mDSPRODUTO := left (DSPRODUTO,32) // Modificado p/Walcledson em 09/05/01 p/func. mt, cm, kg, etc.
mVR_UNITAR := VR_PREVEN*(1+(mVR_PERJUR/100))
Frm_TELA_ENTRADA.Label_5.value := mDSPRODUTO
mCD_GRADE := DSUNIDADE // Acrescentado em 27/1/3w para puchar uma grade b sica na venda.
keyboard chr(13)
select (ARQUIVO)
mLINHA[mI,01] := mCDPRODUTO
mLINHA[mI,02] := mDSPRODUTO
mLINHA[mI,03] := mCD_GRADE
Frm_TELA_ENTRADA.txtQT_VENDA.Enabled := .t.
Frm_TELA_ENTRADA.txtQT_VENDA.SetFocus
return (SAIDA_VALIDA ())Código: Selecionar todos
static function fQT_VENDA_GUI ()
select ('DCI10016')
if mQT_ESTOQ2 = nil
mQT_ESTOQ2 := DCI10014->QT_ESTTOT // Esta linha busca do estoque da grade atual. 28/9/2w
endif
mQT_VENDA := Frm_TELA_ENTRADA.txtQT_VENDA.value // mudei para o final da linha 22/11/17w
ON KEY F6 OF Frm_TELA_ENTRADA ACTION ALT_QUANT_ESTOQUE_GUI()
if Frm_TELA_ENTRADA.txtQT_VENDA.value < 0.001 .or. Frm_TELA_ENTRADA.txtQT_VENDA.value > 999.999
MsgInfo ('Quantidade deve estar entre 0.001 e 999.999 inclusive','Or‡amento FDL GUI - SiCCA v3.6.04') // era 3.6.03 em 31/5/16w
return (.f.)
endif
if Frm_TELA_ENTRADA.txtQT_VENDA.value > 0 .and. Frm_TELA_ENTRADA.txtQT_VENDA.value > mQT_ESTOQ2
MsgInfo ('Quantidade de venda n„o pode ser maior que quantidade em estoque!...','Or‡amento FDL GUI - SiCCA v3.6.04') // era 3.6.03 em 31/5/16w
return (.f.)
endif
set key K_F6 to
// release key K_F6 on Frm_TELA_ENTRADA
release mQT_ESTOQ2
mLINHA[mI,04] := mQT_VENDA
mLINHA[mI,05] := mVR_UNITAR
mLINHA[mI,06] := mLINHA[mI,05] * mLINHA[mI,04] // vr.unit rio x qt 22/11/17w
Frm_TELA_ENTRADA.Label_6.value := mVR_UNITAR
Frm_TELA_ENTRADA.txtCDPRODUTO.Value := 0
Frm_TELA_ENTRADA.txtQT_VENDA.Enabled := .f.
Frm_TELA_ENTRADA.txtCDPRODUTO.Enabled := .t.
Frm_TELA_ENTRADA.txtCDPRODUTO.SetFocus
Frm_TELA_ENTRADA.Grid_1.AddItem ( { mLINHA[mI,01] , mLINHA[mI,02] , mLINHA[mI,03], mLINHA[mI,04], mLINHA[mI,05], mLINHA[mI,06] } ) mI += 1 // total de produtos na venda/or‡amento 22/11/17w
keyboard K_ENTER
return (SAIDA_VALIDA ())Código: Selecionar todos
Frm_TELA_ENTRADA.Grid_1.AddItem ( { mLINHA[mI,01] , mLINHA[mI,02] , mLINHA[mI,03], mLINHA[mI,04], mLINHA[mI,05], mLINHA[mI,06] } ) mI += 1 // total de produtos na venda/or‡amento 22/11/17w1 - talvez está dando pau, pois, não sei como reagir ao modo GUI que é 100% controlado por EVENTOS - e isso ainda não entrou em minha mente, pois a gente que veio de CLIPPER fica sempre esperando um ENTER, ou ESC ou F1-F12 pra que o processador execute alguma tarefa;
2 - talvez o GRID não seja a solução que eu preciso para substituir o ACHOICE;
3 - talvez a maneira com que a ARRAY mLINHA[X,X] seja a causadora do problema;
4 - talvez as linhas que chamam funções na linguem"C" bem no início é que estão causando a "pane" ou "bug" no GRID, as quais coloco-as abaixo para sua apreciação:
Código: Selecionar todos
**************************************************************************************************************
** linhas abaixo acrescentadas para funcionar corretamente os BOXES PANEL/BOX 18/6/15w
#xcommand DRAW PANEL IN WINDOW <parent> ;
AT <frow>,<fcol> ;
TO <trow>,<tcol> ;
=>;
DrawWindowBoxRaised( <"parent">, <frow>, <fcol>, <trow>, <tcol> )
#xcommand DRAW BOX IN WINDOW <parent> ;
AT <frow>,<fcol> ;
TO <trow>,<tcol> ;
=>;
DrawWindowBoxIn( <"parent">, <frow>, <fcol>, <trow>, <tcol> )
** linhas acima acrescentadas para funcionar corretamente os BOXES PANEL/BOX 18/6/15w
**************************************************************************************************************1 - o INTERACTIVEONCLOSE do formulário↓:
Código: Selecionar todos
ON INTERACTIVECLOSE CONFIRMA4 ('Deseja Cancelar sem Concluir', 6 ,'SiCCA v3.6.04 - Orçamento') // para confirmação2 - Comentei diversas linhas pertencentes à criação do GRID (do exemplo que peguei na pasta SAMPLES), por não entender bem o que elas fazem ↓:
Código: Selecionar todos
// VIRTUAL .t.
// ITEMCOUNT 1
// lines .f.
// cellnavigation .t.
// EDITOPTION GRID_EDIT_DEFAULT
// allowedit .t.Código: Selecionar todos
@ 345 , 470 TEXTBOX txtCDPRODUTO WIDTH 150 HEIGHT 30 FONTCOLOR BLUE BOLD NUMERIC MAXLENGTH 13 FONT "Arial" SIZE 14 ON ENTER { || fCDPRODUTO_GUI () } // INPUTMASK '9999999999999' FORMAT 'E' PARENT Frm_TELA_ENTRADA 4 - Ao final da criação do WINDOW com o END WINDOW e antes do CENTER/ACTIVATE WINDOW, coloco a linha onde dá direciona o SETFOCUS ↓:
Código: Selecionar todos
END WINDOW
[b] Frm_TELA_ENTRADA.txtCDPRODUTO.SetFocus[/b]
CENTER WINDOW Frm_TELA_ENTRADA
ACTIVATE WINDOW Frm_TELA_ENTRADAERROR BASE/1070 Erro nos Parâmetros: ==
Veja a tela do erro, por favor: A linha 4013, contém apenas:
Código: Selecionar todos
ACTIVATE WINDOW Frm_TELA_ENTRADABom, voltando ao GRID, pra facilitar o entendimento da array/matriz mLINHA[X,X] explico-a com mais detalhes:
- ela é no formato n,6 elementos (onde "n" é limitado ao máixmo de 16), representando a quantidade máxima de produtos na venda. Neste caso, 16 produtos. Já o segundo parâmetro dela, são os itens do produto, que são:
- mLINHA[n,01] := "armazena o CÓDIGO DO PRODUTO. No nosso exemplo aqui = 17"
- mLINHA[n,02] := "armazena o NOME DO PRODUTO. No nosso exemplo = KIT EMBREAGEM
- mLINHA[n,03] := "armazena a GRADE - exemplo: UN, PC, PT etc
- mLINHA[n,04] := "quantidade de itens do produto lançado
- mLINHA[n,05] := "valor unitário do produto - preço de venda"
- mLINHA[n,06] := mLINHA[n,05] * mLINHA[n,04] = "valor total deste produto: VALOR DELE X QUANTIDADE"
Bom, espero que não lhe tenha cansado muito, mas, que o Sr. Dr. Soto, ou demais colegas, possam me dar uma luz no "fim do túnel" e euzinho saia deste problemão de uma coisa que parece ser tão simples.
Talvez por ser simples e por estar acostumado com PROCEDURES esperando alguma coisa do TECLADO é que seja a chave pra abrir a porta e ver a luz no fim do túnel.Meu comentário final!!!
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 - 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!
