Trago esse tutorial para quem se interessar na área de programação. Não é só um tópico de como fazer um programa, mas também sobre ao que a área da programação pode te levar.
Bem, pra começar com programação, sugiro uma linguagem bem simples. Vou passar alguns comandos do windows para você fazer um "programa" em batch ou bat. Que é a "linguagem de programação do windows".
Edit: Nota: Batch-scripting é o ato de fazer scripts, pedaços de código, para serem rodados pelo interpretador de comandos do Windows. Não é uma linguagem de programação.
Edit: Nota: Batch não é guiado a objetos como a maioria das linguagens mais avançadas, não é multi-plataforma, não suporta regex, e funções avançadas são complicadas, por isso não sugiro continuar mexendo após pegar o básico. O motivo desse tutorial ser sobre batch é porque você não precisa baixar nada para rodar os scripts, e porque os comandos básicos são facílimos de aprender - isso vai te passar o básico de lógica de programação - como funcionam programas de computador.
Por que programar?
Bem, motivos não faltam. Se você usa o computador com relativa freqüência, seria bom entender mais como os softwares dele funcionam, não? Além disso, conhecimento te ajuda a te proteger de malwares, te ajuda a realizar tarefas relativamente complicadas (você pode fazer um programa, por ex, para renomear arquivos em massa, evitando a chatisse de fazer isso.) e pode servir como um "plus" no currículo mesmo que você não siga essa área. Se você resolver seguir uma carreira nessa linha, é uma "profissão do futuro". É uma área relativamente nova e que promete ser muito explorada no futuro. Mais abaixo tem um post do usuário "noobinho" que é programador por profissão, aos interessados, vale a pena ler.
Enfim, ao tutorial em si:
Para fazer o programa você vai precisar do seguinte:
- Windows XP
- Bloco de notas
(talvez funcione no windows vista ou 7)
Antes de tudo, para salvar seu programa ao longo do tutorial, que será feito no bloco de notas, faça o seguinte:
- Clique em salvar como
- Renomeie seu arquivo para nome_do_arquivo.bat
Vá sempre experimentando e salvando seu trabalho. Rode seu programa pra ver o que acontece. Se você errar, não desista. Programação é basicamente tentativa e erro.
Para começo de conversa, abra o bloco de notas. Você pode ir pelo menu acessórios, mas vamos fazer de um modo diferente, pra entrar no espírito da coisa. Clique em Iniciar e então em executar. Digite "cmd" (sem as aspas) e clique OK. cmd.exe é o interpretador de comando do windows. Ele recebe os comandos, os interpreta e executa. Para uma explicação técnica, vide wikipédia
Abrirá uma tela preta, esse é o cmd. Digite "start notepad.exe" (sem aspas) e presione enter, como no ex. abaixo:
Se você fez tudo certo, o bloco de notas deve ter abrido. Deixe a caixinha preta (o cmd) aberto, vamos usar ele mais tarde. Pode minimizá-lo.
Você abriu o bloco de notas porque é nele que você vai programar. Na primeira linha escreva o seguinte:
@echo off
Isso serve para ocultar as mensagens do interpretador de comandos. Ao invés de mostrar toda a interpretação do comando, ele vai apenas executá-lo e exibir o resultado, ou output.
Na segunda linha vamos fazer uma label. Uma marcação. Escreva o seguinte:
@echo off :inicio
Não use acentos.
O parâmetro ":" indica uma label. Essa marcação serve para orientar o computador. Se você precisar voltar ao início do programa, você precisará dessa marcação (mais tarde veremos como fazer isso).
Edit: Nota: O uso de labels em geral é desencorajado em linguagens de programação mais avançadas.
Na terceira linha vamos botar um comando. Você escolhe qual. Para ver uma lista de comandos e suas funções, volte a janela do cmd e digite "help" e pressione enter.
Para instruções mais específicas de cada comando, digite no cmd:
comando /?
Onde "comando" é o nome do comando
Se quiser se aprofundar mais ainda, vá na central de ajuda do windows e procure pelo comando.
Neste tutorial vou mostrar alguns comandos. O primeiro é o title. Ele define o título do seu programa. Não é necessário entitular o seu prog., mas fica mais bonito. O segundo é echo. Ele imprime uma mensagem na tela. Eles funcionam da seguinte maneira:
@echo off :inicio title Meu primeiro programa. echo Bem-vindo ao meu primeiro programa
echo seguido de ponto indica quebra de linha
Mas se você rodar esse programa ele vai abrir e fechar num piscar de olhos. Isso acontece pois você simplesmente mandou o computador exibir uma mensagem. Não mandou ele parar ou pausar. Para isso utiliza-se o comando pause. O comando pause fará o computador pausar o programa até segunda ordem. Exibindo "Pressione qualquer tecla para continuar". Se você não quiser que essa mensagem seja exibida, digite pause>nul
Nosso programa fica assim:
@echo off :inicio title Meu primeiro programa echo Bem-Vindo ao meu primeiro programa. echo. echo Se voce quiser continuar, digite qualquer tecla. pause>nul
Como acabaram os comandos o programa se fechará. Mas você também pode usar o comando "exit" para encerrar seu prog.
Os próximos comandos que veremos serão cls e goto. O cls não é seguido de nada. Sua função é unicamente limpar a tela. O goto é seguido do nome de uma label. Ele fará o programa executar as linhas abaixo de uma label. Introduzindo no nosso programa:
Edit: Nota: Como dito anteriormente, o uso de labels é, em geral, desencorajado. Consequentemente, o uso de goto também é, mas é mais simples usar goto então vamos usar apenas para fins didáticos.
@echo off [b]:inicio[/b] [b]cls[/b] title Meu primeiro programa echo Bem-Vindo ao meu primeiro programa. echo. echo Se voce quiser continuar, digite qualquer tecla. pause>nul [b]goto inicio[/b]
Após o usuário pressionar qualquer tecla, o programa voltará para o início, isto é, serão executadas as linhas abaixo da label ":inicio". A começar por "cls", que limpará a tela. Aí foi formado um "loop". Um loop é uma parte do programa que "da voltas". Se você perceber, esse é um loop infinito. O usuário "não sai do lugar", volta sempre ao mesmo ponto, dá voltas.
Esse programa ficou meio inútil, né? Mas é assim que se começa. Se você fez o passo de digitar "help" no cmd viu que existem muitos comandos interessantes.
Para começar a dar um "sentido" ao programa precisamos usar variáveis. Variáveis são, explicando de um modo leigo, "objetos com um valor". Por exemplo, se eu setar, isto é, definir uma variável chamada "var" como "DiogoTemporario", toda vez que eu digitar %var%, será exibido "DiogoTemporario". O sinal % em batch, significa que o que está entre % é uma variável. Aí já vimos o comando set. Usa-se da seguinte forma:
set variavel=valor
Se você quiser que o usuário sete a variável usa-se o parâmetro /p. Isto é chamado de interação com o usuário. Usa-se da seguinte forma:
set /p variavel=Digite um valor para a variável.
O comando set é grando amigo do if. Que significa "se" em inglês. Um exemplo de uso:
if %var1% == %var2% echo Var1 = Var2
ou seja
se %var1% for igual a %var2% echo Var1 = Var2
Um uso para isso é a criação de menus. Vide ex. abaixo:
set /p confirma=Voce deseja continuar?(s/n) if "%confirma%"=="s" echo Voce optou por continuar if "%confirma%"=="n" echo Voce optou por nao continuar pause
experimente o código acima em seu prog.
são usadas aspas quando se quer comparar uma variável com uma "string", isto é, um texto. quando se quer comparar uma variável com outra ou com um "int" ou "integer", isto é, um valor numérco, não usa-se aspas.
Vamos usar todos os comandos que aprendemos para fazer o programa abaixo. Usarei ainda o comando cd, que define a pasta em que o programa será executado é mais ou menos isso e o comando md, que cria uma pasta. Use o help e comando /? para mais info. Sugiro que faça isso com os comandos set e if
Sugestão: Use o comando start (o primeiro que vimos) em seu programa. Alguns processos do windows que sei de cor:
- calc.exe -> calculador
- spider.exe -> paciência spider
- sol.exe -> paciência
- winmine -> campo minado
- winword -> word 2007
- iexplorer -> internet explorer<7.0
- firefox.exe -> firefox
- chrome.exe -> chrome
@echo off :inicio cls title Meu primeiro programa echo Bem-Vindo ao meu primeiro programa. echo. echo Se voce quiser continuar, digite qualquer tecla. pause>nul :confirmacao cls echo Voce decidiu continuar. echo Esse programa criara uma pasta em sua desktop echo. set/p confirmacao=Voce tem certeza que deseja continuar?(s/n) if "%confirmacao%"=="s" goto criar_pasta if "%confirmacao%"=="n" goto nao_criar_pasta cls echo Voce nao digitou uma opcao valida. pause goto confirmacao :nao_criar_pasta cls echo Voce decidiu nao continuar echo. echo Digite qualquer tecla para SAIR pause>nul exit :criar_pasta cls echo Voce decidiu criar uma pasta. cd %userprofile%\Desktop md Pasta_de_testes echo. echo Foi criada a pasta "pasta_de_testes" em sua desktop echo. echo Digite qualquer tecla para SAIR pause>nul
%userprofile% é uma variável de sistema, isto é, setada pelo windows. o valor dela é o nome da pasta do usuário. ex: C:\Documents and Settings\Usuário\
Rode e veja o que acontece.
Depois, faça você o seu!
Qualquer dúvidas poste aqui; e...
COMENTE!!!