Clipper pra Harbour/GTWVG

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

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

Clipper pra Harbour/GTWVG

Mensagem por JoséQuintas »

De Clipper pra Harbour ou de console pra GTWVG:

O arquivo de compilação do Harbour é simples, e é com final HBP
É uma lista do que entra, e os parâmetros de compilação que vão ser usados.
Que lista? lista de arquivos PRG, C, RC, LIB, etc.
Que parâmetros? os mesmos que existem no Clipper

Opcionalmente pode digitar tudo numa linha só, sem criar o arquivo HBP
Em testes isso facilita.

hbmk2 arquivo.prg

se for criar um HBP, o conteúdo vai ser esse: arquivo.prg

Se for mais de um PRG, a lista de PRGs.
Opcionalmente pode ser usado *.PRG

HBMK2 *.prg
HBMK2 menu.prg arquivo1.prg arquivo2.prg

É interessante se acostumar com o default do Harbour e/ou de projetos:
-m -n

Se os fontes Clipper não aceitarem checagem máxima, acrescente:
-w0 -es0

esses parâmetros também existem no Clipper.

-m = compila o fonte invidualmente, sem "puxar" automático outros fontes
-n = obriga que seja declarado no fonte o nome dele

era normal no clipper, que o nome do arquivo PRG fosse considerado como nome da procedure/Function.
---- main.prg ----
CLS

O correto é que o nome esteja dentro do fonte.
----- main.prg -----
PROCEDURE Main
CLS

Com o parâmetro -n obriga que seja da segunda forma, acusando erro se fizer igual a primeira.
E sem o parâmetro -n, a segunda forma acusa erro, porque o nome acaba existindo 2 vezes.
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

Clipper pra Harbour/GTWVG

Mensagem por JoséQuintas »

No Clipper, o DOS limitava a tela em 25 linhas x 80 colunas, ou 33 linhas x 80 colunas, ou 43 x 80 ou 50 x 80
Qualquer coisa diferente, assumia 25 x 80

No Harbour, assume a configuração do prompt, mesmo que sejam 1000 linhas.
Então... a primeira diferença é configurar o tamanho da janela

SetMode( 25, 80 )

Mas pode ser qualquer coisa, 33x80, 40 x 100, 35 x 132, etc.
Bom ajustar janela pra retangular, uma vez que praticamente não existe mais tela quadrada.

Também é interessante acostumar com limpar a tela, isso é importante em tela "não-console"

SetMode( 33, 132 )
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Clipper pra Harbour/GTWVG

Mensagem por JoséQuintas »

Existe a opção de NÃO usar janela console.

O default pra Windows ou Linux, é adicionar -gui na compilação.

Existe também a GTWVG, é a mesma GTWVT (default pra Windows), mas com opção de usar controles gráficos do Windows, ou outros recursos gráficos.
Basta acrescentar GTWVG.HBC

Qual a diferença básica?
Ao invés de janela console é janela Windows.
E uma diferença básica, é que a janela só vai existir a partir do momento que usá-la.
Se fizer um fonte sem saída pra tela, o programa vai ficar "zumbi", como um serviço do Windows, sem tela visível.
Por isso é recomendado, como início do fonte/aplicativo
SetMode(25,80)
CLS
A parir daí, é o comportamento normal de qualquer programa, do jeito que está acostumado.

Mas uma vez sendo uma janela Windows.... não está limitada a somente texto.
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/
Responder