Ler o artigo...
29 maio 2009
Crie Gui’s facilmente com o Koda
Ler o artigo...
28 maio 2009
Variáveis (básico) – Aprender programação com o AutoIt
Mas afinal o que são variáveis? Variáveis são lugares na memoria que se pode reservar e/ou guardar informação nesse espaço, para ser utilizada depois.
Cada variável tem que ser sempre identificada por um nome, para que depois se saiba a qual é que se está a guardar/buscar informação dela. Qualquer nome que se dê a uma variável e para que se possa distinguir, temos também de colocar o prefixo “$” antes do nome da variável. Com isto identificamos o que são variáveis.
Exemplo de uma variável:
$nome_da_variavel
Atribuindo informação a variáveis
Para que uma variável funcione para alguma coisa temos que lhe dar alguma informação para guardar. E para isso atribuímos da seguinte forma:
$nome_variavel = 1
$nome_variavel2 = "Olá Mundo!"
$nome_variavel3 = "2 pardais"
$nome_variavel4 = $nome_variavel2
Explicação:
- Na primeira variável ($nome_variavel) atribuímos o número “1”, ou seja, se essa variável for usada ele vai devolver o número “1”.
- Na segunda variável atribuímos o texto “Olá Mundo!”, e tem a diferença que o que atribuímos está entre aspas (“”). Isto tem de ser sempre usado quando se escreve texto para uma variável guardar (mesmo que seja só 1 carácter).
- Na terceira variável contem números e letras, neste caso também é sempre necessário usar aspas (“”), apesar de conter números, é necessário pois também contém letras.
- Na quarta variável é outra opção que podemos fazer: atribuir a uma variável outra variável. Ou seja neste caso esta variável ($nome_variavel4) tem o mesmo conteúdo da segunda variável ($nome_variavel2), que é “Olá Mundo!”
Utilização de variáveis
Existem algumas regras quanto a utilização de variáveis:
- Tem de ser primeiro atribuída alguma informação ou ser declarada
- O nome da variável só pode conter:
- Números (0-9)
- Letras minúsculas ou maiúsculas e sem acentos (a-z, A-Z)
- Carácter “_” (underscore)
Declarar variáveis
Embora isto seja opcional no AutoIt, noutras linguagens as vezes isto pode ser obrigatório e até mesmo especificar qual o tipo (inteiro, real, etc.). Mas também tem algumas vantagens:
- Não ser necessário atribuir informação a guardar
- Colocar a variável apenas disponível numa parte do código.
Exemplo
Dim $a = 1
Local $b = 2
Global $c = 3
Explicação: Na primeira variável, apenas declaramos a variável. No segundo exemplo a variável apenas fica disponível dentro daquela função (variável local). No terceiro exemplo se a variável ficar numa função, fica na mesma disponível no programa todo (variável global).
Poderá não perceber muito bem a explicação pois estamos a falar de uma coisa nova: funções. Mas para não complicar hoje não iremos falar sobre isso. Esta explicação é só para ficarem com uma pequena ideia. Um dia explicaremos o que isso é.
Variáveis constantes
Uma variável, como o nome diz: “que pode variar”. As variáveis constantes, também são como o nome diz “constantes, não mudam”. Ou seja se declararmos uma variável constante com um valor, esse valor nunca mais se irá alterar. Isto pode ser útil para quando queremos de propósito que uma variável nunca altere o valor, e que para o caso de fizermos algum erro na escrita do programa, essa mesma variável não altere o seu valor por acidente.
Exemplo
Const $ano = 2009
Const Local $const_local = "Portugues"
Const Global $const_global = "Terra"
Explicação: Como no caso das variáveis normais, também podemos declarar variáveis locais e globais. Mas existem algumas diferenças nas variáveis constantes:
- Têm de ser declaradas
- Tem de atribuir o conteúdo na declaração
Mostrar o conteúdo das variáveis ao utilizador
Irei mostrar um exemplo de uma das maneiras de mostrar o conteúdo das variáveis.
Exemplo
$variavel1 = "Olá João!"
MsgBox(0, "Mensagem", $variavel1)
$variavel2 = 4
MsgBox(0, "2 + 2 = " & $variavel2)
Poderá reparar que ao mostrar a segunda variável, encontramos uma coisa diferente do normal, o carácter “&”, mas isso será explicado num outro artigo :D. E também não é necessário dizer qual é o resultado de 2 + 2, pois o AutoIt, pode fazer isso por nós. Mas isso será abordado no próximo artigo da série.
Por hoje é tudo, e não se esqueça: Qualquer dúvida, não hesite! Coloque-a aqui!
Ler o artigo...27 maio 2009
Crie o seu próprio programa de informação do sistema
Conhecemos programas como o SiSoft Sandra e HWiNFO32, que nos devolvem informação acerca do computador. Mas por vezes queríamos que devolvesse os resultados de uma outra maneira. Neste exemplo irei demonstrar uma maneira simples de como o AutoIt poderá devolver informação acerca do seu computador.
No AutoIt existem Macros, que são basicamente variáveis especiais, que apenas devolvem informação. E uma boa parte delas devolvem informações do computador. Diferentemente da “simbologia” para identificar uma variável, numa Macro é utilizado o símbolo “@” ao invés de “$”.
Eis aqui a lista de Macros relacionados com as informações do sistema:
- Pastas
- Pastas de definições dos programas
- @AppDataCommonDir - Localização da pasta “Application Data” ou “ProgramData” no Windows Vista
- @AppDataDir - Localização da pasta “Application Data” do utilizador
- @CommonFilesDir - Localização da pasta “Common Files”
- Pastas dos utilizadores
- @UserProfileDir – Localização da pasta do utilizador actual (com a letra do disco)
- @HomePath – Localização da pasta do utilizador actual (sem a letra do disco)
- @DesktopCommonDir - Localização da pasta pública do Ambiente de Trabalho
- @DesktopDir - Localização da pasta do Ambiente de Trabalho, para o utilizador actual
- @MyDocumentsDir – Localização da pasta “Os Meus Documentos” ou “Documentos” do utilizador actual.
- @DocumentsCommonDir - Localização da pasta pública para “Os Meus Documentos” ou “Documentos” no Windows Vista
- @FavoritesCommonDir - Localização da pasta pública “Favoritos”
- @FavoritesDir - Localização da pasta “Favoritos”, para o utilizador actual
- Pasta Programas
- @ProgramFilesDir – Localização da pasta “Programas”
- Menu Iniciar
- @ProgramsDir - Localização da pasta “Programas”, dos atalhos do Menu Iniciar no utilizador actual
- @ProgramsCommonDir – Localização da pasta pública “Programas”, dos atalhos do Menu Iniciar
- @StartMenuDir - Localização da pasta do Menu Iniciar no utilizador actual
- @StartMenuCommonDir – Localização da pasta pública do Menu Iniciar
- Arranque
- @StartupDir – Localização da pasta “Arranque” do utilizador actual (programas que arrancam quando o Windows inicia)
- @StartupCommonDir – Localização da pasta pública “Arranque” (programas que arrancam quando o Windows inicia)
- Windows
- @SystemDir – Localização da pasta “System32” ou “System”
- @TempDir – Localização da pasta de ficheiros temporários “Temp”
- @WindowsDir – Localização da pasta “Windows”
- @HomeDrive – Letra do disco em que está instalado o Windows
- Pastas de definições dos programas
- Sistema:
- Sistema Operativo
- @OSType – Diz qual é o tipo de sistema operativo instalado (ex: WIN32_NT para o Windows NT/2000/XP/2003/Vista/2008/Win7/2008R2)
- @OSVersion – Diz qual o sistema operativo instalado (ex: WIN_7, WIN_2008, WIN_VISTA)
- @OSBuild – Devolve o número da compilação (build) do sistema operativo
- @OSLang – Devolve o código da língua do sistema operativo (veja o apêndice “@OSLang Values” no ficheiro de ajuda para mais informações)
- @OSServicePack – Diz qual é o Service Pack instalado no sistema operativo
- @OSArch – Diz qual é a arquitectura do sistema operativo (32-Bits -> X86)(64-Bit –> X64)
- Rede
- @ComputerName - Nome do computador
- @UserName – Nome do utilizador actual
- @IPAddress1 – Diz qual o IP para a primeira placa de rede (ex: 192.168.1.1)
- @IPAddress2 – Diz o IP para a segunda placa de rede (mostra 0.0.0.0, se não existir nenhuma placa)
- @IPAddress3 - Diz o IP para a terceira placa de rede (mostra 0.0.0.0, se não existir nenhuma placa)
- @IPAddress4 - Diz o IP para a quarta placa de rede (mostra 0.0.0.0, se não existir nenhuma placa)
- Processador
- @CPUArch - Diz qual é a arquitectura do processador (32-Bits –> X86)(64-Bit –> X64)
- Monitor
- @DesktopWidth - Diz qual a largura da resolução do monitor (ex: 1024)
- @DesktopHeight - Diz qual a altura da resolução do monitor (ex: 768)
- @DesktopDepth - Diz qual a profundidade de cor do monitor (ex: 32-bit)
- @DesktopRefresh - Diz qual a taxa de refrescamento do monitor (ex: 60Hz)
- Teclado
- @KBLayout – Devolve o código da língua do teclado (veja o apêndice “@OSLang Values” no ficheiro de ajuda para mais informações)
- Sistema Operativo
Exemplo
MsgBox("", "Informação do Sistema", "Sistema Operativo"&@CRLF&" Tipo OS: "&@OSType&@CRLF&" Versão OS: "&@OSVersion&@CRLF&" Compilação: "&@OSBuild&@CRLF&" Lingua OS: "&@OSLang&@CRLF&" Service Pack: "&@OSServicePack&@CRLF&" Arquitectura OS: "&@OSArch&@CRLF&"Rede"&@CRLF&" Nome PC: "&@ComputerName&@CRLF&" Nome utilizador: "&@UserName&@CRLF&" 1 IP: "&@IPAddress1&@CRLF&" 2 IP: "&@IPAddress2&@CRLF&" 3 IP: "&@IPAddress3&@CRLF&" 4 IP: "&@IPAddress4&@CRLF&"Processador"&@CRLF&" Arquitectura CPU: "&@CPUArch&@CRLF&"Monitor"&@CRLF&" Largura: "&@DesktopWidth&@CRLF&" Altura: "&@DesktopHeight&@CRLF&" Profundidade: "&@DesktopDepth&@CRLF&" Taxa refrescamento: "&@DesktopRefresh&@CRLF&"Teclado"&@CRLF&" Lingua: "&@KBLayout)
MsgBox("", "Informação Pastas", "Pastas de definições dos programas"&@CRLF&" ProgramData: "&@AppDataCommonDir&@CRLF&" Application Data util: "&@AppDataDir&@CRLF&" Common Files: "&@CommonFilesDir&@CRLF&"Pastas dos utilizadores "&@CRLF&" Pasta util actual: "&@UserProfileDir&@CRLF&" Pasta util actual: "&@HomePath&@CRLF&" Pasta pública do Ambiente de Trabalho: "&@DesktopCommonDir&@CRLF&" Pasta Ambiente trabalho util: "&@DesktopDir&@CRLF&" Pasta Documentos util: "&@MyDocumentsDir&@CRLF&" Pasta pública Documentos: "&@DocumentsCommonDir&@CRLF&" Pasta pública Favoritos: "&@FavoritesCommonDir&@CRLF&" Pasta Favoritos util: "&@FavoritesDir&@CRLF&"Pasta Programas"&@CRLF&" Pasta Programas: "&@ProgramFilesDir&@CRLF&"Menu Iniciar"&@CRLF&" Pasta programas Menu: "&@ProgramsDir&@CRLF&" Pasta pública programas Menu: "&@ProgramsCommonDir&@CRLF&" Pasta Menu Iniciar util: "&@StartMenuDir&@CRLF&" Pasta pública Menu Iniciar: "&@StartMenuCommonDir&@CRLF&"Arranque"&@CRLF&" Pasta Arranque util: "&@StartupDir&@CRLF&" Pasta pública Arranque: "&@StartupCommonDir&@CRLF&"Windows"&@CRLF&" Pasta System32: "&@SystemDir&@CRLF&" Pasta Temp: "&@TempDir&@CRLF&" Pasta Windows: "&@WindowsDir&@CRLF&" Letra disco Windows: "&@HomeDrive)
Download Código Fonte | Download Executável
Qualquer dúvida, não hesite! Coloque-a aqui!
Ler o artigo...26 maio 2009
Olá Mundo! – Aprender programação com o AutoIt
Continuando a serie “Aprender programação com o AutoIt”, vamos falar do primeiro exemplo de introdução ao AutoIt, o famoso “Hello Word!” ou em português “Olá Mundo!”. Se não leu o artigo de introdução à programação leia isto: Introdução - Aprender programação com o AutoIt
Mas primeiro temos de ter o AutoIt instalado, e para isso vamos aqui: Download AutoIt v3.3.1.0 BETA
Eu recomendo a versão acima, mas se tem um “fetiche” nas versões BETA, instale a versão estável aqui: Download AutoIt v3.3.0.0
Nota: O exemplo dado funciona em ambas as versões.
Agora que está feito o download e instalado (se quiser, existe versão portable), iniciamos o editor SciTE. O SciTE é um editor de texto indicado para programadores, neste caso para programação AutoIt; pois ele permite: editar, compilar e testar. Na realidade pode-se usar qualquer editor de texto, até mesmo o Bloco de Notas do Windows. Mas não tem a mesma vantagem em relação ao SciTE.
Funcionalidades do ScitTE:
- Suporte nativo ao AutoIt
- Abertura de vários ficheiros na mesma janela (tabs)
- Destaque de sintaxe
- Software Livre (Open Source)
- Disponível em Português
- Listagem das funções
- Indentação automática
- Auto conclusão
- Integração com o compilador
- Gravação de macros
- Suporte a ASCII, UTF-8, UTF-16
- Entre outros
Bem, agora que já vimos que se usarmos o SciTE só traz vantagens, vamos então iniciar o programa em: Menu Iniciar –> Todos os Programas –> AutoIt v3 –> SciTE Script Editor.
Agora que já iniciamos o SciTE, vamos então para o nosso primeiro script!
O famoso “Olá Mundo” (Hello World!), é escrito através do comando “MsgBox”.
O comando “MsgBox”, por palavras simples significa: Mensagem de texto. E é mesmo isso o que ele faz. Na linguagem BASIC a sintaxe é escrita assim: [comando] ( [parâmetros] ). Então explicando melhor o comando “MsgBox”:
MsgBox("", "Titulo da janela", "Mensagem")
Nota: O comando “MsgBox” contem outros parâmetros de personalização, mas para simplificar foram apenas colocados os principais. Se tiver curiosidade em esses outros parâmetros consulte o ficheiro de ajuda, incluído na instalação.
Então o nosso primeiro script fica assim:
MsgBox("", "Mensagem", "Olá Mundo!")
Simplesmente escreva esta linha no editor, não é necessário escrever mais nada.
Agora para ver o resultado clique no menu em: “Tools” –> “Go” ou simplesmente carregue “F5”.
E já está! Por hoje é tudo, fique à espera do próximo artigo!
Download código fonte | Download executável
Qualquer dúvida, não hesite! Coloque-a aqui!
Ler o artigo...25 maio 2009
Automatizar instalações (Setup’s)
Hoje irei demonstrar como automatizar uma instalação, com base em um exemplo, de um instalador padrão. Também os instaladores não diferem muito entre eles, por isso não terá de fazer muitas adaptações. O exemplo aqui dado irá ser bastante abrangente, não apenas demonstrando como fazer “seguinte, seguinte”.
O exemplo aqui demonstrado será instalar o AutoIt v. 3.3.0.0, em que ao clicar no script abre a edição em vez de executar, sem instalar os exemplos de script, e não mostrar as notas no final da instalação.
Aviso: Os utilizadores do Windows Vista necessitam de ter direitos de administrador ao executar o Script, caso o instalador necessite de direitos de administrador, e para isso adicionamos a seguinte linha de código, antes de todo o código:
#RequireAdmin
Nota: O ficheiro de automatização terá de estar na mesma pasta em que se encontra o instalador do AutoIt, caso contrário não irá funcionar!
- Antes de começar, temos de verificar se o ficheiro de instalação está presente na pasta em que se encontra, e para isso usamos o comando “FileExists” juntamente com o condicionador “IF”.
Código:
If FileExists("autoit-v3-setup.exe") Then
MsgBox("", "Info", "Instalador encontrado a automatização irá continuar...", 5)
Else
MsgBox("", "Info", "Instalador não encontrado a automatização vai ser abortada...", 5)
Exit
EndIf
- Agora que já verificamos se o instalador existe, falta agora iniciar o instalador. Para isso utilizamos o comando “ShellExecute”.
Código:
ShellExecute("autoit-v3-setup.exe")
- Agora que já indicamos o ficheiro a executar, antes de prosseguir temos de esperar que mostre a janela principal, e para isso usamos o comando “WinWaitActive”.Código:
WinWaitActive("AutoIt v3.3.0.0 Setup", "Welcome to the AutoIt v3.3.0.0 Setup Wizard")
- Agora que o instalador está à espera, podemos prosseguir, clicando em “Next >”. E para isso usamos o comando “Send”.
Nota: Repare que o texto tem a letra “N” sublinhada “Next >”, isto significa que se usarmos o atalho: “ALT + [letra sublinhada]” clica nesse botão sem usarmos o rato.
Código:
Send("!n")
- Repetimos o mesmo processo, até chegar à escolha, para quando é feito o duplo clique no script.
Código:
WinWaitActive("AutoIt v3.3.0.0 Setup", "License Agreement")
Send("!a")
WinWaitActive("AutoIt v3.3.0.0 Setup", "Defaults for *.au3")
- Para colocarmos o duplo clique para editar o ficheiro, teremos de carregar na tecla “TAB” e para aplicar, na tecla “Espaço”, e depois disso podemos avançar para o próximo passo.
Código:
Send("{TAB}{SPACE}")
Send("!n")
- Agora falta desactivar a opção de instalar os exemplos, e para isso carregamos na tecla “TAB”, depois “Seta para baixo”, e finalmente na tecla “Espaço” para aplicar. Depois podemos prosseguir para o próximo passo e instalar.
Código:
WinWaitActive("AutoIt v3.3.0.0 Setup", "Choose Components")
Send("{TAB}{DOWN}{SPACE}")
Send("!n")
WinWaitActive("AutoIt v3.3.0.0 Setup", "Choose Install Location")
Send("!i")
- Só falta esperar que o programa instale, e depois desactivar a opção de mostrar as notas no final da instalação.
Código:
WinWaitActive("AutoIt v3.3.0.0 Setup", "Completing the AutoIt v3.3.0.0 Setup Wizard")
Send("{SPACE}")
Send("!f")
- E para concluir, mostra uma mensagem em como terminou a instalação.
Código:
MsgBox("", "Info", "Instalação concluída com sucesso!")
E é tudo. Com este exemplo irá servir de “modelo” para poderem criar as vossas instalações automáticas.
Download código fonte Download do executável
Qualquer dúvida, não hesite! Coloque-a aqui!
Ler o artigo...22 maio 2009
Introdução - Aprender programação com o AutoIt
Programação é a introdução de dados para o computador a fim de interpretar e executar, para fazer determinada tarefa. Tudo o processo, desde quando se liga o computador até quando vai imprimir o que acabou de escrever, foi programado por alguém. O computador está disposto a fazer o que nós bem quisermos, desde que lhe demos os procedimentos correctos para executar a tarefa.
E para darmos os procedimentos, usamos uma linguagem de programação por escrito. Na realidade o computador só entende uma linguagem, o código máquina: uma sequencia de 0 (zero [desligado]) e 1 (um [ligado]). Mas essa linguagem seria muito difícil de nós interpretarmos. Por isso, existem as linguagens de programação, são até chamadas de linguagens de programação de alto nível. São linguagens compressíveis pelos humanos, normalmente com palavras (keywords) em inglês. Mas, como o computador entende essa linguagem, se só “percebe” 0 e 1?
Agora é que entra o compilador. Quando o programador quer testar as instruções para o computador (código), primeiro terá de executar o compilador. O compilador feito para essa linguagem; interpreta o código, e depois converte esse código para o código máquina. O processo de compilação difere de linguagem para linguagem, mas normalmente faz isto:
- Analise lexicográfica [scanner] (analisa o código, de modo a não ter erros de escrita)
- Analise sintáctica [parser] (analisa o código, convertendo-o para um código estruturado [código objecto])
- Gerador de código intermédio (gera o código máquina não optimizado)
- Optimização do código intermédio (optimiza o código, de forma a ser um ficheiro mais pequeno e mais rápido de executar)
- Gera o ficheiro executável (ficheiro totalmente convertido e optimizado para código máquina)
E o AutoIt é uma das milhares de linguagens de programação, que utiliza uma linguagem perceptível ao humano e depois converte para código máquina.
Conclusão Para mim programar é uma coisa divertida, pois eu gosto de saber como as coisas se fazem e que funcionem ao meu gosto.
O limite para a programação é a sua imaginação. É uma arte! Sim, programar é uma arte; pois ninguém programa da mesma forma. Para se fazer um procedimento existem 1001 maneiras de se fazer!
Bem por hoje é tudo, e no próximo artigo, vamos começar já com o básico da programação em AutoIt!
Qualquer dúvida, não hesite! Coloque-a aqui!
Ler o artigo...21 maio 2009
Download AutoIt v 3.3.1.0 BETA
Novidades:
Updates
- Editor SciTE actualizado para a versão 1.78 (veja nota)
- AutoIt Window Info, agora permite saber a informação da Toolbar
- SQLite actualizado para a versão 3.6.14.1
Mudanças
- ShellExecute() e ShellExecuteWait() deixou de ter a opção "open" por defeito.
- O valor de retorno de InetGet() mudou.
- InetGet ( "abortar"), @InetGetActive e @InetGetBytesRead estão agora depreciados.
Vão continuar a funcionar até à versão 3.3.2.0, mas vão ser removidos. As características foram substituídos do seguinte modo:- Antes: InetGet ("abort") – Agora: InetClose() função que irá abortar o download.
- Antes: @InetGetActive – Agora: InetGetInfo() função sem parâmetros que retorna o número de downloads activos.
- Antes: @InetGetBytesRead – Agora: InetGetInfo() função que retorna o número de bytes transferidos naquele momento.
- A opção (Opt) “FtpBinaryMode”, foi removida. Agora a função InetGet() tem uma opção para especificar o tipo de transferência.
- A função “URLDownloadToFile()” foi removida.
Dica: Se quiser saber mais detalhes sobre as alterações do AutoIt vá: http://www.autoitscript.com/forum/index.php?showtopic=95367 ou consulte o manual de ajuda.
Nota: Se tiver a versão anterior do AutoIt instalada com o SciTE v 1.77 ou anterior, ao instalar o AutoIt v 3.3.1.0 BETA, não actualiza o SciTE para a nova versão 1.78. Faça o Download (em baixo) e substitua os ficheiros dentro da pasta. Exemplo: C:\Programas\AutoIt3\SciTE.
Atenção: Se tiver a versão estável (ex: v3.3.0.0) instalada e quiser utilizar o SciTE para compilar na nova versão Beta, copie a pasta “SciTE” para dentro da pasta “Beta”, caso contrário só poderá compilar/testar na versão estável.
Data da versão: 21-Maio-2009
Nome do programa: AutoIt
Tipo: 32/64-Bit
Versão: 3.3.1.0 BETA
Tamanho: 7,89 MB
Download
Data da versão: 21-Maio-2009
Nome do programa: AutoIt Portable
Tipo: 32/64-Bit
Versão: 3.3.1.0 BETA
Tamanho: 11 MB
Download
Data da versão: 21-Maio-2009
Nome do programa: SciTE para AutoIt
Tipo: 32-Bit
Versão: 1.78
Tamanho: 361 KB
Download