Es gibt also Probleme bei der case of Abfrage und Felder, da Felder vom Typ Double ist?
Mal so ein Tipp:
Deine ganze case of Abfrage kannst Du einfach ersetzen durch:
Delphi-Quellcode:
if (Felder > 1) and (Felder < 31) then
FindComponent('Feld' + FloatToStr(Felder)).Color := clGreen;