Ich habe den Code mal vereinfacht.
Die innere Schleife ist unnötig - es sei denn, du hast uns etwas Code vorenthalten.
Delphi-Quellcode:
for i := 0 to jobCount - 1 do
begin
si := jobarray[i].j_proc[wcCount - 1] - jobarray[i].j_proc[0];
jobArray[i].j_prio := si;
end;
Aber dein Grundproblem scheint mir zu sein, dass du nicht mit Klassen und Objekten arbeitest,
sondern mit (zu) einfachen Datenstrukturen wie Array und Record.
Die Folge ist, das der Code an der falschen Stelle (dem Formular) sich anhäuft.