Página 2 de 2
Dúvida com SetMode
Enviado: 30 Abr 2023 15:00
por JoséQuintas
Sei lá....
Em 30 anos de windows, nada mudou.
Aplicativo console usa o tamanho da letra da janela console.
Se o tamanho da letra da janela é grande, o aplicativo também vai ter letra grande.
Se alterar só na janela atual, só vale pra janela atual.
Tem que alterar no ATALHO.
No Windows 10 e 11, o atalho não é exatamente aonde clica, como era nos windows anteriores.
Também poderia usar uma GT que não dependa da configuração do Windows.
Só adicionar -gui na compilação, mas se não tiver uma errorsys adequada, vai ficar sem o erro completo quando acontecer erro.
Dúvida com SetMode
Enviado: 01 Mai 2023 23:20
por cjp
Aplicativo console usa o tamanho da letra da janela console.
Se o tamanho da letra da janela é grande, o aplicativo também vai ter letra grande.
Não entendi bem esta parte. Acho que a questão não é de tamanho da letra, e sim de tamanho da janela.
Se alterar só na janela atual, só vale pra janela atual.
Tem que alterar no ATALHO.
Isso eu sei. Alterei no atalho, não na janela atual.
No Windows 10 e 11, o atalho não é exatamente aonde clica, como era nos windows anteriores.
Como assim? Onde é o atalho? Eu alterei clicando no atalho com o botão direito, escolhendo propriedades.
Também poderia usar uma GT que não dependa da configuração do Windows.
Só adicionar -gui na compilação, mas se não tiver uma errorsys adequada, vai ficar sem o erro completo quando acontecer erro.
Errorsys eu tenho.
Seria só assim?:
Fiz, compilou normal e aqui testei, tá tudo normal. Mas aqui já estava funcionando. Preciso testar no computador da usuária.
Dúvida com SetMode
Enviado: 02 Mai 2023 08:01
por carlaoonline
Tenta acessando as propriedades do aplicativo no menu esquerdo superior e deixa na altura e largura da janela as mesmas medidas do SetMode usado no programa.

- Setar com as mesmas medidas do SetMode
Na aba "Opções", marcando ou desmarcando as caixas de seleções que estão ali alteram a forma de como o mouse e o copiar-colar funcionam.
Dúvida com SetMode
Enviado: 02 Mai 2023 11:20
por JoséQuintas
Se ele passou a compilar com -gui, isso não faz mais diferença.
Dúvida com SetMode
Enviado: 02 Mai 2023 19:21
por lucimauro
Com -gui essa questão da janela fica mais fácil de gerenciar
Dúvida com SetMode
Enviado: 03 Mai 2023 15:12
por Jairo Maia
cjp escreveu:Acho que a questão não é de tamanho da letra, e sim de tamanho da janela.
Sem dúvida, mas pelo que você diz, a diferença nesse computador específico está na "resolução da tela" que ela está usando. Verifique se não é isso.
Dúvida com SetMode
Enviado: 04 Mai 2023 00:24
por mauricioportela
Boa noite!
Eu fiz uma modificacao no codigo:
Compilar: hbmk2 testa_cor.prg -l hbct.hbc
Código: Selecionar todos
//
// Nome do Arquivo: testa_cor.prg
//
#include "box.ch"
#include "inkey.ch"
#define TRUE .T.
#define FALSE .F.
#define COR_PADRAO "W+/BG,W/R,,,N/W"
#define COR_RESULTADO "R+/BG"
FUNCTION Main()
// -------------------------------------------------------------------------
PUBLIC nVoltas := 1
PUBLIC nAlturaOriginal := MaxRow()
PUBLIC nLarguraOriginal := MaxCol()
PUBLIC nAlturaDaTela := 5
PUBLIC nLarguraDaTela := 30
// -------------------------------------------------------------------------
SETMODE(nAlturaOriginal, nLarguraOriginal)
@ 00, 00, nAlturaOriginal-1, nLarguraOriginal-1 BOX B_SINGLE + SPACE(1) COLOR COR_RESULTADO
cTela1 := SAVESCREEN(01,01,nAlturaDaTela-1,nLarguraDaTela-1)
INKEY(.5)
// -------------------------------------------------------------------------
WHILE TRUE
// ---------------------------------------------------------------------
SETMODE(nAlturaDaTela, nLarguraDaTela)
@ 01, 01, nAlturaDaTela-1, nLarguraDaTela-1 BOX B_SINGLE + space(1) COLOR COR_PADRAO
@ 02, 02 SAY STRZERO(nVoltas,3) + " volta" + IIF(nVoltas == 1, "", "s") COLOR COR_PADRAO
@ 04, 02 SAY "<ESC> para Sair" COLOR COR_PADRAO
cTela2 := SAVESCREEN(01,01,nAlturaDaTela-1,nLarguraDaTela-1)
INKEY(2)
If LASTKEY() == K_ESC
EXIT
Endif
// ---------------------------------------------------------------------
SETMODE(nAlturaOriginal, nLarguraOriginal)
RESTSCREEN(01,01,nAlturaDaTela-1,nLarguraDaTela-1,cTela2)
@ 00, 00, nAlturaOriginal, nLarguraOriginal BOX B_SINGLE COLOR COR_RESULTADO
@ 02, 24 SAY STRZERO(GeraNumero(99999,1),5) COLOR COR_RESULTADO
nVoltas++
INKEY(2)
IF LASTKEY() == K_ESC
EXIT
ENDIF
RESTSCREEN(01,01,nAlturaDaTela-1,nLarguraDaTela-1,cTela1)
// ---------------------------------------------------------------------
ENDDO
SETMODE(nAlturaOriginal, nLarguraOriginal)
@ nAlturaOriginal, 00 SAY ">>>" COLOR COR_PADRAO
RETURN Nil
FUNCTION GeraNumero(lim, ini)
RETURN INT(RAND()*lim)+IIF(ini==Nil,1,ini)
Tambem criei um arquivo .bat para testar:
Código: Selecionar todos
@echo off
:: Nome do Arquivo: tcor.bat
:: mode con lines=25 cols=80
testa_cor.exe
set "meuErro=%errorlevel%"
if %meuErro% equ 0 (
echo SUCESSO!
) else (
echo ERRO! Codigo: %meuErro% Descricao: %errorlevel:~-4%
)
pause
Espero que ajude!
Mauricio Portela
Dúvida com SetMode
Enviado: 08 Mai 2023 13:50
por cjp
A compilação com -gui não resolveu.
Esta tela de configuração não aparece no computador dessa usuária. Acho que o windows é bem diferente. Quando clico com o botão direito do mouse no canto superior esquerdo da tela, aparece uma tela de configuração bem mais complexa, e não tem essas opções.
Dúvida com SetMode
Enviado: 08 Mai 2023 14:21
por JoséQuintas
Deveria ter resolvido, a menos que esteja forçando compilação console.
Se alterar tamanho de letras nessas propriedades, as letras do aplicativo se alteram ?
Se alterar, está compilando como console, e não gui, e terá que descobrir o porque.
Dúvida com SetMode
Enviado: 08 Mai 2023 18:00
por mauricioportela
Boa noite!
tenta isso:
Compile: hbmk2 teste.prg -gui
Código: Selecionar todos
#include "box.ch"
#include "inkey.ch"
#define TRUE .T.
#define FALSE .F.
#command @ <row>, <col> MOSTRA <strt> [IF <exp> ELSE <strf>] [COLOR <cor>];
=> ;
devpos(<row>, <col>); devout(IIF(<exp>, <strt>, <strf>) [, <cor>])
FUNCTION Main()
LOCAL x, nContador, nLinhas, nColunas
SETCOLOR("B/W+*")
x := TRUE
nContador := 1
WHILE TRUE
SetMode(IIF(x,25,43),80)
nLinhas := MaxRow()
nColunas := MaxCol()
cLinhas := STRZERO(nLinhas +1, 2)
cColunas := STRZERO(nColunas +1, 2)
@ 00, 00, nLinhas -1, nColunas -1 BOX B_SINGLE + SPACE(1)
@ 00, 02 SAY "<Modo de Video: " + cLinhas + "x" + cColunas + ">"
@ 01, 02 SAY "Contador: " + STRZERO(nContador,3) COLOR "R/W+*"
@ 02, 02 SAY "Modo Ativo:"
@ 03, 02 MOSTRA "25x80" IF x ELSE "43x80" COLOR "R/W+*"
@ nLinhas -1, 02 SAY "[ESC] Sair"
x := !x
nContador++
INKEY(2)
IF LASTKEY() == K_ESC
EXIT
ENDIF
ENDDO
RETURN Nil
Att.
Mauricio Portela