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:

Harbour + Visual LIB

Mensagem por Antonio »

Pessoal

Sera possivel contornar o problema da desconfiguração de caracteres que a visual lib tem quando minimizamos e apos maximixamos a janela da aplicação no windows?


Ouço comentarios de que com GTWVW, GTWVT, etc seria possivel contornar esse problema.

Peço ajuda pois nunca usei essas GTs, no sentido de implementar isso com a visual lib.

Neste pequeno codigo a seguir, como eu faria para usar essas GTs e resolver o problema citado?

Código: Selecionar todos

#include "inkey.ch"
#include "visual2.ch"

FUNCTION MAIN()
Local aEnv

set key K_F10 to Saida
SetKeyMouse( K_F10, { 24, 24, 72, 79 } )
Desktop()
vlsetmouse(.t.)

DrawFn( 10, "Sa¡da" )

mBar := NewBarMenu()
mPdn := NewDownMenu()

AddBarItem( mBar, "&Pull-Down" , "Demonstra‡Æo dos recursos do Menu Pull-Down", mPdn )

AddDownItem( mPdn, "Op‡Æo &1", "Primeira Op‡Æo - Sem fun‡Æo vinculada" )
AddDownItem( mPdn, "Op‡Æo &2", "Segunda Op‡Æo - Sem fun‡Æo vinculada" )
AddDownSep ( mPdn )     // Linha de separa‡Æo
AddDownItem( mPdn, "Sai&r", "Encerra o programa", { || Saida() } )


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


FUNCTION SAIDA

 Local aKM := SetKeyMouse( K_F10, {} )
 Set Key K_F10 to

 VLExit()

 Set key K_F10 to saida
 SetKeyMouse( K_F10, aKM )

RETURN NIL

A versão do xHarbour que estou usando é a 1.2.1 (BCC 5.8.2)
Tenho a Visual Lib convertida para xHarbour


Grato
Antonio Carlos
Nota de Moderação:
por Sygecom: Topico editado para colocar codigo dentro da TAG [ CODE ]
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
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 »

Olá Antonio,

Veja o exemplo nos link abaixo, eu tenho sistema até hoje usando VL+GTWVT+XHARBOUR sem problemas.
http://www.4shared.com/file/68584067/83 ... gtwvt.html
http://www.4shared.com/file/68300002/cc ... le_vl.html

Abaixo um lista de funções da GTWVT
http://www.4shared.com/file/68300238/49 ... cunho.html

Abaixo um exemplo de menus em GTWVW, sem uso da VL
http://www.4shared.com/file/68584176/ec ... gtwvw.html

Nota: Todos os exemplo foram compilados com a versão 1.0.0 do xHarbour, eu ainda não compilei com a ultima versão do xHarbour 1.2.0, mas muda pouca coisa pelo que ainda vendo, é apenas linkar uma LIB a mais e mudar as GTINFO() por HB_GTINFO() , inclusive aqui no forum já teve um colega com esses duvidas, é só da uma procurada nos topicos anteriores que você acha.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
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,

Você pode também usar a solução que eu coloquei em Contribuições.

Usando a fonte visuallib.ttf

Fica igual a que é usada no clipper.

https://pctoledo.org/forum/viewto ... &t=9299er.

Use a lib gtwvg

Sugestão de uso:

Na sua aplicação principal.

Código: Selecionar todos

INIT FUNCTION AppSetup()

  REQUEST HB_LANG_PT
  REQUEST HB_CODEPAGE_PT850
  HB_LANGSELECT("PT")
  HB_SetCODEPAGE( "PT850" )
  REQUEST WVT_SETCODEPAGE
  WVT_SETCODEPAGE(255) //850

  SETMODE(25,80)

  SET TYPEAHEAD TO 0
  SET INTENSITY ON
  SET SCOREBOARD OFF
  SET DELETED ON
  SET SAFETY OFF
  SET DATE BRITISH
  SET ESCAPE ON
  SET CENTURY ON
  SET DELIMITERS TO
  SET CURSOR OFF
  SET EXCLUSIVE OFF
  SET WRAP ON
  SET EPOCH TO 1990

  Do Case
  Case HB_gtinfo(GTI_DESKTOPWIDTH) >= 1024
     Wvt_SetFont('VisualLib',28,11,FW_MEDIUM,2) //28,10,0  FW_NORMAL, FW_BOLD, FW_BLACK
  Case HB_gtinfo(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
  WvT_SetAltF4Close( .F. )
  WvT_SetPointer( 0, 100 )
  WvT_SetTITLE('Sistema X - Vs.1.0')
RETURN Nil
[]´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
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 »

Poxa gente, to até emocionado....

Não testei nada ainda, somente li o topico e ja apareceram duas respostas que algo me diz ter encontrado a solução.


Obrigado por enquanto.

[]
Antonio Carlos
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
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 »

Acabei de fazer funcionar com HARBOUR 1.1.0(Rev 11075)
Não instalei o fonte Visuallib.ttf, fui pelo tradicional
Realmente a desconfiguração de caracteres não existe mais (resolveu), contudo os botões, as bordas das msgbox, etc... estão diferentes do original... os botões estão demarcados por uma linha simpes e nas opções desses botções existem delimitadores, tipo <<Ok>>, <<Sair>>.

É por ai mesmo, fica dessa forma?

[]
Antonio Carlos
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 »

asimões,

Resolvi testar sua solução, porém não consegui fazer funcionar com resolução 800x600.

Tem alguma idéia do que pode estar acontecendo??
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 »

Aqui funciona tanto em 800 X 600, quanto em 1024 X 768 no tradicional, sem o TTF.
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 »

Sem TTF, blz, funciona aqui tambem.

Me refiro que funcionou na resolução 800x600 utilizando a fonte modificada pelo asimoes.

Essa fonte modifica pelo asimoes é justamente para tentar resolver o problema dos botões, das bordas das msgbox, que ficam com um alinha simples...
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, estranhamente aqui no meu caso, ao minimizar e apos maximizar o problema com os caracteres aparece, isso usando o recurso da fonte TTF.


Não usando a fonte TTF tudo bem, a não ser as bordas de linhas simples no objeto sem foco e linhas duplas no objeto com o focu.
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 »

Pessoal,

Isso é uma sintonia fina, que é feita na wvt_setfont, com resoluções maiores ou igual a 1024, fica perfeito, com 800 X 600 tem que ir testando,

Por exemplo no meu monitor samsung (LCD) com 800 X 600 a função wvt_setfont fica assim:

wvt_setfont('VisualLib',21,,1)

Com resoluções mais baixas tem fazer o ajuste fino.

Eu testei isso fazendo assim:

Código: Selecionar todos

for i:=10 to 30
   for j:=1 to 15
      wvt_setcont('visuallib',i,j,1)
      msgbox(str(i,2)+' '+str(i,2)) // para saber qual valor de i e j mais se adequa.
      inkey(0)
   next
next
Outra coisa, baixem o última atualização que eu fiz em contribuições. Fonte VisulLib

Não esqueçam de incluir o fonte vlib.prg no seu projeto, ele está modificado para usar a fonte visuallib.ttf

Removam a fonte que está instalada e reinstalem.

[]´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 »

Eu uso até hoje com GTWVT e uso em qualquer resolução sem problemas, estou usando como o exemplo do link que postei acima.
Olá asimoes,
Você pode automatizar essa instalação da sua FONTE, para isso pode usar as funções abaixo:

Código: Selecionar todos

Static Function AddFont()
Local nRet := AddFontResource("VISUAL-LIB.TTF")
If nRet == 0
   alert("A fonte VISUAL-LIB.TTF não foi adicionada ao sistema.")
Else
   alert("A fonte VISUAL-LIB.TTF foi adicionada ao sistema.")
EndIf
Return Nil

Static Function RemoveFont()
Local lRet := RemoveFontResource("VISUAL-LIB.TTF")
If lRet == .f.
   alert("Houve um erro na remoção da fonte VISUAL-LIB.TTF.","Aviso")
Else
   alert("A fonte VISUAL-LIB.TTF foi removida com sucesso.","Aviso")
EndIf
Return Nil
Nota: Tem que linkar a WHAT32.LIB
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 »

Alguma coisa não esta certa então, pelo menos comigo.

Pois, por exemplo:

Usando INIT FUNC ou chamando as configurações atraves de uma FUNÇÃO;

Código: Selecionar todos

 Init Function Inicio()
  REQUEST HB_LANG_PT
  REQUEST HB_CODEPAGE_PT850
  HB_LANGSELECT("PT")
  HB_SetCODEPAGE( "PT850" )
  REQUEST WVT_SETCODEPAGE
  
  Wvt_Core()
  Wvt_Utils()
 
  WvT_SetTITLE('Sistema X - Vs.1.0')
  Wvt_SETCODEPAGE(255) //850
  
  Set EventMask To 159

  SETMODE(25,80)
 

Aqui passa a ocorrer erro:

Código: Selecionar todos

Do Case
  Case  Hb_Gtinfo(GTI_DESKTOPWIDTH) >= 1024
apontando que GTI_DESKTOPWIDTH não existe.


Então chamo essas configurações logo no inicio do PRG e consigo trabalhar dentro dos seus metodos SYGECOM, ja com a fonte.TTF eu instalei ela e compilei o programa, nem testei quanto a resolução de video pois o problema com os caracteres, pelo menos aqui com a fonte.TTF não resolveu.

Então, devo estar pisando na bola em algum aspecto... mas a principio não faço ideia do que seja.

[]
Antonio Carlos
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
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 »

Tens que linkar o seguinte include no .PRG onde tem as chamadas HB_GTINFO()
#include "hbgtinfo.ch"
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 »

Exatamente, é o que eu faço.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
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 »

Qual a versão do seu xharbour ?

Tente mudar para:

Código: Selecionar todos

Hb_Gtinfo(HB_GTI_DESKTOPWIDTH) >= 1024
Nota: Os exemplos dois link que postei foram testados e compilados com xharbour 1.0.0
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder