Re: Assembly C Pascal - HELP!
On Sun, Mar 31, 2002 at 09:15:39PM -0300, Jose Rafael Xavier dos Santos wrote:
>
> Existe alguma possibilidade de eu escrever diretamente na memoria de video? Existe algum outro metodo para escrever rapidamente na tela?
> Preciso usar pascal para um projeto e estou tendo muitas dificuldades com a lentidao das funcoes write() e writeln(). No dos a solucao seria utilizar assembly para escrever diretamente na memoria de video. NAO SEI O QUE FAZER NO LINUX!
> Estou fazendo de tudo para nao ter que usar o DOS ou o windows. Sei que posso chamar funcoes em C atraves do freepascal; haveria uma saida por aqui?
> Estou usando 80x25 padrao, sem inicializar o modo grafico. Se alguem tiver alguma sugestao...
>
> Valeu
Com qual velocidade você precisa escrever na tela? o seu programa está
redesenhando toda a tela quando precisa somente modificar uma parte?
As seguintes sequencias funcionam na maioria dos terminais para ir a uma
posição específica. quem sabe isso lhe ajude resolver o problema:
Ex: para ir na coluna 35, linha 12 envie os seguintes caracteres com
um write():
ESC [ 1 2 ; 3 5 f
exemplo de como escrever na posição especificada usando o shell:
$ echo -en "\033\133\061\062\073\063\065\146TESTE"
O código do ESC é 33 em octal
[ 133
1 61
2 62
; 73
3 63
5 65
f 146
Outras sequencias úteis são:
apaga até o fim da linha atual: ESC [ K
apaga a tela : ESC [ 0 m CR ESC [ 0 d ESC [ 2 J
o código do "CR" é 13 decimal
Acho que isso ajuda a resolver o seu problema...
--
To UNSUBSCRIBE, email to debian-user-portuguese-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: