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 11:19 am    Assunto: Acionamento Multiplo em um unico Botão ! Responder com Citação

Vlleuuu raffmatos, porem ja tentei isso tambem, e o mais proximo que consegui do que queria foi o exemplo enviado anteriormente. Com a linha ELSE a rotina do bot"ao 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;
Else
if label17.caption = 'ON' then label17.caption := 'OFF';
begin
comport1.WriteStr('*A70'+#13); // desativa bit 8 da interface
end;
end;

Porem ao ser executado da um erro mostrado logo abaixo !

[Error] main.pas(512): ';' not allowed before 'ELSE'
[Fatal Error] Datalog_temperatura.dpr(5): Could not compile used unit 'main.pas'

Eu estou me complicando na logica de uso do IF...else...begin... ; ( etc ) !

Mas sou grato pela tentiva de ajuda !

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 11:31 am    Assunto: Responder com Citação

é q tinha um ponto e virgula ali, ve assim


if label17.caption = 'OFF' then label17.caption := 'ON';
begin
comport1.WriteStr('*A71'+#13); // ativa bit 8 da interface
end
Else
if label17.caption = 'ON' then label17.caption := 'OFF';
begin
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 11:32 am    Assunto: Responder com Citação

responde no mesmo topico fica mais facil
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
clovismagoga
Novato
Novato


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

MensagemEnviada: Qua Jan 19, 2011 11:41 am    Assunto: Acionamento Multiplo em um unico Botão ! Responder com Citação

Olá rafmattos ! Mil (1000) desculpas pela postagem errada ! Agradeço sua atenção e paciencia. Porem o erro agora mudou da uma olhada !

[Error] main.pas(536): 'END' expected but 'ELSE' found
[Error] main.pas(537): ';' expected but 'IF' found
[Error] main.pas(539): Undeclared identifier: 'comport1'
[Error] main.pas(540): '.' expected but ';' found
[Fatal Error] _Datalog_temperatura.dpr(5): Could not compile used unit 'main.pas'


O interessante é que isso ocorre ao ascrecentar a linha de comando da TCOMPORT !
Agora eu não sei se é erro de logica, ou se estou tratando o comando TCOMPORT de forma errada, porem em uma caixa BOX ele funciona assim:

begin
if (out8.Checked) then
Comport1.WriteStr('*A71'+#13)
else
Comport1.WriteStr('*A70'+#13);
end;

Porem ao colocar ele em um botão e tentar fazer o mesmo botão ligar e desligar os erros aparece !

Obrigado !
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 12:59 pm    Assunto: Responder com Citação

vc ta com o componente TcomPort instalado?

Código:

[Error] main.pas(539): Undeclared identifier: 'comport1'


se não tiver eu não uso mas o site pra baixar se não me engano é esse http://sourceforge.net/projects/comport/



------------------------------------------------------------------

agora posta de novo o seu código q ta dando erro....
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
clovismagoga
Novato
Novato


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

MensagemEnviada: Qua Jan 19, 2011 1:17 pm    Assunto: Acionamento Multiplo em um unico Botão ! Responder com Citação

Olá !!! Grato por sua ajuda ! Com relação ao componente TCOMPORT ele esta instaldo e funcionando perfeitamente. O projeto e prototipo esta funcionando muito bem ! È como falei anteriormente.

Usando a COMBOX funciona perfeitamente bem, o que indica que o componente TCOMPORT esta funcionando. O problema ocorre quando tento enviar o comando pelo botão com as caracteristicas que informei ! Ou seja APERTA liga,,,,aperta o mesmo botão DESLIGA e assim por diante !

A rotina inicial que muda de 0 para 100 funciona perfeitamente bem ! A rotina que coloca o comando TCOMPORT da os erros relatados ou liga e desliga rapidamente, não fica ligado ao primeiro CLICK e nem desliga ao segundo click !

Com certeza eu estou cometendo um erro de logica enorme !

Continuo tentando e agradeço a voce !

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 1:23 pm    Assunto: Responder com Citação

vc colocou assim


Código:

procedure TForm1.VrAniButton8Click(Sender: TObject);
begin
  if 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;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
clovismagoga
Novato
Novato


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

MensagemEnviada: Qua Jan 19, 2011 1:36 pm    Assunto: Acionamento Multiplo em um unico Botão ! Responder com Citação

Grato pela ajuda !

Vou mostrar a voce como funciona na CHECKBOX

Código:
procedure TForm1.out8Click(Sender: TObject);
begin
        if (out8.Checked) then
         Comport1.WriteStr('*A71'+#13)
        else
         Comport1.WriteStr('*A70'+#13);
end;


Da forma indicada acima funciona perfeitamente Clicando na CHECKBOX ele ativa e desativa certinho e envia o dado pela TCOMPORT.

Para testar o botão eu fiz uma rotina como a logo abaixo somente para verificar o funcionamento do botão APERTA vai a 100 aperta novamente vai a 0 e assim por diante.

Ficou assim !
Código:

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.


Funciona perfeitamente porem não coloque o acionamento pela COMPORT pois queria somente testar o botão !

Agora no exemplo abaixo eu coloquei o comando TCOMPORT no botão para ligar e delsigar, porem ele não retem o estado 1 e depois somente muda apos precionar novamente.

Funciona o componente TCOMPORT porem ele evia o dado liga e desliga, o que quero é que ele LIGUE apertando novamente desligue e assim por dinante !
Código:

procedure TForm1.VrAniButton8Click(Sender: TObject);

begin

    if label17.caption = 'OFF' then label17.caption := 'ON';
     begin
     comport1.WriteStr('*A71'+#13);
     end;

      if label17.caption = 'ON' then label17.caption := 'OFF';
      begin
     comport1.WriteStr('*A70'+#13);
    end;
 end;


Agradeço !
[/code]
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 1:43 pm    Assunto: Responder com Citação

desse jeito aqui ta errado


procedure TForm1.VrAniButton8Click(Sender: TObject);

begin

if label17.caption = 'OFF' then label17.caption := 'ON';
begin
comport1.WriteStr('*A71'+#13);
end;

if label17.caption = 'ON' then label17.caption := 'OFF';
begin
comport1.WriteStr('*A70'+#13);
end;
end;


ele vai ativar e desativar mesmo




esse jeito é o certo com o Else
Código:

procedure TForm1.VrAniButton8Click(Sender: TObject);
begin
  if 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;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
clovismagoga
Novato
Novato


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

MensagemEnviada: Qua Jan 19, 2011 3:53 pm    Assunto: Acionamento Multiplo em um unico Botão ! Responder com Citação

PERFEITO ! Funcionou perfeitamente !!! Com a sua ajuda eu percebi a grande "KAKINHA" que estava fazendo. No final do main.pas tinha um END. o qual não tinha ficando atento a grande besteira de iniciante !
Estou querendo postar a imagem para ter uma ideia do que estou fazendo, utilizando um microcontrolador da MICROCHIP, no caso é um medidor de temperatura com 8 canais diferentes. Onde pode-se monitorar a temperatura de residencias ou ambiente industrial ! E acionar dispositivos de controle de processos ! Vou incrementar com a possibilidade de enviar os dados a uma planilha do EXELL e mais algumas caracteristicas interessante !
Valeu mesmo pera AJUDA ! Como falei estou devendo UMA para voce !
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 3:57 pm    Assunto: Responder com Citação

qualquer coisa estamos ai...
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