Ich hab versucht mithilfe dieses Libraryeintrags (
http://www.delphipraxis.net/internal...ct.php?t=74277) den Quellcode so umzuschreiben, dass er auch mit einem Record aus einem String und einem Integer umzusetzen.
Delphi-Quellcode:
type
tdaten=record
name:string;
zahl:integer;
end;
Jedoch komme ich nicht auf eine brauchbare Lösung. Könnt ihr mir helfen?
Hier noch mein bisheriger Quellcode:
Delphi-Quellcode:
procedure Permute(Vals: tlist; Akt: tlist);
var i:Integer;
S: tlist;
begin
if vals.Count=0 then begin
for i:=0 to akt.Count-1 do
form1.ListBox1.Items.Add(tdaten(akt[i]^).name)
end
else
for i:=0 to vals.Count-1 do
begin
s:=tlist.Create;
S:=Vals;
akt.Add(vals[i]);
s.Delete(i);
Permute(S,Akt);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var foo:tlist;
begin
foo:=tlist.Create;
permute(p_list,foo);
ListBox1.Clear;
end;
Als Beispiel:
In der Liste steht:
Hans 1
Dieter 3
Klaus 6
Daraus sollen jetzt folgende Möglichkeiten ausgegeben werden:
Hans, Dieter, Klaus
Dieter, Hans, Klaus
Klaus, Dieter, Hans
etc..