Nach dem die Antworten hier teilweise nach dem Muster "wer findet noch was abgefahreneres um einen Anfänger zu verwirren?" hier noch mein Vorschlag:
Nachdem die Variablen im Speicher ja schön hintereinander liegen - er könnte sich die Adresse von Vk_name1 besorgen, in einen Pointer casten und dann je nach i sich die Adresse ausrechnen und zurück casten.
Das hat noch den riesen Vorteil, dass er seine Deklarationnicht anpassen muss.
Im Ernst: offensichtlich ist Dr. Jack ein Anfänger der gerade mal weiß was eine Schleife ist aber noch nichts von Arrays gehört hat. Da würde ich jetzt nicht schon Klassen, Records und noch höheres vorschlagen sondern nur array alleine
Also statt
Delphi-Quellcode:
Vk_name1, vk_preis1,
Vk_name2, vk_preis2:String
For I:=1 to 3 do begin
Machwas := vk_name(I)
dann
Delphi-Quellcode:
vk_name: array[1..3]: String;
vk_preis: array[1..3]: String;
For I:=1 to 3 do begin
Machwas := vk_name[I];
end;
Klar, hat das noch ein riesiges Verbesserungspotential. Aber so hat Dr. Jack ein Erfolgserlebnis, weiterhin Spass an Delphi und lernt dann gerne weiter.