Liegt das Schlecht zufällig "über" dem Ok drüber und verdeckt es somit?
Der Code von baumina und Sir Rufo stezen das visible nicht nur auf True, sondern auch auf false, wenn es nicht sichtbar ist.
Schlecht.Visible := n < 4;
Das würde dann Folgendem entsprechen und jetzt rade mal, was in deinem Code also noch fehlen würde.
Delphi-Quellcode:
if n < 4 then
Schlecht.Visible := True
else
Schlecht.Visible := False;
@Klaus01: Vorher alles erstmal ausblenden.
(wenn der code mehrfach aufgerufen werden soll, bzw. wenn die Komponenten vorher noch sichtbar waren)