Czy następująca instrukcja if może zostać przekonwertowana na instrukcję case?Jak mogę przetestować, czy wartość jest w zakresie z instrukcją "case", a nie "if"?
if (Number >= 5) and (Number <= 10) then
lblAnswer.Caption := 'in range'
else
lblAnswer.Caption := 'out of range';
Moja odpowiedź:
Tak może
case (number >= 5) and (Number <= 10) of
lblAnswer.Caption := 'in range';
lblAnswer.Caption := 'out of range';
end;
Czy jest to prawidłowe?
Dlaczego chcesz to zrobić? W przypadku takich wyrażeń, "jeśli ... to" jest po prostu wyraźniejszym i szybszym sposobem robienia tego. Nie ma tu miejsca na użycie "przypadku". –
Alternatywna instrukcja: if (liczba w [5..10]) then .. else .. –
InRange(), gdy limity nie są stałe lub poza ustalonym zakresem. –