SetMode(25,40)

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

Moderador: Moderadores

DLZ
Usuário Nível 3
Usuário Nível 3
Mensagens: 184
Registrado em: 09 Jun 2008 10:09
Localização: Ibirubá - RS - Brasil

Re: SetMode(25,40)

Mensagem por DLZ »

Com clipper a função SetMode(25,40) em tela cheia funciona, no Xharbour não... Independente do sistema operacional !!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: SetMode(25,40)

Mensagem por sygecom »

O xHarbour não é 100% compativel com Clipper, alias xharbour não é clipper, então nesse caso vai ter que procurar por outras soluções, ou tente fazer um teste com o Harbour, talvez funcione !
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: SetMode(25,40)

Mensagem por Maligno »

Acho que pode nem ser o caso de se falar em compatibilidade, que afinal, parece existir. O problema parece estar sim na implementação da função. Problemas desse tipo minam a resistência da gente, apesar de parecer coisa pequena. Minha sugestão é que o OP migre pra Win32 GUI. Depois que fiz isso, só tenho tido grandes problemas, mas pequenos nunca mais. :)))
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: SetMode(25,40)

Mensagem por Itamar M. Lins Jr. »

DLZ escreveu:Com clipper a função SetMode(25,40) em tela cheia funciona, no Xharbour não... Independente do sistema operacional !!
Caro DLZ, voce pode me mandar via email ou postar aqui no forum o executavel simples, compilado com clipper, setando o video 25x40 ?

Eu fiz uns testes com o harbour e funcionou. Agora em tela cheia, não funciona somente em janela.
É para ver se o XP deixa o clipper setar, pq sendo o [x]Harbour gerador de sistema 32 bits, isso é uma caracteristica do SO.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
DLZ
Usuário Nível 3
Usuário Nível 3
Mensagens: 184
Registrado em: 09 Jun 2008 10:09
Localização: Ibirubá - RS - Brasil

Re: SetMode(25,40)

Mensagem por DLZ »

Código em clipper:

CLEAR
? SETMODE(25,40)
@ 00,00 TO 24,39
INKEY(0)

Cóidog no Xharbour
FUNCTION MAIN()
? SETMODE(25,40)
@ 00,00 TO 24,39
INKEY(0)

No clipper a moldura usa toda a tela e a função SetMode retorna .T.
No Xharbour a moldura usa apenas uma parte da tela e a função SetMode retorna .F.

OBS: Tudo em tela cheia !
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: SetMode(25,40)

Mensagem por Itamar M. Lins Jr. »

DLZ escreveu:Código em clipper:

CLEAR
? SETMODE(25,40)
@ 00,00 TO 24,39
INKEY(0)

Cóidog no Xharbour
FUNCTION MAIN()
? SETMODE(25,40)
@ 00,00 TO 24,39
INKEY(0)

No clipper a moldura usa toda a tela e a função SetMode retorna .T.
No Xharbour a moldura usa apenas uma parte da tela e a função SetMode retorna .F.

OBS: Tudo em tela cheia !
Usando o clipper 5.2 com rtlink no XP SP3.
Não funcionou, na terceira tentativa usando tela cheia(Alt+Enter) resetou o XP. :-(
É fácil demonstrar isso, no prompt do XP em tela cheia é só digitar:
mode con cols=80 lines=25, se colocarmos cols=40 aparece uma menssagem:
>Não é possivel alterar o número de linhas e colunas em tela cheia.
Pq ás vezes funciona no programa clipper ? é que o clipper gerar executaveis em 16bits para DOS isso é uma caracteristica do DOS que não foi implementada no XP, pode até funcionar, mas a escrita direta no endereço da placa de video não ocorre. O XP não deveria permitir por isso que muitos usuários de linux até brincam demonstrando a simplicidade com que podem derrubar o XP, o linux não permite isso de maneira nenhuma. Isso não funciona no [x]Harbour pq tambem não funciona no XP, não vai funcionar enquanto o comando "mode con" retornar sem exito.

Ps. Estou usando um notebook Acer, no momento para fazer estes testes.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: SetMode(25,40)

Mensagem por alaminojunior »

No note não vale !

Aqui no monitor crt 17", aconteceu o mesmo que o Dércio mencionou: Clipper funciona ! xHarbour não funciona !
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: SetMode(25,40)

Mensagem por Itamar M. Lins Jr. »

alaminojunior escreveu:No note não vale !

Aqui no monitor crt 17", aconteceu o mesmo que o Dércio mencionou: Clipper funciona ! xHarbour não funciona !
Não é problema do monitor, mas sim endereçamento da placa de video, quem cuida disso é o windows XP, pq o aplicativo solicita a resolução ao OS se tem no OS e tambem se o sistema (drive) que controla a placa de video permitir ocorre a troca. O clipper não faz isso, muda por conta e risco sem pergutar ao XP se ele pode fazer isso. Ficou claro agora?

Eu quero saber se via linha de comando em tela cheia o XP permite setar essa resolução ?
Sem usar clipper nem [x]Harbour. OK?
No clipper foi, veja bem foi, feito no DOS que possue esta caracteristica, os sistemas 32 bits não possue esse recurso, não por limitações das linguagens mas porque o sistema operacional não permite isso.
Minha sugestão: Mude para uma lib gráfica. Minigui/Hwgui/OOHG etc...

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: SetMode(25,40)

Mensagem por Maligno »

Não é problema do monitor, mas sim endereçamento da placa de video, quem cuida disso é o windows XP
Sim, mas conforme as características de cada placa de vídeo. Dependendo do notebook, até pode funcionar. Assim como pode não funcionar em alguns desktops.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: SetMode(25,40)

Mensagem por Itamar M. Lins Jr. »

Maligno escreveu:
Não é problema do monitor, mas sim endereçamento da placa de video, quem cuida disso é o windows XP
Sim, mas conforme as características de cada placa de vídeo. Dependendo do notebook, até pode funcionar. Assim como pode não funcionar em alguns desktops.
É isso.
Então, pode até ser feito no [x]Harbour, C++, etc... abrir uma janela e não mostrar as bordas, botões da janela, que é o que faz a WVT,WVW...
Só que a resolução da tela que no caso aqui do notebook 1280x800 se eu preciso usar uma letra maior, eu simplesmente aumento o tamanho da fonte de letra, e não mudar a resolução para 640X480 por exemplo.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: SetMode(25,40)

Mensagem por Maligno »

Em tela cheia você não tem caracteres gráficos, mas texto simples, cuja representação está presa à capacidade da placa de vídeo. Exemplo: eu tinha uma placa antiga que me dava 132x30. No XP mesmo. Foi trocar de placa pra não conseguir mais esse modo. Abandonei e agora só uso o padrão 80x25.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: SetMode(25,40)

Mensagem por Itamar M. Lins Jr. »

Maligno escreveu:Em tela cheia você não tem caracteres gráficos, mas texto simples, cuja representação está presa à capacidade da placa de vídeo. Exemplo: eu tinha uma placa antiga que me dava 132x30. No XP mesmo. Foi trocar de placa pra não conseguir mais esse modo. Abandonei e agora só uso o padrão 80x25.
Correto.
O grande lance, é que não faz sentido programar em ambiente de janelas, usando a lógica do antigo DOS.
Para quê ficar mudando a resolução de tela a fim de mudar o tamanho da letra? É caracteristica do Windows trabalhar em janelas.
Se a pessoa não quer usar os novos recursos que o Windows e as novas linguagens de programação oferecem ainda preso em conceitos antigos fica muito dificil.
Qual é o objetivo de mudar para a resolução 40x25 ? não é aumentar a letra ? ou diminuir para 132x30?
Usando o [x]harbour mais WVW isso é muito fácil, com HWGUI fica mais fácil ainda, e de uma maneira transparente.
Se o programador ou usuário não quer ver a borda e os botões é so oculta-las.
Se no clipper isso ainda é possível pq determinadas placas de video, são compatíveis, nada empede o usuário te apertar alt+enter ou Alt+tab etc, teclas de atalho caracteristica dos sistemas de janelas, vai mudar para janela da mesma forma, então a pessoa fica numa ilha, pq sabe de ante mão que o sistema dele esta limitado a um determinado tipo de hardware. Veja que os computadores principalmente notebook não vem mais com a porta paralela nem seriais é o progresso. E muita gente acha ruim quando o [x]Harbour não é 100% igual ao clipper e esquece de pará e pensar, o porquê disso. Não é igual pq é melhor.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: SetMode(25,40)

Mensagem por Maligno »

Concordo com tudo o que você disse. Até sugeri que o OP considerasse uma migração. Acredito que ele já deve estar pensando nisso. Entretanto, não nos esqueçamos do mote do tópico: a dúvida do porquê funciona no Clipper e não funciona no XHarbour, num mesmo hardware. Pra mim parece claro: diferença de implementação. Agora, se não dá, não dá e pronto. Não me consta que exista um "work around" no XHarbour para fazer mudar o comportamento da tal SetMode(). Portanto, cabe ao OP se adaptar à essa limitação e buscar uma alternativa. Gambiarra que seja.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: SetMode(25,40)

Mensagem por sygecom »

Olá Dercio,
Estou realizando diversos teste com Harbour, (Harbour e não xHarbour) e um dos testes foi esse desse topico, e adivinha, deu tudo certinho, o Harbour esta cada vez melhor, vale a pena testar.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: SetMode(25,40)

Mensagem por sygecom »

Para quem quiser ver as diferenças, esta em Anexo, e pelo meus testes por enquanto simples como uns "SET FILTER TO", o Harbour tmb. esta mais rapido que o xHarbour.
Proximo passo é compilar meu sistema com o compilador MSVC + Harbour.
Anexos
setmode.rar
(550.37 KiB) Baixado 149 vezes
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder