Página 1 de 1

Migrando de Clipper para Harbour

Enviado: 20 Abr 2017 08:45
por GilmarDalantonia
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

Meu menu estilo Clipper

Enviado: 20 Abr 2017 21:22
por JoséQuintas
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.

Migrando de Clipper para Harbour

Enviado: 24 Abr 2017 10:28
por GilmarDalantonia
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

Enviado: 24 Abr 2017 22:16
por MSDN
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

Migrando de Clipper para Harbour

Enviado: 25 Abr 2017 08:26
por Toledo
MSDN escreveu:4- Para que seja possível compilar e linkeditar os fontes ( PRG ), é preciso montar o ambiente de trabalho adequado...
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:

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,

Migrando de Clipper para Harbour

Enviado: 25 Abr 2017 09:33
por Itamar M. Lins Jr.
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.

Migrando de Clipper para Harbour

Enviado: 25 Abr 2017 10:01
por Itamar M. Lins Jr.
Ola!
mas não estou conseguindo mudar o tamanho da tela, ou melhor, consegui mudar com exemplos de outros parceiros aqui do forum...
Tem uns 4 dias que o Viktor incorporou este exemplo no Harbour 3.4, isso deve te ajudar.

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.
Usar: hbmk2 wvtwin.prg
ou hbrun wvtwin.prg

Saudações,
Itamar M. Lins Jr.

Migrando de Clipper para Harbour

Enviado: 25 Abr 2017 13:12
por GilmarDalantonia
boa tarde pessoal... estou testando os exemplos q vc me enviaram... ja me ajudou muito... fico muito grato... valeu a todos...