我想改變一個TLabel的字體顏色,根據我從一個整數得到的值。使用整數值作爲參考
var
i: Integer;
begin
ValueGenerator (i);
if i <= 14 then
begin
L1.Font.Color := clBlue;
end;
if i >= 15 then
begin
L1.Font.Color := clGreen;
end;
if i <= 29 then
begin
L1.Font.Color := clGreen;
end;
if i >= 30 then
begin
L1.Color := clYellow;
end;
if i <= 49 then
begin
L1.Color := clYellow;
end;
if i >= 50 then
begin
L1.Color := clRed;
end;
L1.Caption := IntToStr(i);
end;
值輸出爲0到100 什麼都值我得到了,我的TLabel總是在clGreen。我在這裏做錯了什麼?
範圍重疊。如果你給它的值是20,那麼它將會大於15並且小於29.你應該考慮在其中添加一些'else',以使它只選擇一個,但即使如此,我也要重構這個代碼。也許一個'case'是你真正想要的嗎? –
你需要更多'else'。 – JimmyB
是的,有更多的工作。但正如我所看到的'案例'解決方案,這是我最需要的。謝謝@ LasseV.Karlsen – Bianca