    Curso de scripvox - aula18 (Por Fabiano Ferreira)

    Antes de iniciarmos a aula desta semana, preciso fazer uma pequena
correção.
    Quando terminamos a aula da semana passada, disse que esta aula
seria a última, e que seria sobre internet.
    Na verdade, esta é a penúltima, e falará sobre o msaa.

    Infelizmente, temos poucas informações sobre a utilização desse
recurso, por dois motivos:
1 - não se trata de algo específico do scripvox, mas de algo do windows,
que pode ser utilizado com alguns comandos de scripvox feitos para esse
fim.
2 - O manual oficial não traz informações muito abrangentes sobre o
assunto, nem códigos de exemplos, para que possamos nos basear para
estudos.
    De qualquer forma, mostraremos o que há disponível sobre o assunto,
e, quem sabe, possamos conhecer melhor o funcionamento desse recurso,
juntos, através de estudos e trocas de esperiências?
    Então, vamos começar!

    *O que é o msaa?

    MSAA é a sigla para MICROSOFT ACTIVE ACCESSIBILITY.
    Através do msaa,
O Windows fornece informações sobre o que é exibido na tela.

    Vejamos agora os comandos válidos em scripvox para acessar estas
informações:

*Comando MSAA captura;
    Esse comando serve para descobrir qual o objeto que está na posição
x y.
Forma de uso:
msaa captura x y

*comando msaa munitora e msaa fim;
Iniciam e finalizam, respectivamente, a munitoração de eventos como
cliques, para depois indicar qual o objeto foi atingido.
    Também é importante que se utilize o comando msaa checa, para que
seja verificado se houve algum evento novo.
A forma de uso é msaa checa s, onde s é uma variável que pode receber 0,
indicando que não houve evento, ou 1, indicando que houve um evento.
Atenção:  é obrigatório executar este comando CHECA de tempos em tempos para
que a monitoração da tela seja copiada para os buffers internos do scripvox.

    Também é possível, com o scripvox, obter o nome do elemento, o
código, tipo, estado, valor e posição.
    Para isso utilizamos os seguintes comandos:

*msaa nome;
Uso: msaa nome n, onde n recebe o nome do objeto;
*msaa codigo;
Uso: msaa codigo c, onde c recebe o código do objeto;
*msaa tipo;
Uso: msaa tipo t, onde t recebe o tipo do objeto;
    *msaa estado;
Uso msaa estado e, onde e recebe o estado do objeto;
*msaa valor;
Uso: msaa valor v, onde v recebe o valor do objeto;
msaa area;
Uso: msaa x y l a
Onde x y é a posição do objeto;
L é a largura, e a é a altura;

    Vejamos agora, um exemplo de utilização do comando msaa, retirado
dos scripts inclusos no pacote de distribuição do sistema dosvox:

* Mini leitor de telas
* Autor: Antonio Borges
* Em 19/10/2003

MSAA monitora
@loop
    MSAA checa c
    se c = 1
        MSAA nome n
        se a <> n
            escreve n
            seja a n
        fim se

    observa teclado t
    se t = 0 desvia @loop

MSAA fim
termina

    O programinha acima é um mini leitor de tela baseado no msaa.
    Obs: já testei e realmente o resultado é muito interessante. Claro,
nem se compara com os leitores de telas que utilizamos no nosso dia a
dia.

    E assim fechamos a nossa aula18.

    O exercício dessa semana é:
    O que você consegue fazer em scripvox com os comandos do msaa?

    Dedique algum tempo refletindo sobre isso e escreva algum código,
para que possamos comentar e estudar mais sobre o assunto no grupo.
    Mande o seu código para o próprio grupo:
programando-em-scripvox@googlegroups.com

    E agora sim: semana que vem, fechamos nosso curso mostrando os
recursos que o scripvox oferece para trabalharmos com a internet.

    Até lá!
