MsgYesNo: Tem como descentralizar ?

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MsgYesNo: Tem como descentralizar ?

Mensagem por JoséQuintas »

Acrescente no início:

Código: Selecionar todos

#define IDYES               6
#define WIN_MB_YESNO                       0x00000004
#define WIN_MB_DEFBUTTON2                  0x00000100
#define WIN_MB_ICONQUESTION                0x00000020
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MsgYesNo: Tem como descentralizar ?

Mensagem por asimoes »

Tem provavelmente um erro na sua rotina, quando você faz o loop você está fazendo aadd novamente (linhas 5 e 6)

O define WIN_MB_YESNO

Você tem no include hbwin.ch
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MsgYesNo: Tem como descentralizar ?

Mensagem por JoséQuintas »

Ao invés de se preocupar com novos recursos, porque não melhora os antigos primeiro?

Código: Selecionar todos

@ 00,00 clear to maxrow (),maxcol ()
Não seria mais interessante:

Código: Selecionar todos

CLS
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MsgYesNo: Tem como descentralizar ?

Mensagem por asimoes »

Eu trocaria todas estas linhas:
setcolor (SALVA_COR)
@ 00,00 clear to maxrow (),maxcol ()
@ 00,00 say 'Acesso negado ...'
@ 01,00 say 'Arquivo de Controle Alterado !'
@ 02,00 say "Pressione para encerrar..." // acrescentada em 05/09/11w
inkey(0) // coloquei provisoriamente pra ver onde o SiCCA deu erro - 06/09/11w
exit
Por:

MsgStop( 'Arquivo de Controle Alterado !', 'Acesso negado ...')
exit

Uma vez saindo do sistema: setcolor (SALVA_COR) creio ser desnecessário, sendo uma aplicação windows.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

MsgYesNo: Tem como descentralizar ?

Mensagem por microvolution »

JoséQuintas escreveu:Acrescente no início:

Expandir visualizacao
Ver codigo
1 #define IDYES 6
2 #define WIN_MB_YESNO 0x00000004
3 #define WIN_MB_DEFBUTTON2 0x00000100
4 #define WIN_MB_ICONQUESTION 0x00000020
Prezado "JQuintas" mas, isso já foi add inclusive com todos os outros na lista de uns 15 itens que V.Sa. já recomendou que fizéssemos na página anterior (página 2 deste tópico).
asimoes escreveu:Tem provavelmente um erro na sua rotina, quando você faz o loop você está fazendo aadd novamente (linhas 5 e 6)
O define WIN_MB_YESNO
Você tem no include hbwin.ch
Prezado "asimoes" já a sua recomendação não compreendi corretamente:
1 - o que V.Sa. quis dizer com "define WIN_MB_YESNO"?
2 - o "#include HBWIN.CH" está feito da seguinte forma:
a) no formulário (.prg) MAIN estão todos os includes básico, incluindo o HBWIN.CH
b) no formulário (.PRG) de rotinas está a função CONFIRMA() (que usa o msgyesno), também a função CONFIRMA2 () (que é a em modo CONSOLE) e a função CONFIRMA3 (que contém a dica do prezado JOSEQUINTAS) e também todas as demais rotinas (funções e procedures) que são comuns a todos os módulos.
JoséQuintas escreveu:Ao invés de se preocupar com novos recursos, porque não melhora os antigos primeiro?
Caro professor, contigo só tenho a aprender, mas, nesse quesito ainda não compreendi o que V.Sa. quer me dizer, pois, já por 2 vezes diz a mesma coisa.
Bom, como sou leigo no assunto gráfico - apesar de já ser acostumado (e acho até mais fácil) com DELPHI (Object Pascal), e, como não tenho nenhum aplicativo comercial em DELPHI e sim no clipper antigo e como também já disse noutros tópicos deste tão conceituado fórum que desde 2006 tentava migrar de clipper para harbour ou xharbour e não conseguia e, graças a Deus e a vocês só em janeiro deste ano (que está acabando já) que consegui compreender um pouco e mesmo assim sem nada entender de harbour usando a HMG 3.0.35 e agora com 3.0.46 e JÁ TENHO também a 3.4.0 (instalada e corrigida o bug) mas, até compila e executa o aplicativo .EXE beleza, só que quando saio dele e vou até a pasta onde foi gerado para copiar para a pasta do sistema ele continua do mesmo jeito que foi compilado pela 3.0.xx anteriormente, ou seja, compila mas, não gera .EXE ...

... Então, como ia dizendo, não compreendo o que quer passar ao dizer "ao invés de se preocupar...", pois, o processo de migração de CONSOLE p/GRÁFICO não é assim? é como então? pois quando diz:
JoséQuintas escreveu:porque não melhora os antigos primeiro?

Código: Selecionar todos

@ 00,00 clear to maxrow (),maxcol () 
Não seria mais interessante:

Código: Selecionar todos

CLS
Então, aí é um outro quesito que não entendi, pois isso tudo é o básico e já tem em todos os locais do meu sistema, ou V.Sa. quer dizer que é pra eliminar isso? se é pra eliminar, o que substituir? Pois em alguns lugares uso claramente CLS e noutros preferi o @ clear maxrow/col pois fiz um padrão de desenvolvimento do aplicativo módulo a módulo e até hoje quando preciso criar um novo módulo vou até esse meu gerador de códigos (que desenvolvi em 1997) e tudo fica muito bem organizado. Aliás o CLS foi colocado manualmente por mim nalguns lugares, fugindo assim da estética que eu mesmo criei.
asimoes escreveu:Eu trocaria todas estas linhas:

Código: Selecionar todos

    setcolor (SALVA_COR)
    @ 00,00 clear to maxrow (),maxcol ()
    @ 00,00 say 'Acesso negado ...'
Então, prezado professor, acho que entendo o que V.Sa. quer me passar... pois então, é o que vou fazer, como estou mudando por partes, vou alterando e vendo os resultados, e, comecei com as mensagens de SIM/NÃO (msgYesNo) e como elas estão agarrando (dando pau), quero primeiro corrigi-las para depois seguir em frente... aliás já substituí locais onde já migrei para MSGinfo e MsgExclamation.

Bom, resumindo, qual passo seguir para entender o porquê da MsgYesNo ou a que o professor JQuintas sugeriu, não estarem funcionando corretamente?
Um forte abraço a todos!
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!
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

MsgYesNo: Tem como descentralizar ?

Mensagem por Toledo »

microvolution escreveu:qual passo seguir para entender o porquê da MsgYesNo... não estarem funcionando corretamente?
Onde está:

Código: Selecionar todos

...
     MsgYesNo (TEXTO,PROGRAMA)
return // (CONTROLE)
Troque por:

Código: Selecionar todos

...
     CONTROLE:=MsgYesNo (TEXTO,PROGRAMA)
return (CONTROLE)
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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MsgYesNo: Tem como descentralizar ?

Mensagem por asimoes »

Microvolution

Vamos lá, no seu programa imagem abaixo:

Veja que você faz um loop (seta) tem uma variável teclas que é do tipo vetor, dentro deste "do while .t." se você faz o loop é feito um aadd(teclas..)
Pergunto, se antes deste loop você não teria que inicializar este vetor com: teclas:={} ou depois da variável inicio
programa.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MsgYesNo: Tem como descentralizar ?

Mensagem por JoséQuintas »

Vai incluir coisas novas, principalmente ambiente gráfico.
Isso vai acrescentar mais fonte.
Será mais fácil dar uma geral no fonte agora do que depois, com mais fonte ainda.

Foi isso que eu quis dizer sobe se preocupar menos com incluir novidades e mais em melhorar o fonte antigo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MsgYesNo: Tem como descentralizar ?

Mensagem por JoséQuintas »

Um exemplo:

Código: Selecionar todos

do while .t.
     ...
          IF MensagemGui ("Deseja realmente sair?", 1) == 1          // if CONFIRMA ('Confirma a saída do sistema')
            setcolor (SALVA_COR)
            @ 00,00 clear to maxrow (),maxcol ()
            @ 00,00 say 'MVinfo Sistemas & Automa‡Æo ...'
            @ 01,00 say 'Obrigado pelo acesso. Volte Sempre !'
            inkey(3)
            exit
          else
            loop
          endif
       endif
...
  enddo

Código: Selecionar todos

do while .t.
     ...
          IF MensagemGui ("Deseja realmente sair?", 1) == 1
             EXIT
          ENDIF
...
  enddo
   setcolor (SALVA_COR)
    Cls
     @ 00,00 say 'MVinfo Sistemas & Automa‡Æo ...'
    @ 01,00 say 'Obrigado pelo acesso. Volte Sempre !'
     inkey(3)
Se acrescentar novidades primeiro, esse fonte pode se tornar maior ainda, e não vai visualizar o que pode melhorar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MsgYesNo: Tem como descentralizar ?

Mensagem por JoséQuintas »

Como opção seguinte....

Código: Selecionar todos

IF MsgYesNo( "Deseja sair?" )
   EXIT
ENDIF

O lado ruim de mensagem GUI é não poder determinar um tempo de resposta.
Perde-se o recurso de fechar automaticamente.

Também tenho menu Windows no meu aplicativo, totalmente funcional, mas deixo desativado.

Mas é normal... a gente quer aprender a fazer pra ficar tranquilo.
Mesmo fora de uso, tá lá pro usuário que quiser.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

MsgYesNo: Tem como descentralizar ?

Mensagem por microvolution »

Prezado professor JQuintas, acho que comecei a entender o que disse, pois agora ficou mais claro sua colocação ao dizer:
JoséQuintas escreveu:Um exemplo:
A realidade que vivo é a mesma de aproximadamente 50% dos brasileiros que ganham bem menos do salário mínimo (SM) do país (atualmente).
Teve 2 épocas de minha vida que já ganhei entre 5 e 7 SM.
Mas, infelizmente há 10 anos (bruto 12) não tenho ganhado nada, vivendo apenas de bicos e bolsa família (nunca pensei que precisaria disso).
Há 6 anos casei e tenho um filho de 4 e já estou batendo na porta dos 44.
Só tenho um único cliente que me paga mensalmente.
E, como já disse noutros tópicos, fiquei ultrapassado e mesmo este software estar com 18 anos, a vida passou e não percebi.
Então, preciso lutar contra um tempo que não tenho e sair desse único cliente e tentar alcançar outros, mas, me deparo c/ vários problemas que eu deixei que acontecessem se que eu mesmo percebesse:
1 - hoje estamos no windows 10 e meu software até janeiro/2015 só funcionava aos trancos e barrancos no máximo no win xp (com algumas lib pra não ficar lento demais);
2 - só imprime em SET PRINTER TO (LPTx);
3 - hoje tudo é visual, touch screen, e o meu é modo CONSOLE;
4 - o mercado já está abastecido e lotado de clientes com software de diversas empresas. Aqui na minha região as que dominam o mercado nem são daqui, como: EMC sistemas, 5 Informática, SysLink, sem contar as que são de outros estados;
5 - o mercado fiscal está cada vez mais apertado e não está tendo espaço para aplicativos não fiscais (o caso do meu);
6 - enquanto fico aqui (não na internet) sentado no computador tentando melhorar o aplicativo o tempo está passando ainda mais;
7 - preciso de alguém que desbrave o mercado e encontra aquele(a) cliente que ainda não é informatizado e que queira. (o que é uma tarefa muito difícil, num mercado já saturado);
8 - esse vendedor não se acha, então tenho que ser "euzinho mermo"... então enquanto fico aqui no laboratório e não saio pra vender a coisa piora ainda mais pro meu lado, pois as contas não param, aliás só aumentam e "as mulheres não entendem nossa atividade";
9 - fora banco de dados, pois o meu ainda é tabela e em dbx/ntx nem migrado p/ dbf/cdx (que pode ser aceito no delphi - linguagem que também entendo "um cadin");
9 - etc...

Então, só de eu ficar aqui tentando uma simples ação de melhorar (graficamente) o aplicativo e a coisa "garra/para", sinceramente, não sei nem o que falar ou fazer.

Por isso, que quanto menos eu mexer no aplicativo será menos prejuízo pra mim. Portanto enxugar o código, pra mim é um luxo que não posso ter, pois preciso é vender primeiro pra ter condições mínimas de sustentação minha e de minha família pra depois até mesmo, contratar algum (funcionário/parceiro) pra fazer as tarefas ou até mesmo ser vendedor remunerado.

Bom, acho que tanto o JQuintas e os demais devem ter me compreendido.
Ainda bem, que tenho V.Sas. sempre pra me ajudar (mesmo não nos conhecendo), pois são pessoas, às vezes, mais chegados que irmãos, pois os meus "irmãos" (quero dizer empresas de programação daqui da região) não estão nem aí pra mim, e não querem sequer que eu faça algo pra competir com eles, se é que eles sabem que eu existo;
AH! tem uma última informação sobre esse assunto que abordei (parênteses que eu abri na nossa aula - já tô todo "fudido mermo"... rsrs):
- Recebi em 2013 e no início deste ano a visita do SEBRAE, aí "soltei os cachorros" na segunda visita, onde a funcionário me encaminhou para um escritório (local físico) do SEBRAE. E, ao ser recebido por lá, tentei umas 3 conversas para que eles pudessem me ajudar a conquistar novos clientes e a melhorar o meu aplicativo;
- Daí - depois de muita insistência de minha parte, eles tem uma linha de crédito chamada SEBRAETEC, que a gente paga 20% de um projeto e eles a maior parte - os 80%. Então, chegaram em julho/2015 a entrar em contato comigo (a empresa contratada pelo SEBRAE) me mandando email e telefonema. Mas, passado 3 meses e nada. Então liguei para o SEBRAE e eles "blá blá", ou seja: não deu em nada, só me atrasaram ainda mais. Traduzindo os órgãos que existem (que deveriam olhar o nosso lado) só olham os que já estão bem, e, aí inclui o BNDES que não empresta din din pra gente que não tem nada, mas, p/o Abílio Diniz que não precisa, empresta para ele comprar no Brasil o Carrefour e acabar com a concorrência e virar monopólio e tantos outros... então meus prezados, são tantas coisas que nos atrasam.... como já disse e volto a repetir, V.Sas. são mais "chegados que irmãos, ou melhor que o governo".

Bom, voltemos aqui ao MSGYESNO... (desculpa a vergonha que passei) rsrsrs:
asimoes escreveu:Microvolution

Vamos lá, no seu programa imagem abaixo:
Veja que você faz um loop (seta) tem uma variável teclas que é do tipo vetor, dentro deste "do while .t." se você faz o loop é feito um aadd(teclas..)
Pergunto, se antes deste loop você não teria que inicializar este vetor com: teclas:={} ou depois da variável inicio
Engraçado, enquanto eu aqui lamentava e digitava essa carta para o SONHAR MAIS UM SONHO, ou porta da DESESPERANÇA, etc... rsrsrsrs... tive a seguinte ideia de substituição das linhas:

Código: Selecionar todos

                         TECLAS :={}
                         loop
por estas linhas:

Código: Selecionar todos

                         clear typeahead
                         keyboard chr (K_ENTER)
                         inkey ()
E, não é que deu certo...
que coisa não?
Vou agora nos outros itens da MSGYESNO e fuçar pra ver se não apresenta novos erros de funcionamento.
Por favor, não me abandonem, pois são os únicos que posso contar. Nem no hmgforum posso contar, pois lá as respostas demoram até uma semana ou mais, aqui sim, V.Sas. são 10, ou melhor 1000.
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!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MsgYesNo: Tem como descentralizar ?

Mensagem por JoséQuintas »

Todos temos dificuldades.
Tenho um filho especial, que requer cuidados especiais, e por isso limita saídas.

Mas me chamou a atenção no seu texto:
só imprime em SET PRINTER TO (LPTx);
hoje tudo é visual, touch screen, e o meu é modo CONSOLE;
Não precisa ambiente gráfico pra poder usar mouse.
Na hora de digitar, sempre foi e sempre será o teclado.
O cliente fica sem tela touch, mas não fica sem relatórios.

Então mude a prioridade pra relatórios, pra funcionar em qualquer lugar.
E se acrescentar mouse, já fica interessante.
De preferência, opção de relatórios em vídeo/impressora.

E se quiser só melhorar um pouco no visual sem perder muito tempo: GTWVG

O que ganha ao usá-la:
- Qualquer quantidade de linhas/colunas
- Ajuste automático pra qualquer tamanho de tela, não vai ter que se preocupar com o que o cliente usa
- Deixa de ser console, mesmo com aparência console
- Pode usar qualquer cor existente no Windows, trocar cada uma das 16 cores do Clipper, por qualquer uma das 16 milhões de cores do Windows
- Pode até acrescentar botões gráficos ou algo mais

O que vai precisar alterar nos fontes:
- uma nova errorsys, que vai precisar seja qual for o ambiente gráfico
- Um CLS no início do aplicativo, já que a tela só aparece a partir do momento que a usa
- Apenas se quiser cores diferentes das originais, a configuração das cores
- Apenas se quiser letra diferente da original, a configuração da letra
- Apenas se quiser que inicie em tamanho diferente do original, uma rotina pra ler/salvar configuração do tamanho da tela
- Apenas se quiser usar botões, aprender a mostrar botões


Então, se o tempo é escasso, não necessariamente nesta ordem: mouse, relatórios, gtwvg

Infelizmente compilando com mingui pode complicar.
Mas se fosse o Harbour padrão:

Código: Selecionar todos

PROCEDURE Main
   CLS
   @ 2, 0 SAY "teste"
   Inkey(0)
   RETURN
Isso usando console: hbmk2 test
Isso usando gtwvg: hbmk2 test gtwvg.hbc

Nem dá pra chamar de perda de tempo fazer um teste com gtwvg.
Se não precisa alterar nada nos fontes, de repente perder tempo é não testar.

Nota:
gtwvg pode não ser a melhor, mas é uma das opções existentes no próprio Harbour, sem nada adicional.
De repente pode ser o suficiente pra não se preocupar com GUI, e se dedicar aos relatórios e mouse.
O aplicativo vai sempre funcionar com ou sem gtwvg, a não ser que comece a acrescentar parte gráfica da gtwvg que não existe em console.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

MsgYesNo: Tem como descentralizar ?

Mensagem por microvolution »

vou testar agora, mas, o conteúdo do .hbp é apenas teste1.prg (baseado que este seu exemplo seja salvo como teste1.prg), mas e o conteúdo do teste1.hbc qual é?
e pra compilar com os 2 casos, (modo console e também gráfico) pra ver os resultados, é só acrescentar o que V.Sa.
JoséQuintas escreveu:Isso usando gtwvg: hbmk2 test gtwvg.hbc
.

Mas, isso não funciona com a HGM (minigui), pois não sei compilar de outra forma, até já tentei mas, não consegui nada (falo dos meus .PRGs) ?

grato!

Em tempo: fiz o teste usando o win 10 e o cmd como administrador e digitei apenas:
"hbmk2 teste1 gtwvg.hbc"...
demorou a compilação... mas abriu realmente como V.Sa. disse uma tela gráfica com aparência de CONSOLE, mas dá pra perceber que não é CONSOLE e sim gráfica, pois a acentuação não ficou legal, pois no lugar de apenas SAY "teste" coloquei SAY "teste JoséQuintas"... outra observação que aparecem os botões padrões da janela (minimizar, maximizar e fechar)...

Então, como fazer pra que todos os meus módulos que nem sei quantos são sejam compilados com a mesma facilidade da HMG e sem bugs?
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!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MsgYesNo: Tem como descentralizar ?

Mensagem por JoséQuintas »

Não sei como a HMG considera pra compilação, e se tem o Harbour completo.

No harbour comum, uma opção é compilar diretamente na linha de comando:

Código: Selecionar todos

hbmk2 test.prg test2.prg test3.prg test4.prg -m gtwvg.hbc
Se usar HBP, é só colocar uma "palavra" por linha:

Código: Selecionar todos

-----------test.hbp
test.prg
test2.prg
test3.prg
test4.prg
-m
gtwvg.hbc

hbmk2 test.hbp
Lembrando que caso não exista nenhuma configuração contrária, o primeiro fonte da lista será o programa principal, e o nome do EXE será igual ao primeiro nome da lista.

Agora só confirmar se com HMG segue o mesmo esquema.
Você não sabe compilar com Harbour comum, e eu não sei compilar com HMG.... essas coisas acontecem.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

MsgYesNo: Tem como descentralizar ?

Mensagem por microvolution »

bom, aí que sempre me esbarrei...
compilar manualmente sempre garra nalguma coisa...
agora por exemplo, tenho um .hbp grande e a mensagem de erro foi:

Código: Selecionar todos

C:\MVinfo\hb32\migrar\SiCCA\SiCCA35\sci10000>hbmk2 sicca35gt.hbp sicca35gt
hbmk2: Gerando sub-projeto (passo 2): SICCA35gt.hbp
hbmk2: Gerando sub-projeto (passo 3): SICCA35gt.hbp
hbmk2: Gerando sub-projeto (passo 4): SICCA35gt.hbp
hbmk2: Gerando sub-projeto (passo 5): SICCA35gt.hbp
hbmk2: Gerando sub-projeto (passo 6): SICCA35gt.hbp
hbmk2: Gerando sub-projeto (passo 7): SICCA35gt.hbp
hbmk2: Gerando sub-projeto (passo 8): SICCA35gt.hbp
hbmk2: Gerando sub-projeto (passo 9): SICCA35gt.hbp
hbmk2: Gerando sub-projeto (passo 10): SICCA35gt.hbp
hbmk2[SICCA35gt]: Erro: Não é possível criar projetos aninhados em um nível
                  mais profundo que 10
Bom, fiz assim para compilar dentro CMD: hbmk2 sicca35gt.hbp. O conteúdo do meu .hbp JQuintas é:

Código: Selecionar todos

pci10000.prg
dci10000.prg
dci10001.prg
dci10002.prg
enviarerro.prg
ext.prg
impresso.prg
pci10001.prg
pci10002.prg
pci10003.prg
pci10004.prg
pci10005.prg
pci10006.prg
pci10007.prg
pci10008.prg
pci10009.prg
pci10012.prg
pci10013.prg
pci10014.prg
pci10015.prg
pci10016.prg
pci10017.prg
pci10018.prg
pci10019.prg
pci10020.prg
pci10021.prg
pci10022.prg
pci10024.prg
pci10025.prg
pci10026.prg
pci10027.prg
pci10028.prg
pci10031.prg
pci10032.prg
pci10033.prg
pci10034.prg
pci10035.prg
pci10038.prg
pci10039.prg
pci10040.prg
pci10041.prg
pci10042.prg
pci10043.prg
pci10044.prg
pci10045.prg
pci10046.prg
pci10047.prg
pci10100.prg
pci10102.prg
pci10110.prg
pci10115.prg
pci10116.prg
pci10120.prg
pci10121.prg
pci10122.prg
pci10123.prg
pci10124.prg
pci10125.prg
pci10126.prg
pci10127.prg
pci10130.prg
pci10131.prg
pci10132.prg
pci10133.prg
pci10135.prg
pci10136.prg
pci10140.prg
pci10151.prg
pci10152.prg
pci10200.prg
pci10202.prg
pci10203.prg
pci10204.prg
pci10210.prg
pci10211.prg
pci10212.prg
pci10213.prg
pci10215.prg
pci10216.prg
pci10217.prg
pci10220.prg
pci10221.prg
pci10222.prg
pci10225.prg
pci10226.prg
pci10227.prg
pci10228.prg
pci10229.prg
pci10230.prg
pci10231.prg
pci10240.prg
pci10250.prg
pci10251.prg
pci10252.prg
pci10254.prg
pci10255.prg
pci10256.prg
pci10260.prg
pci10270.prg
pci10271.prg
pci10272.prg
pci10273.prg
pci10995.prg
pci10996.prg
pci10997.prg
pci10998.prg
pci10999.prg
pcterror.prg
pimpr105.prg
pimpr110.prg
pimpr115.prg
pimpr120.prg
pimpr121.prg
pimpr125.prg
pimpr130.prg
rci10000.prg
rimpr000.prg
rotinas5.prg
-m
gtwvg.hbc
hbmk2 SICCA35gt.hbp
Então, motivado por suas palavras que não "se perde tempo tentando..." estou mais uma vez tentando, dizendo que gastei 9 anos pra conseguir chegar à primeira compilação em harbour através da HMG 3.0.35 e digo, até agora estou satisfeito, só não acho legal ter que mudar todo o código para criar formulários, pois acho que deveria ter algo como @ say/get que fosse prático pra não termos que redesenhar tudo para se traduzir para GRÁFICO (GUI).
Vi num dos tópicos aqui, alguém dizendo do novo delphi da embarcadero. Sinceramente só não refiz meus programas lá, por falta de tempo e porque lá não aceita DBF/NTX e sim DBF/CDX... pois a IDE RAD STUDIO XE3 (no caso a que eu tenho) é muito top e criar forms é muito fácil e prático.
Mas, como disse, não dispomos de muito tempo, e não queria perder o que já aprendi nesses 30 anos (comecei a programar aos 14)...

... continuo no aguardo!
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!
Responder