Você está na página 1de 7

4

SABER ELETRNICA N 318/99

Parte I
Este artigo parte de uma srie onde ser apresentada uma poderosa ferramenta bastante til para o profissional da Eletrnica: o ambiente de programao Delphi. Pretende-se com isso desmistificar e tornar mais atraente e agradvel a utilizao de um computador PC para, por exemplo, controlar desde simples at complexos circuitos externos, fazer o acompanhamento de um determinado processo atravs da aquisio de dados do ambiente deste, ou ainda, simplesmente tornar o comportamento de uma montagem mais dinmico: facilmente altervel/programvel - como um jogo de luzes, por exemplo.

Eduardo Divino Dias Vilela eddv@mailbr.com.br

A eletrnica evolui muito rapidamente, e devido ao mercado ser cada vez maior, tem possibilitado tanto ao profissional como ao hobbysta, o acesso a tecnologia de ponta e a ferramentas que antes eram disponveis apenas em laboratrios bem equipados de centros de pesquisa. Uma das ferramentas que j faz parte do cotidiano do profissional da rea o computador, e a finalidade deste mini-curso dar um maior poder de desenvolvimento ao amante da eletrnica, atravs da apresentao do Delphi e de alguns projetos prticos que o utilizam. Note que a inteno aqui no dar um curso de programao completo: no esta a finalidade, entretanto, basta o leitor possuir algumas noes bsicas de programao mesmo que voc no conhea programao, mas usa o Windows - certamente conseguir fazer o seu PC controlar um circuito externo, e facilmente far o seu primeiro programa utilizando o Delphi.
SABER ELETRNICA N 318/99

A programao para Windows Como voc j deve ter observado, diferentemente do DOS, onde precisa digitar um comando e teclar ENTER para execut-lo, o ambiente Windows totalmente visual e orientado a eventos. Como? O Windows no faz nada, a no ser que voc lhe ordene, e estas ordens so dadas atravs de eventos, tais como dar um clique com o mouse em um boto, clicar em um menu, pressionar a tecla ENTER, ou seja, o Windows funciona respondendo aos estmulos dados pelo usurio os chamados eventos, e no diretamente por comandos escritos. Eventos so aes do usurio ou ocorrncias de sistema que o componente pode reconhecer. Um exemplo de uma ao de usurio um clique em um boto. Um exemplo de uma ocorrncia de sistema um alarme gerado em um intervalo de tempo prdeterminado.
5

Veja, a propsito (na figura 1), esta janela de Aviso que apresentada pelo aplicativo Bloco de Notas, aps o usurio tentar fechar um arquivo que est sendo editado, sem salvar as ltimas modificaes: existem 4 possibilidades de gerao de eventos pelo usurio - o clique em um dos trs botes, ou um clique no cone [X] na parte superior da janela. Observe que conforme o evento que voc gera - o clique em um ou outro lugar - a aplicao reage de formas totalmente diferentes. A caracterstica visual e a reao a eventos diferencia crucialmente a programao para ambiente Windows da programao para outros ambientes e linguagens (ambiente DOS, linguagens C e Assembly). Na programao Delphi, que tambm uma linguagem visual, o desenvolvimento de um aplicativo composto de duas fases: a definio da interface e a codificao dos manipuladores de eventos. Em outras palavras, isto significa que para se criar um programa, devese seguir uma seqncia natural de passos: - Cria-se uma janela (denominase Form), e insere-se os componentes necessrios para fazer o que se deseja. Componente cada um dos diferentes itens utilizados no Windows: botes, rtulos, menus, caixas de seleo etc. Criar? No Delphi, para criar uma janela ou um boto, basta apenas dar um clique com o mouse na paleta de componentes - veremos isto mais adiante. - Ajusta-se as propriedades destes componentes inseridos: definese a cor da janela, o tamanho, o que vai escrito em cada boto, o ttulo da janela etc. - Codifica-se os manipuladores de eventos (event handlers): consiste na escrita do cdigo que instrui o seu programa a reagir aos eventos de forma a realizar a tarefa que determinar. Utiliza-se a linguagem Object Pascal, uma linguagem bem estruturada e de fcil aprendizado. Todas esta definies so salvas em um conjunto de arquivos, os arquivos do seu projeto, e voc o responsvel por dar um nome ao projeto (apesar do Delphi dar um nome

PC) e contm tambm o cdigo que voc escrever para os eventos do seu programa.

Fig. 1 - Eventos

O ambiente de desenvolvimento Delphi - IDE Quando se executa o Delphi, ele automaticamente abre um novo projeto de programa, e so mostradas as principais janelas do ambiente de desenvolvimento. Ver na figura 2. O Ambiente de Desenvolvimento Integrado (IDE - Integrated Development Environment) um conjunto de ferramentas que compem a interface de desenvolvimento do Delphi, sendo que as principais ferramentas so Menus do Delphi Speed Bar Component Palette Object Inspector Form Code Editor Speed Menus On-Line Help

padro, voc pode modificar para adequar ao seu propsito). Tendo feito isto, s compilar o seu programa e pronto: voc o ter rodando no Windows, e fazendo o que desejar! Vejamos onde isto se encaixa. Para se criar um programa com o Delphi, necessria a definio de vrios itens, e o Delphi faz o gerenciamento de todas as informaes de uma maneira muito interessante - ele cria uma estrutura de gerenciamento tratando o seu projeto de programa da forma que ele - um projeto. Assim, um projeto constitudo fundamentalmente dos seguintes arquivos (que o Delphi cria para voc automaticamente quando do incio de um novo projeto): Project1.dpr - Arquivo que armazena a descrio geral do seu projeto Unit1.dfm - a descrio textual da janela que voc criou (o seu Form) Unit1.pas - Contm o cdigo bsico e o cdigo programado por voc Unit1.~pa e Unit1.~df - Cpias de backup dos respectivos arquivos. E tambm os nomeados como project , com as seguintes extenses: .cfg, .dof e .res - que so arquivos de configuraes do ambiente e arquivos de recursos - este ltimo ser abordado no momento oportuno. Estes so os nomes default, ou seja, dados por padro pelo Delphi, mas sugere-se que quando for salvlos, faa a nomeao condizente com o seu trabalho, fornecendo nomes mais intuitivos. Visualmente, o arquivo Unit1.dfm o Form1 e seus componentes; e o arquivo Unit1.pas o cdigo que descreve em termos de Object Pascal o seu Form1, contendo as variveis (cada componente: um boto, um rtulo, etc. do Form1 uma varivel que ocupar uma posio na memria do

Segue-se uma sucinta descrio de cada uma destas partes: Menus do Delphi : So constitudos de itens normais de um menu (abrir, salvar, editar, pesquisar etc), mais uma grande quantidade de itens prprios do ambiente de desenvolvimento Delphi. Os itens mais importantes so: File: New aplication Cria o esqueleto de um novo projeto Delphi. New Form Cria um novo form para o projeto atualmente aberto. Open Project Abre um projeto previamente salvo. Reopen Mostra uma lista dos ltimos projetos abertos (rapidamente). Save Salva as modificaes nas units atualmente abertas.
SABER ELETRNICA N 318/99

Save Project As.. Salva as configuraes do seu projeto


Edit: menu padro do Windows, ressaltando a funo. Align Alinha os objetos selecionados no Form.

Search: faz pesquisas e substituies nas units do seu projeto - padro do Windows.
View: (permite a visualizao de diversas janelas/ferramentas do Delphi). Unit Mostra a(s) Unit(s) que compe(m) o seu projeto. Form Mostra o(s) Form(s) que compe(m) o seu projeto. Project: (comandos do ambiente para manipulao do projeto). Compile Project1 Compila o seu projeto gerando o arquivo executvel. Build Project1 Recompila o seu projeto gerando o arquivo executvel. Sintax check Project1 Faz testes procura de erros de sintaxe no cdigo. Run: (Executa o seu projeto) Run [F9] Executa o projeto (execuo do seu programa). Os demais itens e menus sero abordados no momento oportuno. Speed Bars : So cones de atalho para alguns dos itens do menu do Delphi. A sua finalidade dar maior agilidade ao usurio no uso do ambiente de programao. Os cones so intuitivos, mas basta passar o cursor do mouse sobre cada boto, que aparece um Hint (pequeno texto de ajuda) indicando a funo do boto. Component Palette: Aps abrir o ambiente Delphi, voc encontrar um Form vazio e a respectiva unit com o cdigo esqueleto do seu projeto. Se voc mandar o Delphi executar o seu projeto - rodar - ele o far, mas mostrar apenas uma janela vazia, e que
SABER ELETRNICA N 318/99

Fig. 2 - O ambiente de desenvolvimento Delphi.

Fig. 3 - A Component Palette

no faz nada. E deve ser assim, pois voc ainda no programou nada e nem adicionou nenhum componente ao seu Form. Como j foi mencionado, um programa no estilo Windows geralmente comea pela definio da interface grfica, ou seja, voc deve desenhar no seu form os itens que deseja que ele mostre, quando o seu programa for executado. O prximo passo no design da interface adicionar componentes ao form. Componentes so elementos de programa das janelas, tais como rtulos, caixas de edio, botes etc. e esto localizados na Component Palette, sendo utilizados para construir a interface com o usurio. A Paleta de Componente exibe uma seleo de componentes agrupados por funo ou utilizao. Observe a figura 3. Para definir o visual do programa, basta voc arrastar o componente da paleta e soltar sobre o form, movendo e redimensionando-o livremente com o mouse.

Object Inspector Os componentes do Delphi (botes, labels, caixa de edio, ou mesmo um form) so caracterizados por propriedades e eventos. Propriedades,

como a prpria palavra diz, so as caractersticas que definem o componente - exemplo: cor, largura, altura, nome etc. E os eventos so todas as formas que o usurio pode interagir com o componente dinamicamente: o evento Click (quando o usurio d um clique simples com o mouse sobre o componente), o DoubleClick (anlogo, mas com um duplo clique), o MouseMove (quando se passa o mouse sobre o componente), etc. Ao selecionar um componente do form, o Object Inspector automaticamente exibe as propriedades e eventos que podem ser utilizados para ele. Dessa forma, o Object Inspector permite personalizar os componentes visualmente, sem a necessidade de codificao. A janela vista na figura 4 mostra o Object Inspector exibindo as propriedades do Form. Vejamos algumas propriedades: Color : a cor de fundo do Form (geralmente, o default cinza); Caption: o texto de rtulo que aparece no componente (no caso do Form, aparece na barra de ttulo); Border Style : tipo de borda apresentado pelo form aps quando em run-time (quando est sendo executado). Altere-as, e perceba o resultado.
7

ganizar as declaraes de programao do Delphi. Por exemplo, procedures utilitrias (as que voc criar e que no sejam as procedures manipuladores de eventos) podem ser agrupadas como uma unit. Um form organizado como uma unit. Voc tambm pode exibir um arquivo unit atravs do menu View selecionando Toggle Form/Unit ou via tecla F12. O arquivo default, Unit1.pas, aparece na janela do Code Editor, como na figura 5 a seguir. No se preocupe, por enquanto, com estes cdigos que o Delphi gerou automaticamente. Na verdade, estas linhas de cdigo so as instrues em Object Pascal para que o Delphi gere o arquivo executvel assim que voc compilar o projeto.

inclusive do cdigo que voc escreve. Para que possa observar a funcionalidade do on-line help, clique sobre a rea do form para que ele fique todo visvel e ento, com o mouse sobre a rea do form, pressione F1. Ao pressionar esta tecla, como est sobre o form, o Delphi entende que voc deseja receber ajuda sobre o componente form, abrindo assim, o arquivo de ajuda onde descreve o componente form, inclusive versando sobre cada uma de suas propriedades e eventos. Utilize e navegue o mximo possvel pelo help do Delphi, que certamente aprender muita coisa!

Object Pascal Para que o seu programa reaja convenientemente aos eventos, preciso que voc escreva o cdigo que dever ser executado ao ocorrer em aqueles. A codificao em Delphi feita atravs da linguagem Object Pascal, uma linguagem com sintaxe e estrutura bastante rica. O Object Pascal bastante semelhante ao Pascal comum, entretanto, fortalecido com a utilizao de um poderoso paradigma da programao: a orientao a objeto. Lembre-se que j foi apresentado sucintamente o componente Form, e antes de vermos um exemplo, voc precisa conhecer um outro componente do Delphi: o Edit.

Fig. 4 - Propriedades

Speed Menus e On-Line Help Por fim, estas duas caractersticas do Delphi so ferramentas que auxiliam na tarefa criativa da programao: os menus de acesso rpido atravs do clique com o boto direito do mouse, que apresentam menus locais com atalhos para trabalhar melhor com o ambiente, tais como abrir/fechar uma unit, utilizar bookmarks no cdigo para acelerar a busca por uma parte do cdigo etc. E o on-line help que o acesso direto aos arquivos de ajuda a partir de qualquer parte do ambiente Delphi,

E alguns Eventos: onClick: quando o objeto clicado com o mouse (em run-time). onCreate: evento que acionado no momento em que o form criado. Para escrever um cdigo que voc quer que seja executado em um determinado evento, basta ir no Object Inspector, selecionar a aba Events, e dar um duplo clique no nome do evento, e o Delphi criar o procedimento (procedure) correspondente na janela do Editor de Cdigo (Code Editor), e assim poder escrever o cdigo.

Conheamos o Code Editor O Editor de Cdigo na verdade apenas um editor de textos bastante incrementado, e nele que voc ir codificar o seu programa, de forma a que ele reaja aos eventos da maneira que desejar. Quando voc inicializa o Delphi, o default do Code Editor aparecer aberto no arquivo unit1, que posicionado atrs do Form1. Quando voc d um duplo clique em um evento na pgina Events do Object Inspector, o Code Editor automaticamente torna-se a janela ativa e mostrado em primeiro plano para que possa digitar o cdigo para manipular o evento. Uma unit utilizada para or-

Fig. 5 - A janela Code Editor


SABER ELETRNICA N 318/99

Fig. 6 - Alguns componentes.

Fig. 7 - Cdigo.

A partir deste ponto, a figura 6 ser o foco da discusso. O Edit aquele campo geralmente usado para receber caracteres digitados pelo usurio. Com certeza voc pode se lembrar de vrios aplicativos Windows que o utilizam. A propriedade mais importante deste componente a chamada Text. ela que contm o texto que mostrado para o usurio. No caso da figura acima, a propriedade Text do Edit1 mostrado contm a seqncia de caracteres (string) Ol. Como voc j viu, pode acessar as propriedades de um componente utilizando o Object Inspector, por exemplo , atribuir Ol propriedade text de um Edit, mas isto s possvel quando se est criando o programa (design-time). Quando se est executando (run-time), para acessar as propriedades de um componente, voc dever faz-lo via codificao, na seguinte sintaxe:

Nome_do_componente.Propriedade
Assim, para se atribuir outra string propriedade Text do Edit1, basta codificar a seguinte linha: Edit1.Text := Eletrnica; Onde Edit1 o nome que foi dado quele componente Edit (a sua propriedade nome , veja-a no Object Inspector), os caracteres := indicam atribuio: voc est atribuindo o que est direita ao que est esquerda. Para voc se familiarizar um pouco com o Object Pascal, analisemos este pequeno trecho de cdigo da figura 7. Temos aqui um pequeno fragmento de cdigo que o que foi escrito para o manipulador de eventos de um boto, mais precisamente, no manipulador do evento Click do boto. Portanto, este cdigo ser ativado
SABER ELETRNICA N 318/99

quando for dado um clique com o mouse sobre o boto Button1. A linha procedure TForm1.Button1Click (Sender: TObject); indica que o cdigo a seguir, delimitado pelas palavras reservadas begin e end; (os que esto alinhados na mesma coluna da palavra procedure), trata-se do manipulador do evento Click do boto Button1 que est no form Form1. Os parmetros (Sender: TObject); no so importantes neste ponto, oportunamente voltaremos a eles. O cdigo semelhante ao da figura 8. Esta estrutura de seleo executada do seguinte modo: se a expresso for verdadeira, ento as instrues dentro do bloco delimitado por begin e end so executadas. Note que no trecho de cdigo que foi dado, a expresso : Edit1.Text <> . A palavra Text que segue ao nome Edit1 indica que se est referindo propriedade Text do componente Edit. Portanto, a expresso que o Delphi avaliar quanto veracidade se a propriedade text do Edit1 nenhum_texto. Assim, a expresso ser verdadeira e as instrues sero executadas quando existir qualquer texto na propriedade Text do Edit1; mas, se voc selecionar o texto e apag-lo, a expresso Edit1.Text <> no ser verdadeira, logo, as instrues no sero executadas.

a figura 7). Assim, se o contedo do Edit1.Text for o texto Ol, este texto ser tambm atribudo ao componente label (Label1, no caso) e este tambm passar a exib-lo. Label1.Color := clRed; Atribui a cor vermelha propriedade Color do label, e clRed uma constante do Delphi que simboliza o valor em hexadecimal da cor vermelha. Assim, voc no precisa ter uma tabela de cdigos hexadecimais para poder alterar as cores dos componentes. Edit1.Text := atribui uma string em branco propriedade text do Edit1. Lembre-se de que este cdigo est escrito no manipulador de eventos do boto Button1Click. Portanto, quando o programa estiver sendo executado, se voc der um clique com o mouse, e supondo-se que os componentes estejam com as propriedades definidas como aparecem na figura 6, o cdigo ser executado, e voc ver a janela ser alterada para a mostrada na figura 9.

Fig. 8 - Estrutura de Seleo.

Mas o que significa o cdigo que ser executado (se a expresso for verdadeira)? A linha: Label1.Caption := Edit1.text; Atribui o contedo da propriedade Text do componente Edit1 propriedade caption (o rtulo) do componente cujo nome Label1, presente no form (veja

Fig. 9 - Aps o clique.


9

Assim, tudo que voc digitar no componente Edit, e depois pressionar o boto, vai ser passado para o Caption do label, juntamente com a limpeza do contedo do Edit.

O seu primeiro programa em Delphi Tendo-se os conceitos bsicos, o modo mais eficiente de aprender a programar, programando. Logo, sugiro que voc crie este mesmo programa em seu micro e faa experincias, de forma a compreender realmente o que foi abordado aqui. Para fazer este exemplo em seu micro, bastar proceder da seguinte forma: Abra o ambiente do Delphi (ao abrlo, ele cria automaticamente um novo projeto) e ser exibido ento um form limpo; logo, o primeiro passo criar a interface visual. Adicione um componente boto ao seu form: para isso selecione a aba standard na Paleta de Componentes e clique no componente Boto, arrastando-o para o form. Da mesma maneira, faa para o componente Edit e para o Label. Para que a janela do seu projeto fique semelhante mostrada na figura 6, basta redimensionar o form (da mesma forma que voc redimensiona qualquer janela do Windows), e ento selecionar o componente Edit1, pressionar F11 e aparecer o Object Inspector, listando as propriedades do componente selecionado (o Edit1) procure a propriedade Text dele e mude para Ol. Pronto. A par te visual j est OK. Agora voc deve codificar o manipulador do evento click do boto. Para faz-lo, basta dar um duplo clique no boto: o Delphi abre o Code Editor mostrando o seguinte esqueleto de cdigo, figura 10.

Voc deve ento inserir o cdigo que j discutimos (veja figura 7). Tendo codificado, s salvar todo o projeto e executar. Para isso, utilize os itens Save e o Save Project As.. do menu File. E para rodar o programa (execut-lo), utilize o item Run do menu Run, ou simplesmente utilize a tecla de atalho F9.

O que se pode fazer com o Delphi? O Delphi considerado a ferramenta de programao para Windows mais potente do mercado, permitindo ao programador desenvolver desde programas simples, at sistemas complexos. Portanto, o que voc imaginar para fazer em uma aplicao para Windows, com certeza pode ser feito utilizando o Delphi. Veremos progressivamente no decorrer deste curso, como utilizar o Delphi, dando nfase s aplicaes para eletrnica. Faremos acessos ao hardware do PC, via ports de I/ O (porta paralela e porta serial), de modo a fazer a interface de mo dupla PC/mundo externo. Como voc deve ter notado, o Delphi um ambiente complexo em termos de recursos, mas fcil de se trabalhar e de se programar, basta um pouco de pacincia no incio, e logo voc se ver surpreso com o que conseguir fazer. Um conselho: no perca de maneira alguma as prximas edies! A sua criatividade ser o limite!

Figura 10
10 SABER ELETRNICA N 318/99