Galera, preciso fazer passar uma imagem sequencialmente… Vou ter 8 icones e a cada segundo uma imagem será selecionada, assim que chegar na última volta pra primeira!
Até aí tudo bem, eu fiz! Mas acredito que não no melhor jeito, ou sei lá

As imagens são iguais só pra testar, tá funcionando certinho… A imagem mais clara e com uma borda vermelha simboliza a imagem já selecionada!
Olhem como ficou o código
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//carrega as imagens iniciais - AP
i1->Picture->LoadFromFile(caminho+"i1"+tipo);
i2->Picture->LoadFromFile(caminho+"i2"+tipo);
i3->Picture->LoadFromFile(caminho+"i3"+tipo);
i4->Picture->LoadFromFile(caminho+"i4"+tipo);
i5->Picture->LoadFromFile(caminho+"i5"+tipo);
i6->Picture->LoadFromFile(caminho+"i6"+tipo);
i7->Picture->LoadFromFile(caminho+"i7"+tipo);
i8->Picture->LoadFromFile(caminho+"i8"+tipo);
tmrtempo->Enabled = !tmrtempo->Enabled;
}
Depois no timer:
void __fastcall TForm1::tmrtempoTimer(TObject *Sender)
{
if(i==1) {
i8->Picture->LoadFromFile(caminho+"i8"+tipo);
i1->Picture->LoadFromFile(caminho+"i1_2"+tipo);
}
if(i==2) {
i1->Picture->LoadFromFile(caminho+"i1"+tipo);
i2->Picture->LoadFromFile(caminho+"i2_2"+tipo);
}
if(i==3){
i2->Picture->LoadFromFile(caminho+"i2"+tipo);
i3->Picture->LoadFromFile(caminho+"i3_2"+tipo);
}
if(i==4){
i3->Picture->LoadFromFile(caminho+"i3"+tipo);
i4->Picture->LoadFromFile(caminho+"i4_2"+tipo);
}
if(i==5){
i4->Picture->LoadFromFile(caminho+"i4"+tipo);
i5->Picture->LoadFromFile(caminho+"i5_2"+tipo);
}
if(i==6){
i5->Picture->LoadFromFile(caminho+"i5"+tipo);
i6->Picture->LoadFromFile(caminho+"i6_2"+tipo);
}
if(i==7){
i6->Picture->LoadFromFile(caminho+"i6"+tipo);
i7->Picture->LoadFromFile(caminho+"i7_2"+tipo);
}
if(i==8){
i7->Picture->LoadFromFile(caminho+"i7"+tipo);
i8->Picture->LoadFromFile(caminho+"i8_2"+tipo);
}
i++;
if(i==9) i=1;
}
Não teria como colocar todos os objetos que carregam a imagem com o mesmo nome fazendo um array? Assim seria bem mais fácil de resolver o problema sem usar esse monte de if feio
Existe como? Alguém tem alguma outra solução, por favor?
Desde já muito obrigado!