Página 1 de 2

Achoice - Hmg - MiniGui

Enviado: 17 Nov 2017 16:55
por microvolution
Ah!
O que estou querendo fazer é um formulário de vendas onde à medida que o usuário vai lançando os produtos ele vai aparecendo na tela - como é um caso de supermercado.

ACHOICE - HMG - MINIGUI

Enviado: 17 Nov 2017 16:55
por microvolution
Prezados Professores, estou criando este novo tópico pra tratar exclusivamente da função ACHOICE() que é uma excelente ferramenta - na minha opinião, mas, que é de uso exclusivo no modo console (pelo menos é o meu entendimento).

Pra não delongar muito, gostaria de abrir a discussão, pedindo aos professores e mais leigos como eu, que postassem algo que substitui ou que alguém tenha usado para substituir a ACHOICE().

Assim, que alguém postar, responderei pra poder interagir e principalmente aprender com os nobres professores.

ACHOICE - HMG - MINIGUI

Enviado: 17 Nov 2017 18:46
por JoséQuintas
Acho que está fazendo confusão.
Achoice() não é da minigui, é console.
E o Achoice() é limitado, seria melhor um TBrowse(), mas não se aplica à minigui, pelo menos que eu saiba.

ACHOICE - HMG - MINIGUI

Enviado: 18 Nov 2017 09:41
por rubens
Bom dia..

Você vai ter que perder um tempinho e estudar os exemplos que vem com a HMG.
Para fazer o que quer vai precisar do componente GRID monitorando os eventos ou definindo no Form um on Key Press.

Rubens

ACHOICE - HMG - MINIGUI

Enviado: 18 Nov 2017 17:01
por asimoes
Tem uma função "Achoice" na pasta: \MiniGUI\SAMPLES\Advanced\ACHOICE e \MiniGUI\SAMPLES\Advanced\ACHOICE_2

ACHOICE - HMG - MINIGUI

Enviado: 18 Nov 2017 18:43
por JoséQuintas

ACHOICE - HMG - MINIGUI

Enviado: 23 Nov 2017 17:20
por microvolution
professor JQuintas, obrigado, vou verificar agora...
asimoes escreveu:Tem uma função "Achoice" na pasta: \MiniGUI
show prezado professor asimoes. como disse o outro professor acima, já estou verificando o online q ele propôs...
JoséQuintas escreveu:Achoice() não é da minigui, é console.
sim ... eu sei disso. talvez não me expressei corretamente. mas valeu mais uma vez por nos ajudar como sempre tem feito! ...
rubens escreveu:Você vai ter que perder um tempinho e estudar os exemplos que vem com a HMG.
prezado professor rubens estou sim há vários dias estudando os exemplos do GRID na HMG 3.4.2(4).

No mais obrigado por enquanto.

ACHOICE - HMG - MINIGUI

Enviado: 23 Nov 2017 18:21
por JoséQuintas
Não precisa me agradecer, apenas coloquei o link direto do fonte que o ASimões citou.
Inclusive... como dá pra ver pelo nome, se é o exemplo 2, então significa que tem o 1 também... rs

ACHOICE - HMG - MINIGUI

Enviado: 28 Nov 2017 17:28
por microvolution
JoséQuintas escreveu: se é o exemplo 2, então significa que tem o 1 também... rs
rsrsrsr
boa mesmo...
estou estudando para depois tentar fazer funcionar... abraços!

ACHOICE - HMG - MINIGUI

Enviado: 28 Nov 2017 23:38
por microvolution
boa noite prezado professor JQuintas!

Bom, comecei a testar/estudar o exemplo do ACHOICE2. Me surgiram algumas dúvidas.
1 - na hora de compilar usei um build.bat e/ou ide.bat que estavam noutra pasta e os copiei para a nova pasta \advanced\achoice2 de meu hmg.3.4.4 ;
2 - ao compilar com o build.bat apareceram erros diversos, veja:

Código: Selecionar todos

Harbour 3.2.0dev (r1703241902)
Copyright (c) 1999-2016, http://harbour-project.org/
demo.prg(16) Error E0030  Syntax error "syntax error at 'CENTERWINDOW'"
demo.prg(69) Error E0030  Syntax error "syntax error at 'CTITLE'"
demo.prg(70) Error E0030  Syntax error "syntax error at 'ASELECTION_'"
demo.prg(71) Error E0030  Syntax error "syntax error at 'CHEADING'"
demo.prg(72) Error E0030  Syntax error "syntax error at 'CFONT'"
demo.prg(73) Error E0030  Syntax error "syntax error at 'NFONTSIZE'"
demo.prg(74) Error E0030  Syntax error "syntax error at 'LSORT'"
demo.prg(110) Error E0030  Syntax error "syntax error at 'WINDOW'"
demo.prg(113) Error E0030  Syntax error "syntax error at '.'"
demo.prg(123) Error E0030  Syntax error "syntax error at '.'"

10 errors

No code generated.
hbmk2[demo]: Erro: Executando o compilador Harbour (interno): 1
(C:\MVinfo\hmg.3.4.4\harbour\bin\harbour.exe) -n2 demo.prg -DHBMK_HAS_HMG32=1 -q -oC:\Users\WdePaula\AppData\Local\Temp\hbmk_zflx6p.dir\ -iC:\MVinfo\hmg.3.4.4\harbour\include -i. -iC:\MVinfo\hmg.3.4.4\include
Não sei resolver os itens dos erros, a não ser os "ignorando" através de "comentando" nas linhas de programação.

Esta linha ↓:

Código: Selecionar todos

   // SET CENTERWINDOW RELATIVE PARENT
fui obrigado a comentá-la pra funcionar.

Pelo que percebi o comando DEFAULT não foi aceito. Precisa de uma LIB externa?
essas são as linhas onde contém a palavra DEAFULT:

Código: Selecionar todos

   // DEFAULT cTitle TO "Please select"
   // DEFAULT aSelection_ TO {}
   // DEFAULT cHeading TO "Available Options"
   // DEFAULT cFont TO _HMG_DefaultFontName
   // DEFAULT nFontSize TO _HMG_DefaultFontSize + 2
   // DEFAULT lSort TO .F.
eu as substituí pela função interna hb_Default.
Exemplo:

Código: Selecionar todos

 hb_Default(@cTitle, "Please select"  )
Após eliminar os erros acima, ainda sobraram os 3 abaixo:

Código: Selecionar todos

Harbour 3.2.0dev (r1703241902)
Copyright (c) 1999-2016, http://harbour-project.org/
demo.prg(116) Error E0030  Syntax error "syntax error at 'WINDOW'"
demo.prg(119) Error E0030  Syntax error "syntax error at '.'"
demo.prg(129) Error E0030  Syntax error "syntax error at '.'"
3 errors
No code generated.
hbmk2[demo]: Erro: Executando o compilador Harbour (interno): 1
(C:\MVinfo\hmg.3.4.4\harbour\bin\harbour.exe) -n2 demo.prg -DHBMK_HAS_HMG32=1 -q -oC:\Users\WdePaula\AppData\Local\Temp\hbmk_xwl5yr.dir\ -iC:\MVinfo\hmg.3.4.4\harbour\include -i. -iC:\MVinfo\hmg.3.4.4\include
Bom, parecem ser fáceis de resolver, mas, pra mim, que estou há menos de 2 anos de clipper/harbour e menos de 1 na hmg, é complexo... rsrssr
As linhas que contém os 3 erros acima são:

Código: Selecionar todos

   DEFINE WINDOW frmAchoice ;
         CLIENTAREA nWidth, nHeight ;
         TITLE cTitle ;
         MODAL NOSIZE ;
         ON MOUSECLICK ThisWindow.Release  // [b]ESTA É A LINHA 116[/b] o erro pode estar em qualquer lugar nas 4 linhas acima

      ON KEY ESCAPE ACTION ThisWindow.Release
      ON KEY RETURN ACTION ( nRetVal := frmAchoice.grdChoice.Value, ThisWindow.Release )  // [b]ESTA É A LINHA 119[/b]

      @  0, 0 GRID grdChoice;
         WIDTH frmAchoice.Width HEIGHT frmAchoice.Height - 3;
         HEADERS { cHeading } WIDTHS { nCellWidth };
         ITEMS aSelection_ VALUE 1;
         FONT cFont SIZE nFontSize;
         ON CHANGE ( nRetVal := This.CellRowIndex );
         ON DBLCLICK ( nRetVal := This.CellRowIndex, ThisWindow.Release );
         NOLINES;
         JUSTIFY { GRID_JTFY_CENTER } // [b]ESTA É A LINHA 129[/b] o erro pode estar em qualquer lugar nas 9 linhas acima

   END WINDOW
Bom, por enquanto é só... vlw professores!

ACHOICE - HMG - MINIGUI

Enviado: 29 Nov 2017 12:53
por MSDN
Amigo, pelo que percebi vc está misturando as versões da MiniGUI.
HMG = versão da MiniGUI mantida pelo criador dela, o argentino Roberto Lopez, usa o Mingw e apesar das semelhanças, tem muitos detalhes diferentes da MiniGUI Extended.
MiniGUI Extended = versão criada a partir da original do Roberto Lopez, não é mantida por ele, incorporou muitos comandos e funções que não existem na HMG, e mesmo o que existe nas duas, por vezes existem pequenas diferenças, e essa versão por padrão, ainda utiliza o BCC 5.5.1 como default, apesar que pode-se usar outra versão de C++, como já foi mostrado por diversas vezes aqui no Fórum.

Abraços

ACHOICE - HMG - MINIGUI

Enviado: 29 Nov 2017 13:13
por microvolution
MSDN escreveu:Amigo, pelo que percebi vc está misturando as versões da MiniGUI.
prezado professor... agora vc me confundiu ainda mais...
onde estou misturando?
Sendo que a HMG.3.4.4 que baixei foi diretamente da fonte?

Por favor me mostre onde estou misturando pra não mais fazer isso.

ACHOICE - HMG - MINIGUI

Enviado: 29 Nov 2017 14:10
por MSDN
Vc está usando um exemplo que pegou em :

https://github.com/JoseQuintas/allgui/b ... 2/demo.prg

Pelo que me lembro, " hmge " seria Harbour MiniGui Extended
E vc usa a HMG 3.4.4 , por isso que falei da mistura, e por isso haver os erros que relatou.
Não me leve a mal, todos, sem nenhuma exceção, um dia não sabiam o que era Harbour, xHarbour, MiniGUI, HwGUI, C++ e por ai vai, mas foram atrás e dominaram o assunto, vejo em todas as suas postagens, a palavra " professor ", para se referir às pessoas, no começo até dá pra entender, mas com o passar do tempo, pode passar a impressão que fica mais fácil bajular as pessoas pra conseguir as coisas, do que parar, analisar e tentar por si resolver, coisas mais complexas, todo mundo vem aqui e pergunta, mas creio que coisas simples, compete a nós resolver sozinhos, fontes de busca hoje em dia, não se resumem somente aos livros do Ramalho.

Abraços

ACHOICE - HMG - MINIGUI

Enviado: 29 Nov 2017 19:40
por microvolution
MSDN escreveu:" professor "
caro MSDN, nem o Criador de todas as coisas agradou a todos, vc vai esperar isso de mim? Cada um tem uma forma de se comunicar. Não consigo agradar a todos e aqui pelo que vejo não é um setor de política onde se pede alguma coisa dando um tapinha nas costas pra conseguir algo...
asimoes escreveu:Tem uma função "Achoice" na pasta: \MiniGUI\SAMPLES\Advanced\ACHOICE e \MiniGUI\SAMPLES\Advanced\ACHOICE_2
a função foi oferecida pelo professor ASIMOES.
Agora o nobre professor e colaborador JQUINTAS pra adiantar e nos ajudar, postou o link abaixo:
Mas na ânsia de ver os resultados nem percebi que se referia à HMG extended... ops... acho que nem o professor JQuintas o tenha percebido ou feito de propósito... acredito que o fez com a melhor das intenções.

Concordo contigo "MSDN""que tem coisas que são simples de se resolver. Por exemplo, em produção de áudio já dei aula para alguns que se tornaram melhores que eu e ficava bravo com eles com tanta dificuldade de se entender um SoundForge, Vegas, Sonar, Samplitude, Cubase, Nuendo, etc... agora já Premiere domino bem e After Effects ainda não consigo fazer nada sem um tutorial... então, depende do grau de compreensão de cada um.

Eu, com 14 anos de idade e sem computador, já sabia programar o antigo BASIC nas 7 plataformas da época: MSX, TK2000, TRS COLLOR, TRS 80, SINCLAIR ZX81, SINCLAIR SPECTRUM e o APPLE. O ano foi 1986. Só pude pegar um computador em 1988 onde pude experimentar e testar e vi que sabia tudo de cor. Agora, as coisas são bem diferentes, e fiquei para trás, ou seja, tudo passou... "vaidade de vaidades, tudo é vaidade".

Bom, espero que vc possa me entender, mas, não sei o que acontece com todos nós, que quando precisamos de alguém somos "humildes" e quando não precisamos somos "ásperos"... mas, afinal, "não há um justo sequer UM, não há quem entenda, não quem faça o bem; todos nos extraviamos conjuntamente e nos tornamos inúteis. A nossa lingua é um sepulcro aberto, nossos pés são ligeiros para derramar sangue..."

Se os demais professores, digo, colegas, não estiverem satisfeitos com minha tentativa "humilde" de ser educado, podem se manifestar pois vou tentar agradar, mas, com certeza não conseguirei... como disse, "nem o Criador agradou a todos"!

Achoice - Hmg - MiniGui

Enviado: 27 Dez 2017 12:14
por JoséQuintas
Apesar do nome, acabam sendo consideradas 3 miniguis:

HMG 3 - é a minigui original
HMG Extended - é uma versão "extendida", com mais recursos
OOHG - é uma versão orientada a objetos

Ao pedir ajuda, apenas mencionou minigui, então foi considerada a "mais comum", que é a extended.

Faltou a SUA informação do que estava usando.

Assim como existe Harbour 3.2, Harbour 3.4, XHarbour, acaba também existindo HMG 3, HMG Extended, OOHG

É uma merd. tanta complicação, mas .... é complicado mesmo.... e tem gente que gosta de complicar.
OOHG, por exemplo, é a primeira delas no GITHUB.
Acabam sendo uns 5 repositórios diferentes, cada um com um pedaço, e se juntar todos ainda sobram e faltam coisas... então complicação parece fazer parte disso tudo.
Organizar isso.... sem chance... se não for organizado no original, é repetir tudo a cada atualização, o que só faz perder tempo e perder o interesse....
Segundo o "autor", é pra facilitar ajuda, pra cada um colaborar em uma parte dela....
Portanto, pra colaborar, precisamos criar 5 cópias pra colaborar, que não servirão pra usar, e mais outra pra usar, que não vai atualizar automático das outras.
Parece feito pra desencorajar o uso e a ajuda....

Todas elas são melhores e piores, porque todas tem vantagem e desvantagem.
É escolher uma e seguir em frente.
HMG extended é a mais "movimentada", então pode ser a melhor escolha.