Muito obrigado, Vitor!

Vou tentar criar o componente a partir desse código.

Um abraço!

Fabiano.

  ----- Original Message ----- 
  From: Vitor Luiz Redes 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, September 22, 2005 9:59 AM
  Subject: Re: [delphi-br] Iniciante


      Olhe Fabiano, eu fiz um rapidão aqui, não um componente, coloquei em um 
TForm mesmo, mas pode te dar uma idéia né... veja ae...

  unit Unit1;

  interface

  uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, ExtCtrls;

  type
    TSinalizacao = ( sPARE, sATENCAO, sCONTINUE );

    TForm1 = class(TForm)
      Button1: TButton;
      Timer1: TTimer;
      procedure Button1Click(Sender: TObject);
      procedure Timer1Timer(Sender: TObject);
    private
      { Private declarations }
      vSemaforo : TShape;
      vVermelho, vAmarelo, vVerde : TShape;
      Sinalizacao : TSinalizacao;
    public
      { Public declarations }
    end;

  var
    Form1: TForm1;

  implementation

  {$R *.dfm}

  procedure TForm1.Button1Click(Sender: TObject);
  begin
      vSemaforo := TShape.Create( SELF );
      vSemaforo.Parent := SELF;
      vSemaforo.Left := 8;
      vSemaforo.Top := 8;
      vSemaforo.Height := 233;
      vSemaforo.Width := 65;
      vSemaforo.Pen.Style := psClear;
      vSemaforo.Brush.Color := clBlack;

      vVermelho := TShape.Create( vSemaforo );
      vVermelho.Parent := SELF;
      vVermelho.Left := 12;
      vVermelho.Top := 16;
      vVermelho.Shape := stCircle;
      vVermelho.Height := 41;
      vVermelho.Width := 57;

      vAmarelo := TShape.Create( vSemaforo );
      vAmarelo.Parent := SELF;
      vAmarelo.Left := 12;
      vAmarelo.Top := 80;
      vAmarelo.Shape := stCircle;
      vAmarelo.Height := 41;
      vAmarelo.Width := 57;

      vVerde := TShape.Create( vSemaforo );
      vVerde.Parent := SELF;
      vVerde.Left := 12;
      vVerde.Top := 144;
      vVerde.Shape := stCircle;
      vVerde.Height := 41;
      vVerde.Width := 57;

      Sinalizacao := sPARE;
      Timer1.Enabled := TRUE
  end;

  procedure TForm1.Timer1Timer(Sender: TObject);
  begin
      case Sinalizacao of
          sPARE :
              begin
                  vVermelho.Brush.Color := clRed;
                  vAmarelo.Brush.Color := clBlack;
                  vVerde.Brush.Color := clBlack;
                  Sinalizacao := sCONTINUE;
                  Timer1.Interval := 5000
              end;
          sATENCAO :
              begin
                  vVermelho.Brush.Color := clBlack;
                  vAmarelo.Brush.Color := clYellow;
                  vVerde.Brush.Color := clBlack;
                  Sinalizacao := sPARE;
                  Timer1.Interval := 2000
              end;
          sCONTINUE :
              begin
                  vVermelho.Brush.Color := clBlack;
                  vAmarelo.Brush.Color := clBlack;
                  vVerde.Brush.Color := clGreen;
                  Sinalizacao := sATENCAO;
                  Timer1.Interval := 5000
              end;
      end;

  end;

  end.



  constructor TVitor.Create( AOwner : TProgrammer );
  begin
      Name := 'Vitor Redes';
      Login := 'vredes';
      Password := '**********';
      City := 'Curitiba';
      Employee := 'Redsystem';
      inherited Create( AOwner )
  end;

  end.
    ----- Original Message ----- 
    From: Fabiano 
    To: delphi-br@yahoogrupos.com.br 
    Sent: Wednesday, September 21, 2005 3:00 PM
    Subject: [delphi-br] Iniciante


    Olá pessoal! Boa tarde!

    Sou iniciante no grupo e vou me apresentar rapidamente.
    Meu nome é Fabiano, tenho 21 anos e estou no 2º ano de Sistemas de 
Informação.
    Iniciamos, no começo deste ano, os estudos com Delphi.

    Preciso da ajuda de vocês.
    Tenho que criar um componente parecido com um semáforo de trânsito, que 
tenha uma propriedade para configurar o tempo que ficará acesa cada lâmpada 
(vermelha, amarela, verde) e outra propriedade que indicará se o semáforo está 
ligado ou não.
    Comecei a cria-lo, herdando um TShape. Montei um quadro que ficará de fundo 
do semáforo, mas não estou conseguindo criar outros 3 shapes circulares para 
representar cada lâmpada do semáforo.

    Alguém tem alguma idéia para me ajudar?

    Obrigado!

    Fabiano.

    [As partes desta mensagem que não continham texto foram removidas]





    -- 
    <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

    Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

    Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED] ou [EMAIL PROTECTED]



          Yahoo! Grupos, um serviço oferecido por: 
            


  ------------------------------------------------------------------------------
    Links do Yahoo! Grupos

      a.. Para visitar o site do seu grupo na web, acesse:
      http://br.groups.yahoo.com/group/delphi-br/
        
      b.. Para sair deste grupo, envie um e-mail para:
      [EMAIL PROTECTED]
        
      c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do 
Serviço do Yahoo!. 



  [As partes desta mensagem que não continham texto foram removidas]



  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]



        Yahoo! Grupos, um serviço oferecido por: 
          


------------------------------------------------------------------------------
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/
      
    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]
      
    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço 
do Yahoo!. 



[As partes desta mensagem que não continham texto foram removidas]





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a