AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Random?

Ein Thema von Killer · begonnen am 2. Dez 2003 · letzter Beitrag vom 6. Dez 2003
Antwort Antwort
Seite 1 von 2  1 2      
Killer

Registriert seit: 11. Nov 2003
152 Beiträge
 
Delphi 6 Enterprise
 
#1

Random?

  Alt 2. Dez 2003, 19:02
Hi ich hab ein Problem mit dem Zufallsgenerator. Und zwar gehts drum, dass ich bei jedem Aufruf der Funktion einen anderen Wert haben möchte. Mein Quellcode:
Delphi-Quellcode:
procedure TForm1.Random;
begin
 Randomize;
 DBListBox1.ItemIndex := RandomRange(0,DBListBox1.Items.Count-1);
 varia := DBListBox1.Items[DBListBox1.ItemIndex];
end;
Zur Erklärung: varia ist eine lokale Stringvariable, in den ich den selektierten Wert der ListBox hineinkopiere, um ihn weiterzuverwenden. Naja nur kommt halt jedes mal der gleiche Wert raus. Wieso???
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#2

Re: Random?

  Alt 2. Dez 2003, 19:11
Randomize nur einmal aufrufen am Besten im OnCreate der Form oder im Initialization Teil deines Progs
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Killer

Registriert seit: 11. Nov 2003
152 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Random?

  Alt 2. Dez 2003, 19:12
Hm das bringt mir aber nicht viel, da ich die Funktion per Button aufrufen möchte. Gehts nicht auch anders?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#4

Re: Random?

  Alt 2. Dez 2003, 19:12
Normalerweis leitet Randomize den Startwert (RandSeed) einen aus der Systemzeit abgeleiteten Wert zu, was eigendlich bedeutet das die 1. Zufallszahl "jedesmal" eine Andere sein sollte.

Aber vesuche mal Randomize nicht in deiner Zufallsfunktion auszuführen, sondern nur einmal im OnCreate-Ereignis deines Formulars.


http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Frank Bicking

Registriert seit: 15. Mär 2003
11 Beiträge
 
#5

Re: Random?

  Alt 2. Dez 2003, 19:13
Liegt am Randomize, führe dies nur einmal aus, z.B. direkt nach Programmstart.
  Mit Zitat antworten Zitat
Killer

Registriert seit: 11. Nov 2003
152 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Random?

  Alt 2. Dez 2003, 19:16
Hm nee kann nicht sein, habs in das OnCreate der Form reingemacht und will trotzdem nicht. Komischerweise beim 1ten Aufruf geht die Funktion immer
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#7

Re: Random?

  Alt 2. Dez 2003, 19:22
Und so:
Delphi-Quellcode:
Procedure TForm1.FormCreate(Sender: TObject);
  Begin
    Randomize;
  End;

Procedure TForm1.Random;
  Begin
    DBListBox1.ItemIndex := Random(DBListBox1.Items.Count);
    varia := DBListBox1.Items[DBListBox1.ItemIndex];
  End;

http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#8

Re: Random?

  Alt 2. Dez 2003, 19:24
Mit grosser warscheinlichkeit liegt es daran, das deine Prozedur Random heisst. Das beisst sich mit einer Delphi-Funktion, die genauso heisst. Bennen sie mal um in LBRandom oder so und teste es nochmal.
  Mit Zitat antworten Zitat
Killer

Registriert seit: 11. Nov 2003
152 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: Random?

  Alt 2. Dez 2003, 19:29
@himitsu:

Hab ich probiert geht nicht!

@scp:

Geht auch nicht. Hab sie überall umbenannt.

Schon komisch, wie gesagt beim 1ten Aufruf gehts, da kommt wirklich ne Zufallszahl, beim 2ten Aufruf aber nicht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#10

Re: Random?

  Alt 2. Dez 2003, 19:34
@scp:
die Prozedur Random ist ja in der Klassen TForm1 und kann sich normalerweise nich mir der Funktion Random überschneiden.

@Killer:
wenn möglich stell doch mal etwas mehr von deinem Code zur Verfügung.
Vieleicht wird ja was anderes wichtiges überseh'n.


http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz