Thema
:
Delphi
Zufallszahl prozentual manipulieren
Einzelnen Beitrag anzeigen
shmia
Registriert seit: 2. Mär 2004
5.508 Beiträge
Delphi 5 Professional
#
4
Re: Zufallszahl prozentual manipulieren
21. Feb 2008, 14:36
Vielleicht so:
zusammenfalten
·
markieren
Delphi-Quellcode:
type
TZEntry =
record
z:double;
// Prozentanteil
value:
string
;
// Wert
end
;
const
// Achtung: die Summe der Prozentwerte muss 100% ergeben
// die Prozentwerte sollen in absteigender Reihenfolge sortiert sein
ZList :
array
[0..3]
of
TZEntry = (
(z:45.0; value:'
VW
'),
(z:40.0; value:'
Opel
'),
(z:10.0; value:'
BMW
'),
(z:5.0; value:'
Porsche
')
);
function
GetZufalldata(list :
array
of
TZEntry):
string
;
var
i : Integer;
z, b : Double;
begin
z := random * 100.0;
b := 0.0;
for
i := low(list)
to
high(list)
do
begin
b := b + list[i].z;
if
z < b
then
begin
Result := list[i].value;
Exit;
end
;
end
;
Result := '
invalid
';
end
;
Aufruf:
daten := GetZufallData(ZList);
Andreas
Zitat
shmia
Öffentliches Profil ansehen
Mehr Beiträge von shmia finden