    Curso de scripvox - aula10 (Por Fabiano Ferreira)

    Na aula anterior, comeamos a falar sobre execusso externa.
    Vimos o comando chama/retorna e o comando desvia script.
    Nesta aula, vamos terminar a srie de comandos de execusso externa e
comandos relacionados diretamente com a forma de execusso do programa.

*Comando executa;

Esse comando executa um programa externo.
Forma de uso:
    Executa, um espao e entre aspas o caminho do arquivo executvel.
    Pode-se tambm atribuir o nome do executvel a uma varivel e
pass-lo como parmetro, assim:
Executa, um espao e nome da varivel.

    Vejamos um exemplo:

Escreve "Vou executar um programa:"
Executa "c:\winvox\forcavox.exe"
    No exemplo acima, o scripvox chama o jogo da forca.
    Enquanto o forcavox  executado, o script para sua execusso
aguardando que o forcavox seja fechado.
    Podemos, porm, fazer com que o scripvox prossiga sua execusso, no
esperando que um outro programa termine.
    Para isso, basta inserir o modificador & ( comercial) ao final das
aspas, como vamos ver a seguir:

Escreve "Executando um programa:"
Executa "c:\winvox\forcavox.exe"&

    No exemplo acima, o scripvox chama o jogo da forca e continua sua
execusso;
    Como no h mais nada aps essa linha, o script vai enserrar e o
forcavox permanecer aberto, mas se houvesse mais linhas a executar, o
interpretador as executaria, sem esperar o forcavox se fechar.
    O comando executa nos abre diversas possibilidades.
Uma delas  usar os utilitrios de linha de comando em conjunto com o
scripvox.

*Comando debug +/-

Esse comando serve para deteco de eventuais erros no programa.
    Forma de uso:
Debug, um espao e sinal de + (mais) para ativar, ou
debug, um espao e sinal de - (hfen) para desativar.

Vejamos o exemplo abaixo:

Escreve "Demonstrao do comando debug"
Escreve "ligando o debug:"
Debug +
Escreve "Agora vou mostrar tudo que estou fazendo."
Seja a 2
Seja b 3
Soma a b
Escreve b
Escreve "Acabei de fazer uma soma."
Debug -
Escreve "Agora vou parar de mostrar o que fao."
Termina

    No exemplo acima, todas as linhas entre o debug + e debug -, antes
de serem interpretadas, so mostradas.

*Comando cmd;
    Esse comando interpreta o valor de uma varivel como um comando do
scripvox e o executa.
Forma de uso:
Cmd, um espao e o nome da varivel.
    Confuso?
    Vamos ver ento um exemplo:

Seja c "Escreve n"

Escreve "Escreva algo:"
cmd c
Termina

    No exemplo acima, atribumos a varivel c a string "Escreve n"
    Mais abaixo executamos o comando cmd, passando como argumento a
varivel c.
    Sendo assim, cmdc vai escrever o contedo da varivel n na tela,
pois o valor de c  "Escreve n"

    E para finalizar, vamos ver mais uma coisinha que pode ser bem til:
como inserir aspas dentro de aspas.

    Vamos direto ao exemplo:

Escreve " como diz o ditado: ""Vivendo e aprendendo."""

    Vamos analisar o exemplo acima:
    A linha comea com o comando escreve, um espao e sinal de aspas,
indicando que vamos passar uma string.
    Da vem a frase " como diz o ditado", um espao e dois sinais de
aspas.
    No, no tem nada de errado.
    Duas aspas juntas faz aparecer um sinal de aspas na hora da
execusso, ou seja, "" (aspas aspas) significa que estamos passando um
sinal de aspas como string.
    Logo depois a frase "Vivendo e aprendendo", e mais dois sinais de
aspas, que equivale a uma aspa sendo passada como string.
Depois, mais um sinal de aspas, que est fechando a aspa inicial, a que
foi aberta aps o comando escreve.
    Logo, a sada do programa ser:
 como diz o ditado "Vivendo e aprendendo."
    Sabendo disso, esse cdigo  perfeitamente vlido:

Seja c "Escreve ""Curso de scripvox"""
cmd c
Termina

O exemplo acima coloca na tela a frase "curso de scripvox" utilizando o
comando cmd para interpretar o valor da varivel como comando do
scripvox.
    No caso acima, a primeira aspa, aps o comando seja,  a que indica
que o que vem depois dela  uma string.
Vem ento o escreve, um espao e dois sinais de aspas, o que indica a
aspa que deve ser aberta no comando escreve.
Em seguida a mensagem curso de scripvox, que  a mensagem que ser
escrita com o comando escreve
E mais 3 aspas, sendo duas para fechar a aspa do comando escreve e a
outra para dizer que a string que est sendo passada para a varivel c
acabou.

Ento, cmd c, vai interpretar o seguinte comando:
Escreve "Curso de scripvox", gerando  a sada:
Curso de scripvox.

Assim terminamos a aula10

Exerccio:

Faa um script que acerte a hora e data do computador.
O programa deve fazer uso dos utilitrios de linha de comando time e
date.
    Para passar uma data ao date, pelo comando executa do scripvox,
fazemos assim:
Executa "cmd /c date 25/12/2011"
O exemplo modifica a data do sistema para 25 de dezembro de 2011.

Para passar um horrio ao time, pelo comando executa do scripvox, procedemos assim:
Executa "Cmd /c time 00:00:00"
O exemplo acima modifica o horrio do sistema para 0 hora, 0 minuto e 0
segundo.

*Entregar a resposta at o dia 02/10, enviando para o seguinte endereo:
qst-scripvox@sanfersite.com.br

Boa sorte!
