Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit Randomize (https://www.delphipraxis.net/15132-problem-mit-randomize.html)

Nalincah 22. Jan 2004 14:59


Problem mit Randomize
 
Bei mir klappt das irgendwie nicht
Random gibt keinen Wert zurück!!!

Delphi-Quellcode:
procedure GeschwTest;
var
  i : Integer;
  Anz_VKopf,Anz_VZeil:Integer;
begin
  Anz_VKopf := StrToInt(FrmMain.EditAnzKopf.text);
  Randomize;
  Anz_VZeil := Random(StrToInt(FrmMain.EditAnzZeil.Text));
  if (FrmMain.TabVKopf.Active = True) and
     (FrmMain.TabVZeil.Active = True) then
  begin
    for i := 0 to Anz_VKopf do
    begin
    end;
  end;
end;

Luckie 22. Jan 2004 15:01

Re: Problem mit Randomize
 
Kann es sein, dass die der Compiler die Variable weg-optimiert, weil du sie nicht benutzt? Desweiteren lies mal, was in der Hilfe zu Randomize steht.

Nalincah 22. Jan 2004 15:20

Re: Problem mit Randomize
 
Mit z.B.

Delphi-Quellcode:
RandSeed := 16;
gehts auch nicht.

Luckie 22. Jan 2004 15:26

Re: Problem mit Randomize
 
Erstens:
Zitat:

Zitat von Delphi-Hilfe
Do not combine the call to Randomize in a loop with calls to the Random function. Typically, Randomize is called only once, before all calls to Random.

Also ruf Randomize nur einmal in Form.Create uaf oder so.

Zweitens:
Zitat:

Zitat von Luckie
Kann es sein, dass die der Compiler die Variable weg-optimiert, weil du sie nicht benutzt?

Mein Delphi sagt mir da zum Beispiel das:
Zitat:

Zitat von Delphi-Compiler
[Hinweis] Unit1.pas(32): Auf 'Anz_VZeil' zugewiesener Wert wird niemals benutzt

Und wird sie wegoptimiert haben.

hacker 22. Jan 2004 15:45

Re: Problem mit Randomize
 
Wie Luckie schon gesagt hat, kommt randomize ins onCreate der Form.

Gruss Häcki :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 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