Página 1 de 3

Mudar o tamanho da tela e tipo de fonte

Enviado: 02 Nov 2007 01:20
por clodoaldomonteiro
Olá!

Testei o xBase, que um compilador da Alaska que usa todos os comandos do clipper e compila em 32 bits.
Nele tem como definir o tamanho da tela, ou seja, se eu quiser uma tela de 40 linha por 100 colunas, é só sefinir e pronto, a tela fica em DOS e com o tamanho que eu quiser e ainda com uma fonte de caractere bem bonita.

Queria saber se no xharbour tem como definir tamanhos diferentes de telas e fontes diferentes?

Enviado: 02 Nov 2007 11:14
por alaminojunior
:)Pos Com certeza, tem jeito sim.

Caso use a GTWVT, inclua esta rotinazinha no seu projeto.

Código: Selecionar todos

INIT FUNCTION AppSetup()
  LOCAL nWidth
  WVT_Core()
  WVT_Utils()
  Set Date German
  SetMouse(.t.)
  Set EventMask to INKEY_ALL
  SetCursor(0)
  Set Epoch to 1960
  Set ScoreBoard Off
  Set Deleted On
  SET COLOR TO G/W, W+/R,,,N/GR
  WVT_ObjList := {}
  WVT_Stack   := {}
  nWidth := Wvt_GetScreenWidth()
  Wvt_SetCodePage(255)
  DO CASE
  CASE nWidth >= 1024
    Wvt_SetFont('Terminal',18,10)
  CASE nWidth >= 800
    Wvt_SetFont('System',14,8)
  OTHERWISE
    Wvt_SetFont('Terminal',14,6)
  ENDCASE
  SetMode(34,98)           // Aqui já testei até com 40 linhas
  RETURN( .T. )

Enviado: 03 Nov 2007 00:24
por clodoaldomonteiro
Valeu pela dica Alamino, e você já usou o xbase da alaska?

Enviado: 03 Nov 2007 11:08
por alaminojunior
Nunca usei não.
Se puder falar mais sobre este compilador. :-o

Re: Mudar o tamanho da tela e tipo de fonte

Enviado: 03 Nov 2007 13:15
por sygecom
clodoaldomonteiro escreveu:Olá!

Testei o xBase, que um compilador da Alaska que usa todos os comandos do clipper e compila em 32 bits.
Nele tem como definir o tamanho da tela, ou seja, se eu quiser uma tela de 40 linha por 100 colunas, é só sefinir e pronto, a tela fica em DOS e com o tamanho que eu quiser e ainda com uma fonte de caractere bem bonita.

Queria saber se no xharbour tem como definir tamanhos diferentes de telas e fontes diferentes?
Fez algum teste usando o SETMODE() ?

Re: Mudar o tamanho da tela e tipo de fonte

Enviado: 04 Nov 2007 11:58
por clodoaldomonteiro
sygecom escreveu:Fez algum teste usando o SETMODE() ?
O set mode pode ser usado diretamente no prg principal?

Enviado: 04 Nov 2007 12:16
por alaminojunior
Pode sim, agora, depende da resolução fornecida pela biblioteca usada. Desculpe se não me expressei direito.

Enviado: 04 Nov 2007 15:42
por clodoaldomonteiro
Acho que, por milagre, o xDev voltou a compilar novamente, to tentando usar o exemplo do Alamino:
alaminojunior escreveu::)Pos Com certeza, tem jeito sim.

Caso use a GTWVT, inclua esta rotinazinha no seu projeto.

Código: Selecionar todos

INIT FUNCTION AppSetup()
  LOCAL nWidth
  WVT_Core()
  WVT_Utils()
  Set Date German
  SetMouse(.t.)
  Set EventMask to INKEY_ALL
  SetCursor(0)
  Set Epoch to 1960
  Set ScoreBoard Off
  Set Deleted On
  SET COLOR TO G/W, W+/R,,,N/GR
  WVT_ObjList := {}
  WVT_Stack   := {}
  nWidth := Wvt_GetScreenWidth()
  Wvt_SetCodePage(255)
  DO CASE
  CASE nWidth >= 1024
    Wvt_SetFont('Terminal',18,10)
  CASE nWidth >= 800
    Wvt_SetFont('System',14,8)
  OTHERWISE
    Wvt_SetFont('Terminal',14,6)
  ENDCASE
  SetMode(34,98)           // Aqui já testei até com 40 linhas
  RETURN( .T. )
... coloquei no projeto a lib GTWVT.LIB e mostra os seguintes erros:Unresolved external _HB_FUN_WVT_UTILS referenced from SCP_OUTR.OBJ, e outras funções da gtwvt.lib que você postou no seu exemplo.

Pergunto se tenho que fazer alguma coisa no prg principal, ou mudar algum parâmetro para compilar em modo gráfico ?

Enviado: 05 Nov 2007 15:22
por alaminojunior
Como trabalho com o hbmake e vc com xDEV, não posso te dizer muita coisa. Agora...
mostra os seguintes erros:Unresolved external _HB_FUN_WVT_UTILS referenced from SCP_OUTR.OBJ, e outras funções da gtwvt.lib que você postou no seu exemplo.
Acho que a GTWVT.LIB não está implícita no script de compilação do xDEV, acredito.

Verifique se ela existe na pasta \CONTRIB\GTWVT
Se não existir a lib, vc terá de criá-la.

Enviado: 06 Nov 2007 22:46
por clodoaldomonteiro
Ai é que tá,
eu tô vinculando a lib, da mesma forma que vinculo a what32 e ainda assim a compilação diz não encontrar as funções dessa lib.

Tô boiando e à deriva.

Enviado: 06 Nov 2007 22:50
por clodoaldomonteiro
Na pasta \xharbour\contrib não tem a gtwvt.lib, essa lib tá na pasta \lib.

Elas são as mesmas?

Enviado: 07 Nov 2007 09:35
por janio
Clodoaldo,

A lib gtwvt tem que estar na pastar xharbour\lib mesmo.

Já tentou compilar pelo hbmake??? Sugiro começar pelo hbmake...

Já alterou os path's no AUTOEXEC.BAT/NT e CONFIG.SYS/NT???

Já incluiu os paths's nos arquivos c:\bcc55\bin\ILINK32.CFG e c:\bcc55\bin\BCC.CFG ????

Olhe esses ótimos tutoriais... é só seguir a risca!

http://www.sqllib.com.br/confhbbcc.php
http://www.caclipperwebsite.com/harbour.shtml

Jânio

Enviado: 25 Nov 2007 00:21
por clodoaldomonteiro
Valeu a dica Janio.

Enviado: 25 Nov 2007 10:31
por alaminojunior
Opa, desculpa a vergonha que eu passei. :(Neg
Tem que compilar também a WVTGUI.LIB, na pasta \contrib\wvtgui, tem um make_b32.bat cuja função é criar esta lib.

1º Se tiver um pouco de paciencia vc consegue criar (geralmente nunca dá na 1ª)

2º Se não tiver paciencia e estiver usando 0.99.70, envio para voce, e-mail-me. :)Pos

Esta rotina abaixo, aproveita melhor a area de trabalho. Na rotina anterior passada, troque o laço que define o tamanho das fontes, por esta.

Código: Selecionar todos

nWidth := Wvt_GetScreenWidth()

  do case
     case gtinfo(GTI_DESKTOPWIDTH) >= 1024
          gtinfo(GTI_FONTWIDTH, 12)
          gtinfo(GTI_FONTSIZE, 20)
          Wvt_SetFont("Lucida Console",20,12,0)
     case gtinfo(GTI_DESKTOPWIDTH) >= 800
          gtinfo(GTI_FONTWIDTH, 10 )
          gtinfo(GTI_FONTSIZE, 22 ) 
          Wvt_SetFont("Lucida Console",22,10,0)
     otherwise
          gtinfo(GTI_FONTWIDTH, 8)
          gtinfo(GTI_FONTSIZE, 17)
          Wvt_SetFont("Lucida Console",17,08,0)
  endcase
  SetMode(34,80)
Em tempo, e a criança ?

Enviado: 26 Nov 2007 00:38
por clodoaldomonteiro
Hehe,
A criança não chora muito, acho que tive sorte. Por hora ela só mama e faz cocô, e essa parte é com mulher.
Afinal, alguém tem que fazer o serviço sujo. hehe.

E vou tentar essa rotina, valeu a dica, t+.