Prezado, obrigado por vc entrar nessa discussão também e quem tem acrescentado muito não só a meus conhecimentos mas de tantos outros quantos precisarem não só agora mas num futuro qualquer.rubens escreveu:Olá...
Também não consegui fazer do jeito que você tá tentando...dê uma olhada no meu exemplo aí de repente te ajuda em alguma coisa...
Rubens
Baixei e dei uma rápida visualizada em seu post, achei muito legal... mas, foi muito rápido, vou tentar dar mais uma desbulhada com calma.
Antes, como fiz um paliativo, estou tentando fazer o meu primeiro formulário de cadastro já em gráfico. Eu explico e vou postar a tela.
1 - como meu aplicativo estava 100% CONSOLE MODE, aos poucos vou acrescentado gráficos. Por exemplo, todas as perguntas ao usuário (confirmação, atenção, erro, saída) já estão em modo GRÁFICO;
2 - Fiz uma mesclagem de CONSOLE x GRÁFICO juntos para poder fazer essa migração de CONSOLE para GRÁFICO aos poucos;
2.1 - pra isso, eu começo o sistema em modo GRÁFICO criando apenas um WINDOW MAIN genérico (chamo de F1) e que dou um .HIDE(), .MINIMIZE() e .RELEASE(), mas, no momento de sua criação eu chamo uma função em ON INIT ativa_console().
2.2 - Em seguida a tela preta (modo console) aparece e a partir daí posso normalmente executar em ambos os ambientes do jeito que eu quiser;
3 - Só tem um problema (eu não sei como resolver) que sou obrigado a criar o formulário principal (que seria o verdadeiro window main) como WINDOW CHILD/MODAL (chamo de F2), pois o meu MENU POPUP é criado do jeito que mostrei pra vcs aqui neste tópico;
4 - Se houver um jeito de redefinir as opções do MENU MAIN F1, ficará melhor ainda, pois não mais criarei o F2/MODAL e reaproveitarei o que já fora criado, economizarei espaço em memória (pois o F1 nunca pode ser fechado por ser o WINDOW MAIN) e otimizarei o sistema;
5 - Agora, já estou criando o meu primeiro formulário de cadastro que usa o WINDOW PCI10048.FMG, mas, como tudo ainda pra mim é novo, as coisas básicas não estou conseguindo fazer;
5.1 - Vejam que no meu sistema antigo a cada ENTER no @ l,c say get picture valid f() é executado uma ação que verifica na função chamada se o que se digitou é permitido ou não;
5.1.1 - Por exemplo, logo no primeiro EDITBOX que é a variável mNU_VENDA (é assim em modo console) ao pressionar ENTER ele tem que informar ao usuário se o que "ele digitou ou não" se está correto ou não";
5.1.2 - Pode ser uma coisa boba e eu sei que é, mas, pra mim, isso tá mais difícil que no clipper antigo ou no delphi que isso tiro de letra...
5.2 - Então isso tá muito difícil de entender, pois até mesmo o PABLO e tantos outros já tentaram me mostrar que preciso reaprender a programar em modo gráfico pois tudo é diferente, e, o JoséQuintas me deixou com "uma pulga atrás da orelha" ao dizer que o MENU é apenas a ponta do "iceberg"... e para facilitar (no lugar de digitar no braço) usei a IDE/HMG para criar esse tal formulário de cadastro e "agora José...?" como faço?
5.3 - Incrível que programo no ObjectPascal (delphi) e lá não consigo agarrar tanto, pois em cada objeto é só dar um clique duplo e ali criar os códigos necessários para que ele funcione, e, aqui na IDE/HMG não existe esse clique duplo, então... ? ? ? ?
6 - vejam as imagens dessa tela de cadastro com LABEL/TEXTBOX/COMBOBOX/TAB etc, etc... Então, no clipper ou MODO CONSOLE as variáveis são iniciadas e a cada enter é verificado se o que se digitou é válido.
1 - E, agora amigos, como faço para essa primeira variável "Número da OSV" (LABEL) mNU_VENDA (EDITBOX) pegue o que realmente tem que pegar que são as funções do modo console?
2 - Pois, está aparecendo como na hora da construção desse formulário na IDE/HMG sem valor algum, vou passando o TAB e vai aceitando como se fosse apenas um "brinquedinho";
3 - Como disse parece ser uma coisa boba, e, é, pois no delphi isso não vejo dificuldade, mas, aqui, tá tão difícil...
Enfim, gostaria que todos me perdoassem a minha falta de lógica, raciocínio e muitos podem pensar em preguiça, não, isso não é a verdade, pois sento na frente computador pela parte da manhã e fico até 2h da madruga do outro dia... de segunda a segunda, minha esposa e filhos acabam ficando a devida atenção merecida.
Aos moderadores, se estiverem errado o local dessas considerações, me perdoem também, e, se acharem conveniente, podem mudar o local, fiquem à vontade!


