Fangen wir mal an:
for.. Do führt nur die nächste Anweisung in Schleife aus. Wenn du mehrere Anweisungen ausführen willst, musst du es in Begin..End kapseln
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,y: integer;
begin
i:= 0; // unnötig bei For-Schleifen
for i:= 1 to 6 DO
Y:= random(49)+1; // hier läuft dein Programm 6 mal lang ( für i von 1 - 6 )
ListBox1.Items.Add(inttostr(y));// erst anschliessend läuft dein Programm hierhin und schreibt das letzte y in die Box
end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,y: integer;
begin
for i:= 1 to 6 DO
Begin
Y:= random(49)+1;
ListBox1.Items.Add(inttostr(y));
End;
end;
So hätteste zumindest schonmal alle Zahlen in der Box. Allerdings benutzt du dein Set ja gar nicht und hast somit auch keine Prüfung auf doppelte Zahlen.