xHarbour configurar fonte (resolucao da tela)
Moderador: Moderadores
xHarbour configurar fonte (resolucao da tela)
ola pessoal, no xHarbour em modo console, gostaria de saber se tem como configurar o tamanho da fonte para ser exibido na tela, encontrei varios exemplos no Harbour para impressao grafica.
obrigado.
obrigado.
xHarbour configurar fonte (resolucao da tela)
Encontrei essa rotina, coloquei nas primeiras linhas do programa, mas nao sei quais libs devo usar para compilar o sistema, esta dando erro de compilação.
Código: Selecionar todos
#IFDEF __XHARBOUR__
Wvw_Setcodepage(255)
Wvw_SetTitle( "Janela" )
Wvw_SetFont( "Courier",24, 11 )
#ENDIF-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
xHarbour configurar fonte (resolucao da tela)
Bom dia porter, em xHarbour, você precisa incluir ao seu projeto, a CODEPAGE.LIB
Abs.
Abs.
xHarbour configurar fonte (resolucao da tela)
ola Kapiaba, o CODEPAGE.LIB, encontrei na pasta xHarbour\lib, e copiei para dentro da pasta do meu sistema, agora onde eu coloco essa lib, estou compilando assim: xbuild loja.exe.xbp -debug -classic -b -all
Código: Selecionar todos
arquivo loja.xbp
CINI =
C_OUTPUTFOLDER =
DEFFILE =
INCLUDEFOLDERS =
LAUTORUN =
LDEBUG = .F.
LGUI = .F.
LIBFOLDERS =
LMT = .F.
LNOAUTOFWH = .F.
LPRG_CLASSICDEBUG = .F.
LPRG_DEBUG = .F.
LUSEDLL = .F.
MAPFILE =
MYC_FLAGS =
MYDEFINES =
MYLINK_FLAGS = -Gn -s
MYPRG_FLAGS =
MYRC_FLAGS =
MYSLY_FLAGS =
OUTPUTFOLDER =
PRG_OUTPUTFOLDER =
RC_OUTPUTFOLDER =
RUNARGUMENTS =
SLY_OUTPUTFOLDER =
STARTIN =
TARGETFOLDER =
[LOJA.PRG]
MYC_FLAGS =
MYDEFINES =
MYPRG_FLAGS =
[FUNCOES.PRG]
MYC_FLAGS =
MYDEFINES =
MYPRG_FLAGS =
[dbfcdx.lib]
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
xHarbour configurar fonte (resolucao da tela)
Ajuda bastante saber quais são as mensagens de erro.porter escreveu:Encontrei essa rotina, coloquei nas primeiras linhas do programa, mas nao sei quais libs devo usar para compilar o sistema, esta dando erro de compilação.
Código: Selecionar todos
#IFDEF __XHARBOUR__ Wvw_Setcodepage(255) Wvw_SetTitle( "Janela" ) Wvw_SetFont( "Courier",24, 11 ) #ENDIF
Como o prefixo das funções é WVW_, deve incluir a gtwvw.lib na compilação.
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
xHarbour configurar fonte (resolucao da tela)
Na compilação está dando esses erros na hora de gerar o executavel, nao estou sabendo usar o CODEPAGE.LIB, onde informar essa lib.
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_WVW_SETCODEPAGE' referenced from C:\LOJA\LOJA.OBJ
Error: Unresolved external '_HB_FUN_WVW_SETTITLE' referenced from C:\LOJA\LOJA.OBJ
Error: Unresolved external '_HB_FUN_WVW_SETFONT' referenced from C:\LOJA\LOJA.OBJ
Type: C >>>Couldn't build: LOJA.EXE<<<
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_WVW_SETCODEPAGE' referenced from C:\LOJA\LOJA.OBJ
Error: Unresolved external '_HB_FUN_WVW_SETTITLE' referenced from C:\LOJA\LOJA.OBJ
Error: Unresolved external '_HB_FUN_WVW_SETFONT' referenced from C:\LOJA\LOJA.OBJ
Type: C >>>Couldn't build: LOJA.EXE<<<
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
xHarbour configurar fonte (resolucao da tela)
Estes erros são justamente pela ausência da gtwvw.lib, que é onde estão estas funções.porter escreveu:Na compilação está dando esses erros na hora de gerar o executavel, nao estou sabendo usar o CODEPAGE.LIB, onde informar essa lib.
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_WVW_SETCODEPAGE' referenced from C:\LOJA\LOJA.OBJ
Error: Unresolved external '_HB_FUN_WVW_SETTITLE' referenced from C:\LOJA\LOJA.OBJ
Error: Unresolved external '_HB_FUN_WVW_SETFONT' referenced from C:\LOJA\LOJA.OBJ
Type: C >>>Couldn't build: LOJA.EXE<<<
No caso da codepage.lib, acredito que não precisa especificar, pois faz parte do 'core' (núcleo) do xHarbour. Estou presumindo que sua ferramenta de compilação faça a inclusão automaticamente.
Se pretende manter sua aplicação em modo texto, mas controlar a fonte utilizada na janela do programa, pode usar a função hb_gtinfo (vejas os parâmetros no arquivo hbgtinfo.ch). Não é preciso usar a gtwvw, podendo usar a gtwvt mesmo.
Veja o exemplo abaixo da pasta tests do xHarbour.
Código: Selecionar todos
/********************************************************
* Test to query/set properties for graphics gts
* Under textual gts it should only properly quit
*
* $Id: gtinfo.prg 9279 2011-02-14 18:06:32Z druzus $
*/
#include "hbgtinfo.ch"
Function Main
Local nOp
// try to set anyhow the name of the console
hb_gtInfo( GTI_WINTITLE, "GT - Info functionality test" )
If hb_gtInfo(GTI_ISGRAPHIC) == 0
?
? "You are using a non graphics capable gt:"
? hb_gtVersion()
? "Press a key to end."
?
Inkey(0)
Quit
End
SetColor("w+/b,b/w")
hb_idleAdd({|| updKeys()})
While .T.
CLEAR SCREEN
// hb_gtInfo(GTI_WINTITLE, "hb_gtInfo() api demonstration program")
updKeys(.T.)
@ 3, 5 Say "Desktop Resolution: " + ;
AllTrim(Str(hb_gtInfo(GTI_DESKTOPWIDTH))) + "x" + ;
AllTrim(Str(hb_gtInfo(GTI_DESKTOPHEIGHT))) + "x" + ;
AllTrim(Str(hb_gtInfo(GTI_DESKTOPDEPTH))) + "bpp "
@ 2, 5 Say "Current GT Resolution: " + ;
AllTrim(Str(hb_gtInfo(GTI_SCREENWIDTH))) + "x" + ;
AllTrim(Str(hb_gtInfo(GTI_SCREENHEIGHT))) + "x" + ;
AllTrim(Str(hb_gtInfo(GTI_SCREENDEPTH))) + "bpp "
@ 5, ( MaxCol() / 2 ) - 9 Prompt " Change Resolution "
@ 6, ( MaxCol() / 2 ) - 9 Prompt " Change Depth "
@ 7, ( MaxCol() / 2 ) - 9 Prompt " Change Font Size "
@ 8, ( MaxCol() / 2 ) - 9 Prompt " Change Font Width "
@ 9, ( MaxCol() / 2 ) - 3 Prompt " Quit "
Menu To nOp
Do Case
Case nOp == 0 .Or. nOp == 5
Exit
Case nOp == 1
nOp := Alert("Select desired resolution;NOTE: not all resolution will work on all environments",;
{"320x200", "640x400", "640x480", "800x600", "1024x768"})
Do Case
Case nOp == 1
hb_gtInfo(GTI_SCREENWIDTH, 320)
hb_gtInfo(GTI_SCREENHEIGHT, 200)
Case nOp == 2
hb_gtInfo(GTI_SCREENWIDTH, 640)
hb_gtInfo(GTI_SCREENHEIGHT, 400)
Case nOp == 3
hb_gtInfo(GTI_SCREENWIDTH, 640)
hb_gtInfo(GTI_SCREENHEIGHT, 480)
Case nOp == 4
hb_gtInfo(GTI_SCREENWIDTH, 800)
hb_gtInfo(GTI_SCREENHEIGHT, 600)
Case nOp == 5
hb_gtInfo(GTI_SCREENWIDTH, 1024)
hb_gtInfo(GTI_SCREENHEIGHT, 768)
End
Case nOp == 2
nOp := Alert("Select desired depth", {" 8 ", " 15 ", " 16 ", " 24 ", " 32 "})
Do Case
Case nOp == 1
hb_gtInfo(GTI_SCREENDEPTH, 8)
Case nOp == 2
hb_gtInfo(GTI_SCREENDEPTH, 15)
Case nOp == 3
hb_gtInfo(GTI_SCREENDEPTH, 16)
Case nOp == 4
hb_gtInfo(GTI_SCREENDEPTH, 24)
Case nOp == 5
hb_gtInfo(GTI_SCREENDEPTH, 32)
End
Case nOp == 3
nOp := Alert("Select desired font size", {" 8 ", " 16 ", " 24 "})
Do Case
Case nOp == 1
hb_gtInfo(GTI_FONTSIZE, 8)
Case nOp == 2
hb_gtInfo(GTI_FONTSIZE, 16)
Case nOp == 3
hb_gtInfo(GTI_FONTSIZE, 24)
End
Case nOp == 4
nOp := Alert("Select desired font width", {" 4 ", " 8 ", " 16 "})
Do Case
Case nOp == 1
hb_gtInfo(GTI_FONTWIDTH, 4)
Case nOp == 2
hb_gtInfo(GTI_FONTWIDTH, 8)
Case nOp == 3
hb_gtInfo(GTI_FONTWIDTH, 16)
End
End
End
Return Nil
#define WINTIT "hb_gtInfo() API demonstration program"
Function updKeys(lPar)
Static aKeys := Nil, lInit := .F.
Static cStr := "", lDir := .T., nSec := Nil
Local i, aNewKeys, nY := Row(), nX := Col()
If !lInit .Or. !Empty(lPar)
@ MaxRow(), MaxCol() - 36 Say "SHF CTR ALT NUM CAP SCR " Color "w+/b"
aKeys := {0, 0, 0, 0, 0, 0}
lInit := .T.
cStr := ""
lDir := .T.
nSec := Seconds()
End
i := hb_gtInfo(GTI_KBDSHIFTS)
aNewKeys := {i & GTI_KBD_SHIFT,;
i & GTI_KBD_CTRL,;
i & GTI_KBD_ALT,;
i & GTI_KBD_NUMLOCK,;
i & GTI_KBD_CAPSLOCK,;
i & GTI_KBD_SCROLOCK}
For i := 1 To Len(aNewKeys)
If aNewKeys[i] != aKeys[i]
@ MaxRow(), MaxCol() - 2 - ((6 - i) * 6) Say IIf(aNewKeys[i] == 0, ' ', '*') Color "g+/b"
aKeys[i] := aNewKeys[i]
End
Next
SetPos(nY, nX)
If Seconds() - nSec > .1
nSec := Seconds()
If lDir
cStr += SubStr(WINTIT, Len(cStr) + 1, 1)
If Len(cStr) == Len(WINTIT)
lDir := .F.
nSec += 2
End
Else
cStr := Left(cStr, Len(cStr) - 1)
If Empty(cStr)
lDir := .T.
nSec += 2
End
End
hb_gtInfo(GTI_WINTITLE, cStr)
End
Return Nil
Código: Selecionar todos
hb_gtInfo( GTI_WINTITLE, "título da janela" )
hb_gtInfo( GTI_FONTNAME, "nome da fonte" )
hb_gtInfo( GTI_FONTWIDTH, 16 )Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
