Wenn mb,l,ewb als 2-dimensionale Arrays angelegt wären, könnte man schreiben:
Delphi-Quellcode:
mb[ComboBox1.ItemIndex,ComboBox2.ItemIndex] := strtofloat(edit1.Text);
l[ComboBox1.ItemIndex,ComboBox2.ItemIndex] := strtofloat(edit2.Text);
ewb[ComboBox1.ItemIndex,ComboBox2.ItemIndex] := strtofloat(edit3.Text);
Wenn dann b und bz 4-dimensionale Array wären und man die Schleifenreihenfolge umdreht könnte man k weglassen und schreiben
Delphi-Quellcode:
for t := 1 to 13 do
begin
bz[ComboBox1.ItemIndex,ComboBox2.ItemIndex,0,t] := stringgrid1.Cells[0,t];
for i := 1 to 4 do
begin
b[ComboBox1.ItemIndex,ComboBox2.ItemIndex,i,t] := strtofloat(stringgrid1.Cells[i,t]);
end;
end;
Oder Alternativ ein 3-dimensionales Array mit k, wobei man k statt hochzuzählen auch aus i und t berechnen könnte (k:=t+(i-1)*13).
Auf jeden Fall hätte man sich viel Code gespart.