По крайней мере, вот этот код точно можно заменить
Код:
if ComboBox1.ItemIndex = 0 then n:=1;
if ComboBox1.ItemIndex = 1 then n:=2;
if ComboBox1.ItemIndex = 2 then n:=3;
if ComboBox1.ItemIndex = 3 then n:=4;
на
Код:
if ComboBox1.ItemIndex in [0..3] then
n := ComboBox1.ItemIndex + 1;
Но, может быть, вы объясните - чего вы хотите получить в итоге всех этих усилий? У меня сильное подозрение, что вы просто изначально выбрали неверный путь и, как следствие, способ реализации.