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]