Página 2 de 3

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 06 Abr 2013 00:31
por Paulo Pereira
Obrigado.. me sinto até mais animado..
voce diz..
No momento meu sistema está com a opção de usar ícones ou usar o modo texto normal, e as telas se configuram automaticamente
é bem isso que procuro.. mas como vc esta fazendo isso ? com a gtwvg ??
Veja no axexo (tela cliente) , como faria para que em vez de apertar F2, tenha um icone ali e possa ser clicado com o mouse ? ou ambos Icone e F2

E no anexo Tela1, como posso estando num submenu, no caso manutencao de vendas. clicar em estoque e mudar para aquela rotina ?

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 06 Abr 2013 10:27
por JoséQuintas
Talvez esteja confundindo as coisas.
Usar mouse não tem nada a ver com gtwvg.

O Harbour tem muita coisa automática pra isso, assim como o Clipper 5.3 também tinha.
Basicamente seria colocar no início do sistema:
SET( _SET_EVENTMASK, INKEY_ALL - INKEY_MOVE + HB_INKEY_GTEVENT )

Eu não uso nada automático do Harbour, então não sei dizer sobre o menu, por exemplo.
Mas no prompt já entra automático.

Se fizer a mão, basicamente é ter a lista com as regiões do clique, e testar se houve click do mouse.
Por exemplo um botão "INCLUIR" na linha 1, coluna 1, sendo que o tamanho do texto é 7 letras.

Código: Selecionar todos

IF MouseClick
   IF mRow() == 1 .And. MCol() >= 1 .AND. MCol() <= 7
       // clicou no incluir
   ENDIF
ENDIF
Lógico, esse é um exemplo. Vai montar um array com a lista dos locais de click.

No botão da gtwvg mais fácil. Você atribui um codeblock ao botão. Então pode fazer um Keyboard "I".

Se não tem nada de mouse, aí complicou.
Tudo vai depender do estilo dos seus fontes.
Se for daqueles que ficam repetindo rotina, pode começar repensando nos fontes.
Por exemplo, todas as seleções de opção chamando uma mesma rotina central. Ao atualizar a rotina, já atualiza o sistema inteiro.

No meu caso o módulo cria a lista de opções, e a rotina central faz o resto.
Na hora de usar botões, só mexi na rotina central.
O mesmo vale pro tbrowse.

Se achar que isso já complica, aí complicou mesmo... rs

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 06 Abr 2013 14:32
por Paulo Pereira
ok
essa questao do mouse no browse para selecionar opcao ja ajudou...

Quanto a navegacao nos menus, só consigo ir para os menus abaixo, nao consigo clicar e voltar.. nao sei se tem jeito (no cosole)
Na imagem, se estou no menu de relatorios do cliente, e quiser voltar para Vendas,
só apertando 3 vezes o ESC ( no teclado), ai chego no menu de vendas onde posso escolher com o mouse..

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 06 Abr 2013 18:33
por JoséQuintas
O que passei vale até pra esse menu.
No meu caso, eu tenho o array com as áreas de click.
Conforme o menu entra no submenu, ele passa essas áreas e acrescenta as novas, e assim por diante.
Mas dê uma olhada que o Harbour deve ter algo pronto pra menu desse tipo, já que o Clipper 5.3 também tinha.

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 18 Dez 2013 11:57
por Nascimento
Bom dia Amigos, Teria algum exemplo dessa tela ? ou seja um demo.prg
tem como upar pra o forum
agradeço desde já a todos

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 18 Dez 2013 12:13
por JoséQuintas
Não entendi a que exemplo se refere.

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 18 Dez 2013 15:38
por Nascimento
esta tela desse programa acima nao foi voce quem fez?
é dele que eu tou falando um exemplo basico dessa tela com poucos comandos

att :jnf

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 20 Dez 2013 16:44
por Nascimento
amigos tem alguma funçao na gtwvg que desabilite o X do dialog box
ou que use ela pra fechar o programa corretamente
tipo eu estou com o programa aberto quando fecho pelo "X" do dialog box quando reabro o programa da erro pois nao fechou as bases de dados

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 20 Dez 2013 17:11
por Toledo
Josivan, a função está na primeira mensagem deste tópico:

Código: Selecionar todos

HB_GtInfo( HB_GTI_CLOSABLE, .F. )
Abraços,

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 21 Dez 2013 00:59
por Nascimento
mais uma vez muito obrigado amigo toledo desculpa a amolaçao mais é que como disse antes estou começando agora a migrar pra o harbour por isso as metralhadoras de perguntas
muito obrigado a voce e a todos pelo tempo e paciencia disponibilizada a minha pessoa

att: josivan nascimento

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 14 Jan 2014 19:23
por JoséQuintas
Ao fechar a janela no X, a gtwvg transforma em ESC. Esquisito falar sobre não fechar arquivos.

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 13 Mar 2015 10:30
por alemellado
Bom dia Amigos, estou tendo dificuldades em usar o exemplo para salvar o tamanho da tela , fiz exatamente como o exemplo do Jose Quintas , porem quando saio e entro de novo, a tela não fica do tamanho que estava, ela fica com outra proporção fica muito esquisita as vezes fica mais estreita as vezes mais baixa.
Alguém sabe o que pode ser
Muito obrigado a todos
tela.jpg

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 13 Mar 2015 12:13
por JoséQuintas
A função que postei é pronta pra GTWVG.
Só precisa passar o parâmetro se é pra salvar ou ler.

Mas existe um detalhe em modo gráfico:
O programa pode trabalhar sem tela, um bom exemplo disso são os inúmeros serviços do Windows, que não tem tela.

Então o primeiro ponto é:
Quer alterar alguma coisa da tela?
Ok, mas primeiro você precisa da tela.

Então, a primeira coisa a fazer é criar a tela, pode ser até um simples CLS.

Código: Selecionar todos

PROCEDURE Main
   SetMode( 25, 80 )
   CLS
   // Aqui temos tela pra poder configurar
   ...
   RETURN
Nota:
Para GTWVG, linhas/colunas não definem tamanho da janela, porque o fonte pode ser ampliado/reduzido pra ficar de acordo.

Nota2:
O salvar/retornar configuração de tela na prática é salvar/retornar tamanho de fonte.
Se usar programas diferentes, com configurações diferentes de SetMode(), com essa rotina um vai afetar o outro.

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 13 Mar 2015 12:49
por JoséQuintas
Dei uma revisada no tópico inteiro, incluindo o fato de sugerirem outras LIBs.

Pra deixar o post completo, minha opinião:
Toda LIB gráfica, pra usar parte gráfica, precisa alterar o código fonte.
Pra usar recursos Windows ao máximo, incluindo várias janelas, é necessário "recodificar a cabeça", e só depois mexer no código fonte.

Enquanto essa recodificação mental não acontece, uma boa opção é usar uma LIB gráfica intermediária, que facilita algumas coisas.
No Windows eu preferi a GTWVG.
O primeiro uso não mexe em nada nos fontes, é só acrescentar na linquedição gtwvg.hbc

A partir daí, começam as diferenças GUI e console.
A primeira coisa é ser obrigatório o SetMode() pra fixar um tamanho de tela em linhas/colunas.
A segunda coisa é justamente essa, de configurar janela pra salvar/restaurar tamanho.

O que acho vantagem nela é justamente isso: dá pra ir devagar aprendendo as coisas.

Como decidir por uma LIB gráfica, se não se sabe o que entra nesse ambiente?
Então é ir aprendendo devagar, se possível com o mínimo de alterações possíveis no fonte.
Quanto mais preso a uma LIB, mais difícil trocar de LIB depois.

A primeira coisa que se pensa depois é mudar o menu pra Windows.
ERRADO
Se tentar fazer isso logo de inicio, vai desistir.
E se fizer isso depois, vai ver que não vale a pena, o menu Windows é muito ruim ao comparar com nosso menu normal.

O principal ponto é que o menu Windows é multitarefa, permite rodar qualquer rotina a qualquer momento.
Então imagine o programa no meio do cadastro de clientes, e de repente abre o cadastro de produtos.
Isso vai mudar arquivos em uso, área em uso, índice em uso, etc. Vai ser um estrago geral.
O menu vai ser a última coisa de todas, se fizer.

Tela Cheia/Modo Console/Grafico/Mouse

Enviado: 16 Mai 2015 12:35
por microvolution
Gente bom dia/boa tarde/boa noite! (depende do horário q vc ler essa minha postagem rsrrsrs).

Olha eu aqui "traveis".

Caí nesse post, pesquisando o seguinte no google:

"
É POSSÍVEL EM MODO CONSOLE EXECUTAR ALGUMA ROTINA EM MODO GRÁFICO? ou É POSSÍVEL NO CLIPPER/HARBOUR EXECUTAR ALGUM OUTRO APLICATIVO DE OUTRA LINGUAGEM QUE USE A NOSSA MESMA BASE DE DADOS?
"

Bom, era isso que digitei e procurava e ainda é o que procuro. Mas, resolver abrir essa tão interessante postagem aqui de nosso fórum de clipper, li todas as 2 páginas e achei muito válido as perguntas/dúvidas, comentários/respostas de todos os colegas.

Mas, a do JoséQuintas me chamou mais a atenção, pois percebi que ele passa ou passou pelos mesmos problemas que eu, não só em abandonar o clipper de uma vez por todas, mas também:
1 - os primeiros passos em se migrar de clipper/harbour (quem iniciou e não havia conseguido como durante 5 anos, dava vontade de largar tudo e esquecer que um dia fui programador - mas isso era e é impossível);
2 - depois que a gente aprende a migrar (não importa qual das ferramentas disponíveis no mercado) em modo console (eu tentei xhabour, harbour, e as GUIs HMG, XAILER, FIVEWIN, etc, mas, a que eu consegui foi HMG 3.0.35, estou pensando em mudar para HMG 3.0.46) a gente quase que chega a um orgasmo (opssss);
3 - existem algumas coisas que a gente quer que seja da noite para o dia, como tela gráfica, um banco de dados melhor, impressão em USB, etc, mas, isso a gente começa de novo a enfrentar sérios problemas, pois - vamos ser honestos, mesmo que a gente ganhou muito de 16 bits para 32 e nosso aplicativo agora roda em Win 8 64 bits, a verdade é que todos nós (clippeiros de plantão) dormimos no ponto, esperando que a CA CLIPPER colocasse o tão esperado VISUAL OBJECTS (clipper for windows) no mercado e que nunca aconteceu; e o pior, nos abandonou e deixou-nos a ver navios, com essa "estória" (digo estória e não história, pois acredito não ser a verdade) de que quebrou;
4 - Mas, mesmo assim a gente fica feliz por saber que já foi um grande recomeço; só que a realidade é que hoje a coisa é tão mais à frente que nós (smartphones com wathsapp, facebook, aplicativos, etc, etc, etc) que mesmo assim, a gente ainda está na idade da pedra;
5 - Como o amigo aqui citado por mim, em 1998 a 2000 comecei a aprender o Delphi 4 e depois o 7, pois lá (apesar de que os que se dizerem os "grandes programadores mundiais" não gostarem, e, até banalizarem essa linguagem que na verdade é a OBJETC PASCAL) temos uma IDE que nenhuma outra linguagem possui que é a IDE/RAD onde tudo é muito mais fácil, e, simples, que na verdade é o que nós precisamos. Assim como o usuário quer facilidade, vamos ser mais explícitos, nós também, já estamos tão ultrapassados, que se for pra quebrar cabeça não vale a pena, é melhor aprender outra linguagem. Então o Delphi que agora estou reaprendendo que a empresa EMBARCADERO comprou da Borland é o XE3, que inclusive dá pra criar rotinas/scripts e programas também em C++ que no nosso caso é a linguagem principal que o nosso clipper foi transformado, ou seja, o harbour é C ou C++; tanto é que podemos em nosso código original, acrescentar rotinas com nome/extensão "rotinas.c" (exemplo);
6 - Então como ele - JoséQuintas, pensei em abandonar de vez o nosso clipper/harbour e cair matando novamente no Delphi XE3 e as versões posteriores, pois essa de migrar para modo gráfico não é uma tarefa simples e/ou fácil, temos que arregaçar as mangas e nós (aqui membros desse fórum e apaixonados pelo clipper) não temos mais 14 anos (aliás foi a idade em que comecei com antigo BASIC), tenho é 4.3 de idade; Quem é novo não sabe ou nunca ouviu falar do clipper, talvez do harbour já tenha falado, pois uma empresa de impressoras (urmetDARUMA) oferece em seu portfólio de equipamentos manuais para harbour.
7 - Enfim, não estou ainda certo se vou esquecer de vez o clipper/harbour e fazer tudo no delphi, mas, muita coisa terei que fazer/decidir em tão pouco espaço de tempo.

Agora, sim, é que após ter lido esse tão rico tópico é que vou falar o que realmente estou fazendo para minimizar os problemas que tenho com a concorrência que já está a "mil anos luz" à nossa frente:

A) Ajustei a tela em modo console com uma fonte que chama-se VISUALLIB (assim a renomeei) e que no CMD aprendi como dominá-la e a aparência do meu software (sem uso da antiga VL - VisualLib), ou seja, sem uso de GUIs ou LIBs consigo um tela mais agradável;
B) Para diminuir pirataria (eliminar acho impossível) estou fazendo os seguintes procedimentos:
B.1) No meu aplicativo clipper se for copiado (CTRL+C) e colado em outra máquina (CTRL+V) não irá funcionar, pois faltará alguns arquivos secretos em diversos lugares do HDD, faltará também chaves/registros no REGEDIT, tanto no win 32 quanto 64 bits (o aplicativo já sabe separar a versão);
B.2) Também, estou criando um instalador que qualquer pessoa no mundo (é isso mesmo, através da internet) poderá baixar meu aplicativo e em conjunto com o instalador terá um aplicativo desenvolvido em DELPHI que ativará por 30 dias o meu aplicativo clipper/harbour. Se o cliente/usuário espertalhão tentar executá-lo novamente, ele não funcionará, pois ele mexe no REGEDIT, e em vários arquivos ocultos e secretos no HDD e só aceita uma única tentativa de funcionamento;
B.3) Para clientes que aderirem ao contrato mensal fiz outros aplicativo em DELPHI que o cliente deverá executar mensalmente onde ele precisa de um LOGIN/SENHA para abrir esse aplicativo e após estar nele aparece uma SENHA que muda diariamente e ele deverá informar à nós (programadores) para que calculemos aqui através de outro aplicativo que desenvolvi para gerar a CONTRA-SENHA que também muda de acordo com o HD/PLACA MÃE, data e hora;
B.3.1) Para diminuir a tentativa de pirataria, a ativação só pode ser feita por 'x' número de vezes que o contrato que o cliente assinou (não é necessário minha presença física);
B.3.2) O cliente só pode errar a CONTRA-SENHA por N número de vezes, se ultrapassar o sistema em clipper/harbour para de funcionar e o ativador em DELPHI também;
C) Como o clipper não lê arquivos DBF/NTX e sim DBF/CDX um amigo "Yuri" aqui do PCTOLEDO tem me ajudado a migrar meu banco de dados para DBF/CDX. Com isso poderei facilmente gerar aplicativos em DELPHI usando a mesma base de dados que já temos;
D) Os novos módulos (por exemplo devolução que nunca fiz em clipper) já o farei em DELPHI e não mais em CLIPPER/HARBOUR, pois, já quero em modo gráfico e não em modo console como está meu aplicativo e o da maioria aqui do fórum (acredito que estão assim ainda);

BOM, voltando ao início de minha digitação, é que disse que procurava uma forma de interagir.
Por isso gostaria de saber dos colegas clippeiros/harbeiros se existe algum novo comando/função (lembro-me do antigo shell ou run que fazia isso, mas, não havia uma boa interação entre eles) que faça isso sem que o usuário perceba que mudou de aplicativo/programa/plataforma?

A todos o meu muito obrigado por fazermos parte desse conjunto precioso de informações úteis a todos nós clippeiros de plantão.

Espero, que não tenha ofendido ao PABLO, TOLEDO e demais programadores que já estão nos degraus mais altos dessa escada chamada "migração" de modo console para gráfico, pois ainda estamos engatinhando.

Abraços, e aguardo comentários a despeito de meus comentários!

MICROVOLUTION
http://www.MVINFO.wmx.net.br