Olá Joel!

Para percorrer os componentes eu executaria uma rotina assim:

procedure PaintShapes;
var
    I: integer;
    tempComp: TComponent;
begin

    for I := 1 to 31 do
    begin

       tempComp := Components.FindComponent(Format('p%d', [I]));
       if (tempComp <> nil) and (tempComp is TShape) then
          // Executar a alteração da cor
    end;

end;

Uma sugestão:

Se as cores de cada dia são fixas, você pode criar um array constante 
mapeando as cores, como por exemplo:

const
    DayToColor: array[1..31] of TColor = (clBlue, clRed, clOlive, 
clGreen, clInfoBk, clGray, ...);

E na linha que comentei na Procedure exemplo, poderá escrever:

TShape(tempComp).Color := DayToColor[I];

Espero ter ajudado!

Josimar Zimermann

Em 25/8/2010 10:27, Joel Alexandre escreveu:
>
> Bom dia pessoal,
>
> Galera, estou com uma duvida aqui e deu branco. Tenho 31
> componentes tipo TShape com nos names de p1 a p31. Gostaria de pintá-los
> conforme o dia atual. Alguem teria uma ideia de como fazer isso?
>
> Abraços e já agradeço qq ajuda
> Joel
>
> __.


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

Responder a