Hola martini002.
Pido disculpas, pero internet me ha andado lento como una endemoniada tortuga

.
Dupliqué los mensajes y pensé en que había borrado solamente el duplicado pero borré ambos, luego se cortó.
De todos modos el código era algo parecido a este:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
v: array[1..6] of integer;
c,n: Integer;
begin
for c:= 1 to 6 do v[c]:= 0;
Randomize;
c:= 0;
repeat
n:= Random(6)+1;
if v[n] = 0 then
begin
v[n]:= n;
Inc(c);
end;
until c = 6;
Edit1.Text:=IntToStr(v[1]);
Edit2.Text:=IntToStr(v[2]);
Edit3.Text:=IntToStr(v[3]);
Edit4.Text:=IntToStr(v[4]);
Edit5.Text:=IntToStr(v[5]);
Edit6.Text:=IntToStr(v[6]);
end;
La comprobación
es para verificar que no haya sido asignado un valor a esa posición del arreglo, lo mismo podría haberse inicializado a cualquier valor arbirtrario no contemplado en el rango aleatorio y comprobar por ese valor.
Saludos.
Edito: Es una opción que no repite los números aleatorios dentro del arreglo pero no sé si es lo que te solicitaron por que no entendí muy bién la consigna.