So ein Sequenz von if then else ist nicht wirklich übersichtlich. Wenn schon so kompliziert, dann wenigstens ein case:
Delphi-Quellcode:
case Position of
0:
begin
VolumeLow.Visible := false;
VolumeMedium.Visible := false;
VolumeHigh.Visible := false;
VolumeMuted.Visible := true;
end;
1..33:
begin
VolumeLow.Visible := true;
VolumeMedium.Visible := false;
VolumeHigh.Visible := false;
VolumeMuted.Visible := false;
end;
34..66:
begin
VolumeLow.Visible := false;
VolumeMedium.Visible := true;
VolumeHigh.Visible := false;
VolumeMuted.Visible := false;
end;
else
begin
VolumeLow.Visible := false;
VolumeMedium.Visible := false;
VolumeHigh.Visible := true;
VolumeMuted.Visible := false;
end;
end (* case *);
aber noch viel besser, weil man auf einen Blick sieht, was passiert:
Delphi-Quellcode:
VolumeMuted.Visible := position = 0;
VolumeLow.Visible := position in [1..33];
VolumeMedium.Visible := position in [34..66];
VolumeHigh.Visible := position > 66;
Aber die erste Lösung ist natürlich besser, wenn Du für die Anzahl der Codezeilen in Deinem Programm bezahlt wirst.