Página 2 de 5

Re: Harbour + Visual LIB

Enviado: 25 Mai 2009 15:36
por Antonio
Ola Leonardo!

Eu estou usando o Harbour, baixei e compilei dia 18/05/2009 (1.1.0 dev (rev 11075))
`
Eu fico até sem jeito de dizer que ja fiz assim tambem.... mas é como eu disse, eu uso as chamadas iniciais de forma direta:

Código: Selecionar todos


#include "Inkey.ch"
#include "Visual2.ch"
#include "HbGtInfo.ch"
#include "HbGtWvg.ch"
#include "Ord.ch"
#include "hbcompat.ch"


REQUEST DBFCDX
RddSetDefault( "DBFCDX" )

REQUEST HB_LANG_PT

REQUEST HB_CODEPAGE_PT850
HB_LANGSELECT("PT")

REQUEST WVT_SETCODEPAGE
HB_SETCODEPAGE( "PT850" )
Wvt_Core()
Wvt_Utils()

Wvt_SetTitle("Testando Aplicação")
Wvt_SetFont('Ms Sans Serif',09,-13,300,0)
Wvt_SetCodePage(850) //255)

Set EventMask To 159

SETMODE(25,80)

do case  // Identifica a resolucao do video
   case Hb_Gtinfo(GTI_DESKTOPWIDTH) > 1023
        Gtinfo(GTI_FONTWIDTH, 12) // largura 12 anterior   //   13  //   12
        Gtinfo(GTI_FONTSIZE, 27)  // altura 27 anterior   //   29  //   27
   case Gtinfo(GTI_DESKTOPWIDTH) > 799
        Gtinfo(GTI_FONTWIDTH, 10 ) // 10 anterior  //   10
        Gtinfo(GTI_FONTSIZE, 22 )  // 20 anterior  //   22
   otherwise
        Gtinfo(GTI_FONTWIDTH, 8)
        Gtinfo(GTI_FONTSIZE, 17)
endcase

Código: Selecionar todos

FUNCTION MAIN()
         Local aEnv

         set key K_F10 to Saida
         SetKeyMouse( K_F10, { 24, 24, 72, 79 } )
         
         Configura()
         CriaIni()
         MSGBOX(BaseDeDados())
         MSGBOX(ClientesOpen())
         Desktop()
         Vlsetmouse(.t.)
         MasterMenu()
         DrawFn( 10, "Sa¡da" )



         WHILE .T.

               BarMenu( mBar )

               Set Key K_F10 to
               SetKeyMouse( K_F10, {} )

               VLExit()

               Set Key K_F10 to saida
               SetKeyMouse( K_F10, { 24, 24, 72, 79 } )
         END

RETURN NIL

Assim funciona, as bordas ficam com linhas simples e duplas nos objetos com focu, mas funciona de forma satisfatoria, sem problemas com caracteres. Só não funcionada com a fonte.TTF

Re: Harbour + Visual LIB

Enviado: 25 Mai 2009 15:56
por asimoes
Olá Leonardo,

Obrigado pela dica, só uma observação: o nome da fonte é VisualLib.ttf (sem traço)

Local nRet := AddFontResource("VISUAL-LIB.TTF")

[]´s

Re: Harbour + Visual LIB

Enviado: 25 Mai 2009 21:24
por janio
Olá Antonio,

Para a vs do seu xharbour o correto seria:

Código: Selecionar todos

do case  // Identifica a resolucao do video
   case Gtinfo(GTI_DESKTOPWIDTH) > 1023
   ...

Re: Harbour + Visual LIB

Enviado: 25 Mai 2009 21:40
por janio
Leonardo,

Não essa do AddFontResource("VISUAL-LIB.TTF").

Depois de executada essa função, a fonte VisualLib não consta na pasta fontes do windows. Tá correto???

Outra coisa: essa função será executada toda vez que o sistema for acionado??

Re: Harbour + Visual LIB

Enviado: 25 Mai 2009 22:21
por janio
asimoes,

seguindo a sua dica

Código: Selecionar todos

for i:=18 to 30
   for j:=1 to 15
      wvw_setfont(,'visuallib',i,j,1)
      msgbox(str(i,2)+' '+str(j,2)) // para saber qual valor de i e j mais se adequa.
      inkey(0)
   next
next
Encontrei uma que deu certo aqui: wvw_setfont(,'visuallib',22,15,1)

O detalhe é que seu setar de cara wvw_setfont(,'visuallib',22,15,1) não funciona. Eu tenho que primeiro setar wvw_setfont(,'visuallib',22,9,1) e depois wvw_setfont(,'visuallib',22,15,1). Aí funciona. Não sei porque.

ficou assim:

Código: Selecionar todos

  If GETDESKTOPWIDTH()=800
      wvw_setfont(,'visuallib',22,9,1)
      wvw_setfont(,'visuallib',22,15,1)

Re: Harbour + Visual LIB

Enviado: 25 Mai 2009 22:40
por Antonio
Ola Janio,

Mudei para o [x]Harbour 1.2.1.

Case HB_gtinfo(GTI_DESKTOPWIDTH) >= 1024 (da erro de argumento do array)

Eu sei la o que ta acontecendo...

Esse lance aqui

Código: Selecionar todos

  WvT_SetPointer( 0, 100 )
no meu caso da pau.


[]
Abs

Re: Harbour + Visual LIB

Enviado: 26 Mai 2009 08:15
por janio
Antonio,

O xharbour 1.2 é cheio de frescuras e eu ainda não o uso, por isso não posso ajudá-lo nesse sentido.

Se vc puder instalar a vs 1.00 agente desenrola esse negócio

Re: Harbour + Visual LIB

Enviado: 26 Mai 2009 08:36
por Antonio
Bom dia Janio!

Eu até que tenho procurado essa versão 1.0.0 mas não encontro....

Tem ideia de como encontrar essa versão? de como baixa-la do source forge? ou um link para obte-la?

[]
Antonio

Re: Harbour + Visual LIB

Enviado: 26 Mai 2009 10:29
por asimoes
Olá Antonio,

De uma olhada em Contribuições, Dicas e Tutorias, no tópico Fonte VisualLib

Veja as explicações de como eu estou usando a fonte.

https://pctoledo.org/forum/viewto ... 283#p53283

[]´s

Re: Harbour + Visual LIB

Enviado: 26 Mai 2009 13:11
por sygecom
Antonio escreveu: Mudei para o [x]Harbour 1.2.1.
Olá Antonio,

Que nem diria o Jack, vamos por parte.

Nós diga qual versão do xharbour ou harbour você esta querendo usar ? dependendo da versão muda a maneira de usar.

asimoes escreveu:Olá Leonardo,
Obrigado pela dica, só uma observação: o nome da fonte é VisualLib.ttf (sem traço)
Local nRet := AddFontResource("VISUAL-LIB.TTF")
Olá Asimoes,
Foi apenas um exemplo, nem vi qual o nome real da FONTE... :D
janio escreveu: Não essa do AddFontResource("VISUAL-LIB.TTF").
Olá Janio,
Preste atençao no nome da FONTE que o Asimoes, deu o nome correta da FONTE.
janio escreveu: Depois de executada essa função, a fonte VisualLib não consta na pasta fontes do windows. Tá correto???
Não esta correto, ela deveria estar, verefique o nome da fonte e se a mesma esta no mesmo local onde vc esta chamando a função, se não informe o caminho da mesma.
janio escreveu: Outra coisa: essa função será executada toda vez que o sistema for acionado??
Se você colocar no inicio da sua aplicação a chamada de AddFontResource() ai sim, vai ser executado, no meu caso uso essa função para adicionar uma FONTE de impressão de codigo de barra para imprimir com WIN32PRN, mas meu sistema tem uma verificação se é a primeira vez que meu sistema esta rodando na quela maquina, se for ele roda uma rotina se ajuste da estação que esta incluido essa função.

Re: Harbour + Visual LIB

Enviado: 26 Mai 2009 19:34
por Antonio
Vamo la!

Vou usar o xHarbour 1.2.1 (Simplex) (Rev 6406) Win 32 for TCC++ 5.82

Porque:

a) Não encontro o versão 1.0.0 e particularmente prefiro uma versão rescente.
b) Pelo requerimento da WHAT32.LIB.


Ja compilei a Visual.LIB.
Ja instalei a fonte Visuallib.TTF.
Ja compilei a aplicação.

Ocorre o seguinte:

Quando executo a aplicação, da o erro:

Error BASE/1076 erro nos parametros: >= arguments: ([1]=type U [2]=type: N val: 1024)
O codigo:

Código: Selecionar todos

Do Case
  CaseWvt_GetScreenWidth() >= 1024   //hb_gtinfo(HB_GTI_DESKTOPWIDTH ) >= 1024
     Wvt_SetFont('VisualLib',28,11,FW_MEDIUM,2) //28,10,0  FW_NORMAL, FW_BOLD, FW_BLACK
  Case Wvt_GetScreenHeight() >= 800      //hb_gtinfo(HB_GTI_DESKTOPWIDTH ) >= 800
     Wvt_SetFont('VisualLib',21,11,FW_MEDIUM,2) //28,10,0  FW_NORMAL, FW_BOLD, FW_BLACK
  OtherWise
     Wvt_SetFont('VisualLib',15,7,FW_MEDIUM,2) //28,10,0  FW_NORMAL, FW_BOLD, FW_BLACK
  EndCase

O erro persiste tanto com essa Wvt_GetScreenWidth() quanto com esta hb_gtinfo(HB_GTI_DESKTOPWIDTH ) função.

[]
Antonio

Re: Harbour + Visual LIB

Enviado: 27 Mai 2009 07:25
por asimoes
Olá Antônio,

Verifique esta linha :

CaseWvt_GetScreenWidth() >= 1024 //hb_gtinfo(HB_GTI_DESKTOPWIDTH ) >= 1024

No seu exemplo o Case está colado a função.

Outra coisa, usando a visual.lib como você disse, não vai dar certo, você tem que usar a vlib.prg que está modificada para mostrar os caracteres do jeito que é para o clipper.

Vamos por partes como diria o nosso Amigo Leonardo,

Verifique também se este include está no inicio do seu programa #include "hbgtinfo.ch" , se estiver o problema está na linha do case mesmo.

[]´s

Re: Harbour + Visual LIB

Enviado: 27 Mai 2009 08:58
por janio
Nosso amigo Antonio também pode verificar dentro do arquivo "hbgtinfo.ch" (que deve estar dentro da pasta include) como é exatamente o comando:

se HB_GTI_DESKTOPWIDTH
ou GTI_DESKTOPWIDTH
ou HB_DESKTOPWIDTH
...
ou outro

Re: Harbour + Visual LIB

Enviado: 27 Mai 2009 09:06
por Antonio
Bom dia asimões.

O erro de espacejamento esta somente no CODE acima. aqui nos fontes ta ok.

#include "wvtwin.ch" // em razão do FW_MEDIUM
#include "hbgtinfo.ch" // HB_GTI_DESKTOPWIDTH

Re: Harbour + Visual LIB

Enviado: 27 Mai 2009 10:37
por asimoes
Olá Antônio,

Veja esta sequencia de imagens que é do jeito que funciona comigo:

Fig.1
Imagem

Fig.2 (corrigindo o texo da caixa é gtwvg)
Imagem

Fig.3
Imagem