AGB  ·  Datenschutz  ·  Impressum  







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

Zufall wiederholt sich??

Ein Thema von daredd · begonnen am 25. Jun 2006 · letzter Beitrag vom 8. Jul 2006
Antwort Antwort
Seite 2 von 2     12   
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#11

Re: Zufall wiederholt sich??

  Alt 26. Jun 2006, 08:29
Hallo,

bei mir war das aber auch schon oft,
das ich randomize direkt in eine Schleife rein geschrieben habe,
weil die Zahlen nicht mehr zufällig waren.
Ich weiß auch nicht warum das so ist,
aer wenn man randomize nur 1x im Create Teil schreibt und dann
in einer Schleife Zufallszahlen erzeugt,
dann sind die bei mir auch nicht mehr Zufällig...
Bei mir war es so das eine Zahl erzeugt wurde und
immmer wieder die selbe Zahl "zufällig" ermittelt wurde.
  Mit Zitat antworten Zitat
morri

Registriert seit: 6. Jun 2006
Ort: Wuppertal
106 Beiträge
 
Delphi 7 Professional
 
#12

Re: Zufall wiederholt sich??

  Alt 26. Jun 2006, 09:02
Zitat:
var
Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.CreateForm(Sender: TObject);
begin
Randomize;
end;
......

Sag mal kann es sein, dass du formcreate meinst, und nicht createform?

Denn das Randomize wird so gar nicht aufgerufen und du hast defacto nur eins!
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#13

Re: Zufall wiederholt sich??

  Alt 8. Jul 2006, 02:23
Hi,

Zitat:
Sag mal kann es sein, dass du formcreate meinst, und nicht createform?
Wer ist mit "du" gemeint?


Falls ich es bin:
Ich verwende

procedure TForm1.CreateForm(Sender: TObject);


Gruß,
Ferby
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Zufall wiederholt sich??

  Alt 8. Jul 2006, 07:08
@daredd:
So viele Constanten/Variablen sind schlecht. Und dazu machen sie noch viel arbeit.

So wie ich den Code sehe habe ich die Frage:
Wieso überhaupt Constanten, denn sie sind ja lokal und werden anscheinend nur hier gebraucht.

Delphi-Quellcode:
procedure TForm1.Zufall(Sender: TObject);
begin
NSpin18.Text:=IntToStr(Random(7))+','+IntToStr(Random(7))+IntToStr(Random(7));
SSpin18.Text:=IntToStr(Random(9))+','+IntToStr(Random(9))+IntToStr(Random(9));
.......
.......
.......
end;
Das ganze könnte man dann noch verkürzen, allerdings müsste man die Namensgebung der Einzelnen Komponenten überdenken. Man könnte diese Komponenten auch mit FindComponent ansprechen. Dann könnte man das alles in 2 Schleifen packen. Eine für die 7er Komponenten und eine für die 9er Komponenten.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#15

Re: Zufall wiederholt sich??

  Alt 8. Jul 2006, 08:46
procedure TForm1.FormCreate(Sender: TObject);

Ich denke da ist Randomize gut aufgehoben. Da liegt Dein erster Fehler!

Randomize erzeugt, so weit ich weiss, aus Uhrzeit und Datum neue Zufallszahlen.

Füge mal ein Showmessage('Hier ist Randomize'); direkt bei Randomize und Showmessage('Hier ist die Verarbeitung' ein.) bei Deiner Procedur, die die Zufallszahlen verarbeitet. Dann siehst Du was passiert und Randomze überhaupt aufgerufen wird.

Randomize darf nur einmal aufgerufen werden.

Deine Procedure zur Verarbeitung muss nach Randomize aufgerufen werden. Sonst bingt es nichts, außer immer gleicher Zufallszahlen.

Falls Du immer noch gleich Zufallswerte hast, muss Du Randomize einfach mal woanders hinpacken und vor einem Random aufrufen.

Falls es immer noch nicht klappt, bitte ganzen Code hier zeigen.

CU
Go2EITS
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 05:25 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