Harbour + Visual LIB

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Re: Harbour + Visual LIB

Mensagem 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
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Harbour + Visual LIB

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Re: Harbour + Visual LIB

Mensagem 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
   ...
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Re: Harbour + Visual LIB

Mensagem 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??
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Re: Harbour + Visual LIB

Mensagem 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)
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Re: Harbour + Visual LIB

Mensagem 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
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Re: Harbour + Visual LIB

Mensagem 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
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Re: Harbour + Visual LIB

Mensagem 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
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Harbour + Visual LIB

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Harbour + Visual LIB

Mensagem 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.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Re: Harbour + Visual LIB

Mensagem 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
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Harbour + Visual LIB

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Re: Harbour + Visual LIB

Mensagem 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
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Re: Harbour + Visual LIB

Mensagem 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
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Harbour + Visual LIB

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder