Also grundsätzlich gibt es viele Möglichkeiten ... je nachdem, welche Konzepte man einsetzen möchte.
Ich würde mal denken, Klassen und Generics sind hier auszuschließen.
Die Daten also entweder in einfache Variablen, wie Du es angedeutet hast, oder in Arrays. Du musst einfach sehen, was für Dich praktikabler ist.
Wichtig wäre, Formular und Logik zu trennen.
Man könnte als Schnittstelle zwei Funktionen definieren:
DatenInFormularSchreiben und DatenAusFormularHolen.
Dort realisierst Du das, was Du im Eingangspost gemacht hast.
Nur die zwei Funktionen sollten die Controls und die Variablen benutzen.
Dann brauchst Du noch eine Funktion BerechneDaten, die z.B. von einem Button angestoßen wird.
Dort sollten alle Berechnungen ablaufen, ohne noch einmal auf ein Edit oder anderes Control zuzugreifen.
In DatenAusFormularHolen kannst Du zwar so etwas wie FindControl('Edit1') benutzen, aber es wird einfacher sein, wenn Du es wie im Eingangspost machst und direkt Edit1.Text benutzt.
Allerdings würde ich den Controls immer sprechende Namen zuordnen, also z.B. zg111 := StrToInt(Edit_zg111.Text);
Das vereinfacht schon mal einiges und vor allem die Wartung und Fehlersuche.
Soweit vielleicht erst mal als Richtungsempfehlung...
Klassen? Um Himmels Willen, bloß nicht
So sieht das Programm aus, vielleicht wird es dann etwas klarer, was ich machen will (Bild im Anhang).
Es sollen erstmal ein paar Informationen eingegeben werden und dann gespeichert. Durch den Button "Auswählen" sollen die Informationen dann wieder in den Edit-Feldern erscheinen.
Ich frage mal ganz frech. Gibt es dafür eventuell einen vorgefertigten Code? Eigentlich ist es ja relativ simpel.