ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Acionamento Multiplo em um unico Botão !

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Off-Topic
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
clovismagoga
Novato
Novato


Registrado: Quarta-Feira, 19 de Janeiro de 2011
Mensagens: 6
Localização: Dracena

MensagemEnviada: Qua Jan 19, 2011 10:47 am    Assunto: Acionamento Multiplo em um unico Botão ! Responder com Citaçã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
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Qua Jan 19, 2011 10:53 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Qua Jan 19, 2011 10:56 am    Assunto: Responder com Citação

do jeito q vc tava fazendo sempre ficava desetivada, pq passava por toda sua rotina
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Off-Topic Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB