procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;
procedure TForm1.Button1Click(Sender: TObject);
type
TKarten = (
Herz_7, Herz_8, Herz_9, Herz_10, Herz_Bube, Herz_Dame, Herz_Koenig, Herz_Ass,
Karo_7, Karo_8, Karo_9, Karo_10, Karo_Bube, Karo_Dame, Karo_Koenig, Karo_Ass,
Pik_7, Pik_8, Pik_9, Pik_10, Pik_Bube, Pik_Dame, Pik_Koenig, Pik_Ass,
Kreuz_7, Kreuz_8, Kreuz_9, Kreuz_10, Kreuz_Bube, Kreuz_Dame, Kreuz_Koenig, Kreuz_Ass
);
const
cKarten:array[TKarten] of string = (
'Herz 7', 'Herz 8', 'Herz 9', 'Herz 10', 'Herz Bube', 'Herz Dame', 'Herz König', 'Herz Ass',
'Karo 7', 'Karo 8', 'Karo 9', 'Karo 10', 'Karo Bube', 'Karo Dame', 'Karo König', 'Karo Ass',
'Pik 7', 'Pik 8', 'Pik 9', 'Pik 10', 'Pik_Bube', 'Pik Dame', 'Pik König', 'Pik Ass',
'Kreuz 7', 'Kreuz 8', 'Kreuz 9', 'Kreuz 10', 'Kreuz Bube', 'Kreuz Dame', 'Kreuz König', 'Kreuz_Ass'
);
var KartenIndex: Integer;
Karten: TStringList;
Karte:TKarten;
begin
Memo1.Lines.BeginUpdate;
Karten:=TStringList.Create;
try
Memo1.Lines.Clear;
for Karte:=low(TKarten) to high(TKarten) do
Karten.Append(cKarten[Karte]);
while Karten.Count > 0 do begin
KartenIndex:=Random(Karten.Count);
Memo1.Lines.Append(Karten[KartenIndex]);
Karten.Delete(KartenIndex);
end;
finally
Karten.Free;
Memo1.Lines.EndUpdate;
end;
end;