Migrando de Clipper para Harbour
Moderador: Moderadores
-
GilmarDalantonia
- Usuário Nível 1

- Mensagens: 44
- Registrado em: 11 Dez 2014 16:42
- Localização: Adamantina/SP
Migrando de Clipper para Harbour
Bom dia amigos... estou inciando no harbour e estou com bastante dificuldades... meu sistema foi desenvolvido em clipper5.3 com a visuallib, ja vi aqui no forum varios exemplos do uso da visuallib com harbour, até baixei um post do prof.toledo, consegui adaptar meu sistema... mas não estou conseguindo mudar o tamanho da tela, ou melhor, consegui mudar com exemplos de outros parceiros aqui do forum... o problema é q qdo muda o tipo de fonte ou tamanho de tela, a visuallib desconfigura... se alguém puder me ajudar, ja fico muito grato... ñ precisa ser com a visuallib.... se tiver outras opções, gostaria de testar tb... obrigado
Editado pela última vez por Toledo em 21 Abr 2017 10:42, em um total de 1 vez.
Razão: O presente tópico foi dividido de um outro tópico que estava na seção Contribuição, Dicas e Tutoriais, uma vez que seu conteúdo não tem relação com o assunto do tópico.
Razão: O presente tópico foi dividido de um outro tópico que estava na seção Contribuição, Dicas e Tutoriais, uma vez que seu conteúdo não tem relação com o assunto do tópico.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Meu menu estilo Clipper
Quando for assim, inicie uma mensagem nova, com outro título.
Esta é sobre menu estilo Clipper.
Todo mundo que participou desta mensagem acaba recebendo aviso que tem novidade sobre menu estilo Clippper, mas não tem.
Acho que é local mais adequado seria em: Harbour, talvez com o título: migrando de Clipper para Harbour
Se está usando console, igual Clipper, vai seguir as regras do Clipper: propriedades da janela, escolher tamanho e fonte.
Se está usando janela, GTWVG, GTWVW, GTWVT, etc... dá pra fazer pelo Harbour.
Esta é sobre menu estilo Clipper.
Todo mundo que participou desta mensagem acaba recebendo aviso que tem novidade sobre menu estilo Clippper, mas não tem.
Acho que é local mais adequado seria em: Harbour, talvez com o título: migrando de Clipper para Harbour
Se está usando console, igual Clipper, vai seguir as regras do Clipper: propriedades da janela, escolher tamanho e fonte.
Se está usando janela, GTWVG, GTWVW, GTWVT, etc... dá pra fazer pelo Harbour.
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/
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/
-
GilmarDalantonia
- Usuário Nível 1

- Mensagens: 44
- Registrado em: 11 Dez 2014 16:42
- Localização: Adamantina/SP
Migrando de Clipper para Harbour
Bom dia Jose... estou usando console igual ao clipper.... o problema eu acho q é o uso da visuallib... como eu disse anteriormente, se eu mudo o tamanho ou a fronte de letre, os botões, frames, qualquer função da visuallib desconfigura.
Migrando de Clipper para Harbour
Montei um roteiro visando ter um material simples porém prático para quem está saindo do Clipper e ingressando no Harbour (modo console).
Abaixo a sequência e explicações necessárias :
1- Os fontes de um programa modo console que foi feito em Clipper muitos anos atrás e que agora é compilado com o Harbour. Para descompactar o arquivo, crie no drive C: de sua máquina a pasta DEFIN e descarregue tudo nela, a senha para entrar no programa é o número 1, e para recompilar o programa (após o ambiente de programação estar OK), basta executar o arquivo COPILA.BAT
https://www.4shared.com/rar/OwOgH6fKei/ ... do_co.html
2- O linkador que o Harbour utilizará (existem outros, esse só é o mais usado) para gerar os arquivos EXE é o Borland C++ 5.5.1, que após feito o download, deverá ser instalado em sua máquina seguindo a lógica do NEXT -> NEXT ...., ao final da instalação, você terá a pasta C:\BORLAND\BCC55
http://www.hmgextended.com/files/MISC/F ... eTools.exe
3- O compilador Harbour na versão 3.2, que na prática seria o Clipper, com todos seus comandos e funções (seguindo suas sintaxes), e outros comandos e funções que foram adicionados para dar suporte a recursos que não existiam na época do Clipper ou que o Clipper não dava suporte, por ser um compilador 16 bits. Nessa instalação, será instalada a última versão da biblioteca gráfica MiniGUI Extended em sua máquina ( C:\MINIGUI ), porém, dentro de sua pasta, é que estará a instalação do Harbour, com suas pastas BIN , LIB e INCLUDE (tal como o Clipper), optei por fazer a instalação do Harbour dessa forma (não precisa ser assim, você pode baixá-lo de forma separada e instalar em C:\HARBOUR por exemplo) para que caso o programador queira fazer testes com programação visual ( GUI - for Windows ), já tenha uma LIB disponível para isso, com muitos exemplos a seu dispor (saliento que existem outras LIBs gráficas que trabalham em conjunto com o Harbour, pagas ou não)
http://www.hmgextended.com/files/CONTRI ... -setup.exe
4- Para que seja possível compilar e linkeditar os fontes ( PRG ), é preciso montar o ambiente de trabalho adequado, como era no Clipper, para isso, você já instalou o Borland C++ 5.5.1 ( Linkador ) e o Harbour 3.2 ( Compilador ), e deverá ter no C:\ de sua máquina as seguintes pastas :
C:\Borland\BCC55\Bin
C:\Borland\BCC55\Lib
C:\Borland\BCC55\Lib\PSDK
C:\Borland\BCC55\Include
C:\MiniGUI\Harbour\Bin
C:\MiniGUI\Harbour\Lib
C:\MiniGUI\Harbour\Include
e como exemplo, a pasta do sistema demonstração
C:\Defin
Estando tudo OK, você precisará acrescentar (logo no começo) na variável de ambiente do seu Windows, o seguinte caminho :
c:\borland\bcc55\bin;c:\borland\bcc55\lib;c:\borland\bcc55\lib\psdk;c:\borland\bcc55\include;c:\minigui\harbour\bin;c:\minigui\harbour\lib;c:\minigui\harbour\include;
OBS : Para chegar no local onde esse procedimento deve ser feito, siga essa sequência :
- Abra o Painel de Controle
- Clique em Sistema
- Clique em Configurações Avançadas do Sistema
- Clique no Botão Variáveis de Ambiente
- Procure a palavra " Path " em " Variáveis do Sistema ", clique sobre ela duas vezes e acrescente os caminhos de pasta necessários (acima), feito isso, basta ir clicando nos botões OK até fechar todas as janelas, e logo em seguida, abrir o Prompt de Comando (ele deve estar fechado antes, mas se não estava, basta fechar a abrir para que as mudanças surtam efeito) , ir até a pasta C:\Defin e digitar :
COPILA + ENTER
e ver todo o processo acontecendo, de preferência fazendo alguma mudança no fonte principal ( DEFIN.PRG ) para ver o resultado.
Abraços
Abaixo a sequência e explicações necessárias :
1- Os fontes de um programa modo console que foi feito em Clipper muitos anos atrás e que agora é compilado com o Harbour. Para descompactar o arquivo, crie no drive C: de sua máquina a pasta DEFIN e descarregue tudo nela, a senha para entrar no programa é o número 1, e para recompilar o programa (após o ambiente de programação estar OK), basta executar o arquivo COPILA.BAT
https://www.4shared.com/rar/OwOgH6fKei/ ... do_co.html
2- O linkador que o Harbour utilizará (existem outros, esse só é o mais usado) para gerar os arquivos EXE é o Borland C++ 5.5.1, que após feito o download, deverá ser instalado em sua máquina seguindo a lógica do NEXT -> NEXT ...., ao final da instalação, você terá a pasta C:\BORLAND\BCC55
http://www.hmgextended.com/files/MISC/F ... eTools.exe
3- O compilador Harbour na versão 3.2, que na prática seria o Clipper, com todos seus comandos e funções (seguindo suas sintaxes), e outros comandos e funções que foram adicionados para dar suporte a recursos que não existiam na época do Clipper ou que o Clipper não dava suporte, por ser um compilador 16 bits. Nessa instalação, será instalada a última versão da biblioteca gráfica MiniGUI Extended em sua máquina ( C:\MINIGUI ), porém, dentro de sua pasta, é que estará a instalação do Harbour, com suas pastas BIN , LIB e INCLUDE (tal como o Clipper), optei por fazer a instalação do Harbour dessa forma (não precisa ser assim, você pode baixá-lo de forma separada e instalar em C:\HARBOUR por exemplo) para que caso o programador queira fazer testes com programação visual ( GUI - for Windows ), já tenha uma LIB disponível para isso, com muitos exemplos a seu dispor (saliento que existem outras LIBs gráficas que trabalham em conjunto com o Harbour, pagas ou não)
http://www.hmgextended.com/files/CONTRI ... -setup.exe
4- Para que seja possível compilar e linkeditar os fontes ( PRG ), é preciso montar o ambiente de trabalho adequado, como era no Clipper, para isso, você já instalou o Borland C++ 5.5.1 ( Linkador ) e o Harbour 3.2 ( Compilador ), e deverá ter no C:\ de sua máquina as seguintes pastas :
C:\Borland\BCC55\Bin
C:\Borland\BCC55\Lib
C:\Borland\BCC55\Lib\PSDK
C:\Borland\BCC55\Include
C:\MiniGUI\Harbour\Bin
C:\MiniGUI\Harbour\Lib
C:\MiniGUI\Harbour\Include
e como exemplo, a pasta do sistema demonstração
C:\Defin
Estando tudo OK, você precisará acrescentar (logo no começo) na variável de ambiente do seu Windows, o seguinte caminho :
c:\borland\bcc55\bin;c:\borland\bcc55\lib;c:\borland\bcc55\lib\psdk;c:\borland\bcc55\include;c:\minigui\harbour\bin;c:\minigui\harbour\lib;c:\minigui\harbour\include;
OBS : Para chegar no local onde esse procedimento deve ser feito, siga essa sequência :
- Abra o Painel de Controle
- Clique em Sistema
- Clique em Configurações Avançadas do Sistema
- Clique no Botão Variáveis de Ambiente
- Procure a palavra " Path " em " Variáveis do Sistema ", clique sobre ela duas vezes e acrescente os caminhos de pasta necessários (acima), feito isso, basta ir clicando nos botões OK até fechar todas as janelas, e logo em seguida, abrir o Prompt de Comando (ele deve estar fechado antes, mas se não estava, basta fechar a abrir para que as mudanças surtam efeito) , ir até a pasta C:\Defin e digitar :
COPILA + ENTER
e ver todo o processo acontecendo, de preferência fazendo alguma mudança no fonte principal ( DEFIN.PRG ) para ver o resultado.
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
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Migrando de Clipper para Harbour
Bom, se vai utilizar a MiniGui Extended, então não será necessário estas configurações do item 4 acima, basta alterar o comando que está no seu arquivo COPILA.BAT:MSDN escreveu:4- Para que seja possível compilar e linkeditar os fontes ( PRG ), é preciso montar o ambiente de trabalho adequado...
altere o comando:
C:\MiniGUI\Harbour\bin\hbmk2 sistema
Para:
C:\MiniGUI\Batch\hbmk2 sistema
Um outro detalhe, você tem que configurar o BCC, então crie um arquivo com o nome bcc32.cfg dentro da pasta c:\Borland\BCC55\Bin, com o seguinte conteúdo:
-Ic:\Borland\bcc55\include
-Lc:\Borland\bcc55\lib;c:\Borland\bcc55\lib\psdk
Obs.: no início da primeira linha acima, depois do sinal de - é a letra i maiúscula.
Crie também na mesma pasta o arquivo ilink32.cfg, com o seguinte conteúdo:
-Lc:\Borland\bcc55\lib;c:\Borland\bcc55\lib\psdk
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
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
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Migrando de Clipper para Harbour
Ola!
Tá vendo Quintas ? BCC 5.5 !! É mole ?
Ai depois vai querer usar o Habour 3.4 ou GTQT, ou outras opções que não funcionam no BCC 5x
Não é melhor ensinar a usar com Mingw ? que é o padrão do Harbour ?
Veja quantos passos usando da forma que eles ensinaram agora. Da forma que vc ensinou não é bem mais fácil, menor ?
https://pctoledo.org/forum/viewto ... 43&t=17565
Se todos seguissem as orientações do Viktor, seria mais fácil. Mas ai cada um puxa para um lado. E começar em 2017 usando o BCC 5x ?
Um conselho, veja sempre da fonte. De quem está na frente do Harbour, siga informações das fontes principais, para não ficar preso no futuro.
Saudações,
Itamar M. Lins Jr.
Tá vendo Quintas ? BCC 5.5 !! É mole ?
Ai depois vai querer usar o Habour 3.4 ou GTQT, ou outras opções que não funcionam no BCC 5x
Não é melhor ensinar a usar com Mingw ? que é o padrão do Harbour ?
Veja quantos passos usando da forma que eles ensinaram agora. Da forma que vc ensinou não é bem mais fácil, menor ?
https://pctoledo.org/forum/viewto ... 43&t=17565
Se todos seguissem as orientações do Viktor, seria mais fácil. Mas ai cada um puxa para um lado. E começar em 2017 usando o BCC 5x ?
Um conselho, veja sempre da fonte. De quem está na frente do Harbour, siga informações das fontes principais, para não ficar preso no futuro.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Migrando de Clipper para Harbour
Ola!
Usar: hbmk2 wvtwin.prg
ou hbrun wvtwin.prg
Saudações,
Itamar M. Lins Jr.
Tem uns 4 dias que o Viktor incorporou este exemplo no Harbour 3.4, isso deve te ajudar.mas não estou conseguindo mudar o tamanho da tela, ou melhor, consegui mudar com exemplos de outros parceiros aqui do forum...
Código: Selecionar todos
#include "hbgtinfo.ch"
#include "inkey.ch"
#if defined( __HBSCRIPT__HBSHELL )
INIT PROCEDURE gtinit()
#if defined( __PLATFORM__WINDOWS )
hbshell_gtSelect( "GTWVT" )
#elif defined( __PLATFORM__UNIX )
hbshell_gtSelect( "GTXWC" )
#endif
RETURN
#else
#if defined( __PLATFORM__WINDOWS )
REQUEST HB_GT_WVT_DEFAULT
REQUEST HB_GT_WVT
#elif defined( __PLATFORM__UNIX )
REQUEST HB_GT_XWC_DEFAULT
REQUEST HB_GT_XWC
#endif
#endif
PROCEDURE Main()
LOCAL nFontHeight := 17
LOCAL nFontWidth := 7
LOCAL cFontName := "Consolas"
LOCAL nFontWeight := HB_GTI_FONTW_BOLD
LOCAL nScreenHeightChars := 40
LOCAL nScreenWidthChars := 120
LOCAL nDeskTopHeightPx := hb_gtInfo( HB_GTI_DESKTOPHEIGHT )
LOCAL nDeskTopWidthPx := hb_gtInfo( HB_GTI_DESKTOPWIDTH )
LOCAL nScreenHeightPx
LOCAL nScreenWidthPx
LOCAL nViewMaxHeightChars
LOCAL nViewMaxWidthChars
LOCAL nWeightFactor := iif( nFontWeight > 2, 1, 0 )
LOCAL GetList := {}
SetMode( nScreenHeightChars, nScreenWidthChars )
nFontHeight := Int( ( ( nDeskTopHeightPx - 30 ) * 0.9 ) / nScreenHeightChars )
nFontWidth := Int( ( nDeskTopWidthPx * 0.9 ) / nScreenWidthChars )
hb_gtInfo( HB_GTI_SCREENWIDTH, ( nFontWidth + nWeightFactor ) * nScreenWidthChars )
hb_gtInfo( HB_GTI_SCREENHEIGHT, nFontHeight * nScreenHeightChars )
hb_gtInfo( HB_GTI_FONTNAME, cFontName )
hb_gtInfo( HB_GTI_FONTWEIGHT, nFontWeight )
hb_gtInfo( HB_GTI_FONTWIDTH, nFontWidth )
hb_gtInfo( HB_GTI_FONTSIZE, nFontHeight )
hb_gtInfo( HB_GTI_FONTWEIGHT, nFontWeight )
SetColor( "W/B, W/R+,,, N/W" )
CLS
DO WHILE LastKey() != K_ESC
cFontName := AllTrim( cFontName )
nWeightFactor := iif( nFontWeight > 2, 1, 0 )
SetMode( nScreenHeightChars, nScreenWidthChars )
hb_gtInfo( HB_GTI_SCREENWIDTH, ( nFontWidth + nWeightFactor ) * nScreenWidthChars )
hb_gtInfo( HB_GTI_SCREENHEIGHT, nFontHeight * nScreenHeightChars )
hb_gtInfo( HB_GTI_FONTNAME, cFontName )
hb_gtInfo( HB_GTI_FONTWEIGHT, nFontWeight )
hb_gtInfo( HB_GTI_FONTWIDTH, nFontWidth )
hb_gtInfo( HB_GTI_FONTSIZE, nFontHeight )
hb_gtInfo( HB_GTI_FONTWEIGHT, nFontWeight )
CLS
cFontName := PadR( cFontName, 50 )
TotalPixels( nScreenHeightChars, nFontHeight, 0, 19, 20 )
TotalPixels( nScreenWidthChars, nFontWidth, nWeightFactor, 20, 20 )
nScreenHeightPx := hb_gtInfo( HB_GTI_SCREENHEIGHT )
nScreenWidthPx := hb_gtInfo( HB_GTI_SCREENWIDTH )
nViewMaxHeightChars := hb_gtInfo( HB_GTI_VIEWMAXHEIGHT )
nViewMaxWidthChars := hb_gtInfo( HB_GTI_VIEWMAXWIDTH )
@ 0, 0 SAY PadL( "hello world", MaxCol() + 1 )
@ 0, 0 SAY "hello world"
@ MaxRow(), 0 SAY PadL( "hello world", MaxCol() + 1 )
@ MaxRow(), 0 SAY "hello world"
@ 2, 2 SAY "Codepage " + hb_ValToExp( hb_gtInfo( HB_GTI_CODEPAGE ) )
@ 4, 2 SAY "DeskTopHeightPx " + Str( nDeskTopHeightPx, 4 )
@ 5, 2 SAY "DeskTopWidthPx " + Str( nDeskTopWidthPx, 4 )
@ 4, 29 SAY "ScreenHeightPx " + Str( nScreenHeightPx, 4 )
@ 5, 29 SAY "ScreenWidthPx " + Str( nScreenWidthPx, 4 )
@ 4, 54 SAY "ViewMaxHeightChars " + Str( nViewMaxHeightChars, 4 )
@ 5, 54 SAY "ViewMaxWidthChars " + Str( nViewMaxWidthChars, 4 )
@ 7, 2 SAY "MaxRow() " + Str( MaxRow(), 4 )
@ 8, 2 SAY "MaxCol() " + Str( MaxCol(), 4 )
@ 10, 2 SAY "ScreenHeightChars " GET nScreenHeightChars PICTURE "999" ;
VALID TotalPixels( nScreenHeightChars, nFontHeight, 0, 19, 20 )
@ 11, 2 SAY "ScreenWidthChars " GET nScreenWidthChars PICTURE "999" ;
VALID TotalPixels( nScreenWidthChars, nFontWidth, nWeightFactor, 20, 20 )
@ 13, 2 SAY "FontHeight " GET nFontHeight PICTURE "999" ;
VALID TotalPixels( nScreenHeightChars, nFontHeight, 0, 19, 20 )
@ 14, 2 SAY "FontWidth " GET nFontWidth PICTURE "999" ;
VALID TotalPixels( nScreenWidthChars, nFontWidth, nWeightFactor, 20, 20 )
@ 16, 2 SAY "FontName " GET cFontName
@ 17, 2 SAY "FontWeight " GET nFontWeight PICTURE "999"
@ 19, 2 SAY "TotalHeight "
@ 20, 2 SAY "TotalWidt "
READ
ENDDO
RETURN
FUNCTION TotalPixels( nScreen, nFont, nWeight, nRow, nCol )
@ nRow, nCol SAY Int( nScreen * ( nFont + nWeight ) ) PICTURE "9999"
RETURN .T.
ou hbrun wvtwin.prg
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
GilmarDalantonia
- Usuário Nível 1

- Mensagens: 44
- Registrado em: 11 Dez 2014 16:42
- Localização: Adamantina/SP
Migrando de Clipper para Harbour
boa tarde pessoal... estou testando os exemplos q vc me enviaram... ja me ajudou muito... fico muito grato... valeu a todos...
