You are on page 1of 1

Apenas para facilitar na identiÍica-

IVofa - É de uso comum os programadores nomearem os componentes


ção quando escrevermos o código, al-
tere os nomes dos RadioGroups Para da seguinte Íorma: uma palavra signìficativa prefixada de uma parte do nome
padrão do componente. Veja por exemplo, o nome dado acima, 'êdBase',t66t
'RGreg' e'RGmodo', respectivamen-
por sé tratar de um componente Edit, e'Base', pois este edit servirá para
b, conforme os Captions que você já
conter o endereço base da porta paralela. Dessa forma, fica Íácil relacionar
afterou. Adicione também um compo-
o componente com a sua Íunção no programa. Assim, a mudança do nome
nente Timer, e altere as propriedades
dos componente é apenas para Íacilitar a compreensão por parte do progra-
Enabled para False (isto signiÍica que
mador, que ao ler/reler o código Íonte contendo nomes sugestivos, terá mai-
ele estará inicialmente desabilitado) e
or Íacilidade na compreensão do algorítmo. Outro fato a considerar é que
lntervalpara 100: signiÍica que quan- normalmente não se altera o nome de componentes tipo 'Label', pois rara-
do ele for habilitado (Enabled := Ïuei) mente eles são acessados em tempo de execução. Portanto, não é sequer
via algum evento, ele executará a sua mencionado no código fonte. Observe isto no programa que faremos no pro-
rotina de evento (onTimer) a cada 100 jeto práico.
milissegundos. Ponha os demais bo-
tões (SpeedButtons e BitBtn), Edits e
labels, alterando as propriedades de- zados, com as finalidades descritas. fim de ler o conteúdo do registro de
les conforme mostrado na Íigura 5. Você não precisa se Preocupar estado. Não é necessária alimentação
Lembre-se: No caso dos botões e dos com a parte de código gerado auto- externa, pois o próprio circuito da por-
labels, o texto que aparece no compo- maticamente, basta copiar os códigos la é capaz de Íornecer os níveis ne-
nente é o conteúdo da proPriedade para as procedures que Íarão o trata- cessários. Como a leitura em aberto
'Caption', enquanto que no caso do mento dos eventos. lnclusive não é ne- do registro de estado resulta em nível
componente Edit, é o conteúdo da pro- cessário copiar os comentários, pois alto, a menos do bit /S7, aPenas a co-
priedade 'Text' no Object eles são apenas para facilitar a sua nexão eventual via chave com o terra
lnspector. compreensão, Os textos entre '{ }' e do circuito da porta é suÍiciente para
Para o caso do botão com caPtion apôs'l/' são comentários feitos no se obter todos os estados possíveis.
'Escreve', renomeie-o Para Code Editor com a Íinalidade de tor-
'spBtnEscrever'; o com caPtion 'Lê' nar mais legívelo ódigo.
rilês para'spBtnler', o com caption'Pisca Testando
F LEDs' para'spBtnLEDs'.
BÍA Por Íim, para o botão com rótulo O Circuito Monte o circuito mosÌrado, confira,
rdo 'OK'- trata-se de um BitBtn: este é um e conecte na porta paralela. Execute
es); outro tipo de botão, bastante seme- O circuito aprasentado na Íigura 6 o comando'RUN'ou a tecla de função
ptÈ lhante ao SpeedButton, com proprie- destina-se à üsualização da manipu- F9. Veja a Íigura 7, a seguir.
iln- dades mais específicas. Adicione um lação da porta paralela: um conjunto O seu programa estará sendo exe-
rEí) ao form, acesse sua propriedade Kind, de I LEDs conectados aos pinos refe- cutado. Faça escrita e leitura nos ports
sá alterando para bkOK - ele define au- rentes aos I bits do registro de dados, de Dados e de Status. Note que como
EçO tomaticamente a imagem bitmaP Pa- Íornecendo a confirmação visual da o bitT do registro de Status é lido in-
DeÍ- drão para botão'OK'na ProPriedade escrita neste regis[o da porta. vertido, é conveniente Íazer o seu
* Glyph do botão, e a exibe. Altere à Apresenta ainda 5 intenuptores, a mascaramento de Íorma a tornar este
s(> vontade a propriedade Kind para no- detalhe irrelevante, e Íacilitar o trata-
tar as configurações padrão. Se dese- 8x1 KQ mento do byte lido. lsto é Íeito no
rG jar alterar a imagem, faça através da
ëT manipulador do evento spBtnlerClick.
Íx> propriedade Glyph. Esta propriedade €t
t permite exibir mais de uma imagem, 2-l Observe que:
:aF dependendo do estado do botão: ha- Se você digitar 80 no Edit edOont,
Fr
pob
bilitado ou desabilitado - altere a pro-
priedade NumGlyph de2para 1 e veja
lct
o Delphitrata o 80 como decimal, logo
se mandar escrever 80 (decimal) na
ôtI
Ero o que acontece! Altere seu nome para dl GND saída do porta, Data Register, acen-
rda 'bitBtnFechar'. o -I* derá os bits D6 e D4: 80d=64d+16d;
Ílle Tendo criado a interface, o próxi- o entretanto, se digitar $80 no Edit
()
de- mo passo é codiÍicar convenientemen- o edCont, ele interpreta como hexade-
L
ilÉs te os eventos necessários. Para codi- o cimal por causa do'$', e agora se o
ficar os eventos, selecione o compo- c) $80 for enviado para o port de Dados,
üois nente e, através do Object lnspector, acenderá o bit D7 apenas:
ubs na aba Events, dê um duPlo clique $80=80h=10000000b. Por fim, após
opÍi- sobre o evento desejado. Ao Íazer isto compreender totalmente o código, Íaça
r fig. o Delphi criarâ o esqueleto do mani- modificações e experimentos. Um des-
He pulador do evento, então é só codifi- tes consiste em gerar novos padrões
lqrc car o evento. Veja o código de cada de saída para o evento do timer, inclu-
eíio- manipulador na listagem a seguir. sive com a alteração da propriedade
Fig.6-Ocircuito interval do mesmo.
Procure no código os eventos utili-

SABER elrtRÔtttcR Ns 319/99