Registriert seit: 10. Jan 2003
Ort: Schwall
71 Beiträge
Delphi 8 Professional
|
30. Apr 2003, 02:07
Hallo Woozy,
Versuchs doch mal so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;
procedure TForm1.Button1Click(Sender: TObject);
var Values: TStringList;
x, y: Integer;
Rnd: Integer;
CurrentIndex, NewIndex: Integer;
begin
Values:=TStringList.Create;
Values.Duplicates:=dupIgnore;
// Zufallswerte erzeugen
While Values.Count < 32 do begin
Rnd:=random(60);
Values.Add(inttostr(rnd));
Values.Add(inttostr(rnd));
end;
// Zufallswerte mischen
y:=random(9999);
for x:=1 to y do begin
CurrentIndex:=random(Values.Count);
NewIndex:=random(Values.Count);
While CurrentIndex=NewIndex do begin
CurrentIndex:=random(Values.Count);
NewIndex:=random(Values.Count);
end;
Values.Move(CurrentIndex, NewIndex);
end;
// Zufallswerte zuweisen
for x:=0 to ComponentCount-1 do begin
if Components[x].ClassType =TSpeedButton then begin
(Components[x] as TSpeedButton).Tag:=strtoint(Values.Strings[x]);
if CheckBox1.Checked then begin
(Components[x] as TSpeedButton).Glyph:=nil;
(Components[x] as TSpeedButton).Caption:='';
ImageList1.GetBitmap(strtoint(values.Strings[x]), (Components[x] as TSpeedButton).Glyph);
end else begin
(Components[x] as TSpeedButton).Glyph:=nil;
(Components[x] as TSpeedButton).Caption:=Values.Strings[x];
end;
end;
end;
Values.Free;
end;
Einziger Nachteil, es werden mehrere gleiche Paare angezeigt.
Gruß, Tom
Thomas van Veen Es gibt keine Probleme, nur Lösungen, auf die man nicht gleich kommt !
|
|
Zitat
|