Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
clovismagoga Novato

Registrado: Quarta-Feira, 19 de Janeiro de 2011 Mensagens: 6 Localização: Dracena
|
Enviada: Qua Jan 19, 2011 10:47 am Assunto: Acionamento Multiplo em um unico Botão ! |
|
|
Olá a todos ! Pessoal sou da área de Eng. Eletronica, sempre trabalhei como VB6 que ate recentemente foi de muita utilizade. Porem estou migrando para o DELPHI e estou tendo dificuldades de entendimento do DELPHI, estou pesquisando e estudando muito. Porem tenho um pequeno problema, que pode ser insiguinificante para a maioria, mas confesso que estou apanhando legal.
O que eu preciso?
Um (1) botão que ao ser precionado envia um codigo 1 para a saida, ao ser precionado novamente ele envia o codigo 0.
Com a ajuda de um colega esperiente na area ele me fez isso!!
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
If label1.caption = '0' then label1.caption := '100'
else If label1.caption = '100' then label1.caption := '0';;
end;
end.
O exemplo assima funcionou perfeitamente bem, ao precionar o Botão ele muda o LABEL para 100, ao precionar novamente muda para 0.
Acrescentei as linhas abaixo que se refere ao comando para acionamento da porta de saida, para acionamento de um microcontrolador. Utilizo o componente TCOMNPORT e a minha rotina ficou assim !
procedure TForm1.VrAniButton8Click(Sender: TObject);
begin
if label17.caption = 'OFF' then label17.caption := 'ON';
begin
comport1.WriteStr('*A71'+#13); // ativa bit 8 da interface
end;
if label17.caption = 'ON' then label17.caption := 'OFF';
begin
comport1.WriteStr('*A70'+#13); // desativa bit 8 da interface
end;
end;
A rotina de exemplo logo acima funciona, porem eu "clico"no botão e ela acende e apaga o LED da interface simultaneamente.
O que preciso è que ao "clicar" no botão seja ligado e desligue somente quando precionado novamente.
Agradeço a quem possa indicar meu erro !
Abraços !
Clovis Magoga |
|
Voltar ao Topo |
|
 |
rafmattos Colaborador

Registrado: Quinta-Feira, 11 de Fevereiro de 2010 Mensagens: 3416 Localização: Campo Grande/MS
|
Enviada: Qua Jan 19, 2011 10:53 am Assunto: |
|
|
tenta assim coloca um else
Código: |
f label17.caption = 'OFF' then
begin
label17.caption := 'ON';
comport1.WriteStr('*A71'+#13); // ativa bit 8 da interface
end;
else if label17.caption = 'ON' then
begin
label17.caption := 'OFF';
comport1.WriteStr('*A70'+#13); // desativa bit 8 da interface
end;
|
|
|
Voltar ao Topo |
|
 |
rafmattos Colaborador

Registrado: Quinta-Feira, 11 de Fevereiro de 2010 Mensagens: 3416 Localização: Campo Grande/MS
|
Enviada: Qua Jan 19, 2011 10:56 am Assunto: |
|
|
do jeito q vc tava fazendo sempre ficava desetivada, pq passava por toda sua rotina |
|
Voltar ao Topo |
|
 |
|