    Curso de scripvox - aula10 (Por Fabiano Ferreira)

    Na aula anterior, começamos a falar sobre execussão externa.
    Vimos o comando chama/retorna e o comando desvia script.
    Nesta aula, vamos terminar a série de comandos de execussão externa e
comandos relacionados diretamente com a forma de execussão do programa.

*Comando executa;

Esse comando executa um programa externo.
Forma de uso:
    Executa, um espaço e entre aspas o caminho do arquivo executável.
    Pode-se também atribuir o nome do executável a uma variável e
passá-lo como parâmetro, assim:
Executa, um espaço e nome da variável.

    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 execussão
aguardando que o forcavox seja fechado.
    Podemos, porém, fazer com que o scripvox prossiga sua execussão, não
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
execussão;
    Como não há mais nada após 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 utilitários de linha de comando em conjunto com o
scripvox.

*Comando debug +/-

Esse comando serve para detecção de eventuais erros no programa.
    Forma de uso:
Debug, um espaço e sinal de + (mais) para ativar, ou
debug, um espaço e sinal de - (hífen) para desativar.

Vejamos o exemplo abaixo:

Escreve "Demonstração 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 faço."
Termina

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

*Comando cmd;
    Esse comando interpreta o valor de uma variável como um comando do
scripvox e o executa.
Forma de uso:
Cmd, um espaço e o nome da variável.
    Confuso?
    Vamos ver então um exemplo:

Seja c "Escreve n"

Escreve "Escreva algo:"
cmd c
Termina

    No exemplo acima, atribuímos a variável c a string "Escreve n"
    Mais abaixo executamos o comando cmd, passando como argumento a
variável c.
    Sendo assim, cmdc vai escrever o conteúdo da variável 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 começa com o comando escreve, um espaço e sinal de aspas,
indicando que vamos passar uma string.
    Daí vem a frase "é como diz o ditado", um espaço e dois sinais de
aspas.
    Não, não tem nada de errado.
    Duas aspas juntas faz aparecer um sinal de aspas na hora da
execussão, 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 após o comando escreve.
    Logo, a saída do programa será:
É como diz o ditado "Vivendo e aprendendo."
    Sabendo disso, esse código é perfeitamente válido:

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 variável como comando do
scripvox.
    No caso acima, a primeira aspa, após o comando seja, é a que indica
que o que vem depois dela é uma string.
Vem então o escreve, um espaço 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 variável c
acabou.

Então, cmd c, vai interpretar o seguinte comando:
Escreve "Curso de scripvox", gerando  a saída:
Curso de scripvox.

Assim terminamos a aula10

Exercício:

Faça um script que acerte a hora e data do computador.
O programa deve fazer uso dos utilitários 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 horário ao time, pelo comando executa do scripvox, procedemos assim:
Executa "Cmd /c time 00:00:00"
O exemplo acima modifica o horário do sistema para 0 hora, 0 minuto e 0
segundo.

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

Boa sorte!
