Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Zufallsgenerator (https://www.delphipraxis.net/144269-zufallsgenerator.html)

Jonski 3. Dez 2009 18:53


Zufallsgenerator
 
Hi Leute,

Heute habe ich die Frage wie ich einen Zufallsgenerator programmiere, um z.B. eine Zahl zufällig auszuwählen.

Danke für eure Antworten.

patti 3. Dez 2009 18:55

Re: Zufallsgenerator
 
Einmal (beispielsweise im OnCreate)

Delphi-Quellcode:
randomize;
aufrufen. Dann kannst du an beliebiger Stelle mit

Delphi-Quellcode:
random(a);
eine Zufallszahl erzeugen, wobei a die obere Grenze angibt. Einfach mal in der DP nach "Zufallszahl" oder "random" suchen.

Patti

lbccaleb 3. Dez 2009 18:57

Re: Zufallsgenerator
 
Kannst dir auch mal das Programm von mir ansehen:

PasswortGenerator

Wolfgang Mix 3. Dez 2009 18:59

Re: Zufallsgenerator
 
Delphi-Quellcode:
Zusall:=Random(49) + 1
liefert z.B. Zufallszahlen von 1..49

Gruß

Wolfgang

patti 3. Dez 2009 19:00

Re: Zufallsgenerator
 
@lbccaleb : Ich verstehe ehrlich gesagt nicht, was das mit seiner Frage zu tun hat. Er will doch lediglich eine Zufallszahl erzeugen :gruebel:

Jonski 3. Dez 2009 19:09

Re: Zufallsgenerator
 
Danke ich habe es geschafft den zu proggn.

Danke

lbccaleb 3. Dez 2009 19:12

Re: Zufallsgenerator
 
Zitat:

Zitat von patti
@lbccaleb : Ich verstehe ehrlich gesagt nicht, was das mit seiner Frage zu tun hat. Er will doch lediglich eine Zufallszahl erzeugen :gruebel:


Zitat:

Zitat von Jonski
Hi Leute,

Heute habe ich die Frage wie ich einen Zufallsgenerator programmiere, um z.B. eine Zahl zufällig auszuwählen.

Danke für eure Antworten.


Also, für mich war da nicht die Frage nach Random ;)
Einzig fürht letztlich Random auf das zurück ;)

kenshin3672 7. Nov 2016 13:38

AW: Zufallsgenerator
 
morgen,
habe zu dem Zufallsgenerator mal ne frage:
Mir ist bekannt das sich der Zufallsgenerator von Delphi nach Uhrzeit und Datum richtet, aber wie genau entstehen die Startparameter des Randomize und vorallem ist es möglich den Zufallsgenerator zu beeinflussen bzw zu Manipulieren?
Würde mich über jede Antwort dazu freuen :) jeder Tipp/Hinweis willkommen, suche nämlich schon länger danach ohne wirklichen Erfolg..


In der Theorie gibt es keinen Unterschied zwischen Theorie und Praxis. In der Praxis schon.

himitsu 7. Nov 2016 14:11

AW: Zufallsgenerator
 
Schau mal in die OH.

Bei Delphi-Referenz durchsuchenRandom und Delphi-Referenz durchsuchenRandomize wird z.B. auch Delphi-Referenz durchsuchenRandSeed verlinkt sein. :stupid:

RandSeed ist der Initialwert des Generators (bzw. daraus wird der nächste Zufallswert "berechnet")
und Randomize nimmt "aktuell" im Windows die Laufzeit des Systems (früher mal GetTickCount und derzeit QueryPerformanceCounter, weil es zuviele Idioten gab, die Randomize viel zu oft aufgerufen haben und sich dann wunderten, dass ständig der selbe Wert rauskommt)

Delphi-Quellcode:
// Was die Trotel praktisch immer gemacht hatten und da GetTickCount da oft genug den selben Wert liefer, kam auch mehrmals das Selbe bei Random raus
for i := 0 do 1000 do begin
  Randomize;
  MachWasMit(Random);
end;

Man kann also mit Random und dem selben Startwert "aktuell" immer wieder die selben Zahlenfolgen erzeugen,
aber wer denkt das sei immer so, der hat es verdient, wenn es knallt, sollte Emba irgendwann mal etwas am internen Generator ändern.

kenshin3672 7. Nov 2016 14:59

AW: Zufallsgenerator
 
oke top danke :)
weißt du zufällig wie man die Startwerte ändern kann? also meinetwegen statt der Systemlaufzeit die spezielle Temperatur des Prozessors nutzen kann?

weil ich habe als aufgabe zwei zufallsgeneratoren mit verschiedenen Startparametern zu vergleichen. Hänge halt gerade an der Beeinflussung und das grundverändernste ist es der Startwert der geändert wird (auch wenn es sich weiterhin nur um PseudoZufallszahlen handelt :) )

Benedikt Magnus 7. Nov 2016 15:01

AW: Zufallsgenerator
 
Zitat:

Zitat von kenshin3672 (Beitrag 1352895)
oke top danke :)
weißt du zufällig wie man die Startwerte ändern kann? also meinetwegen statt der Systemlaufzeit meinetwegen die spezielle Temperatur des Prozessors nutzen kann?

weil ich habe als aufgabe zwei zufallsgeneratoren mit verschiedenen Startparametern zu vergleichen. Hänge halt gerade an der Beeinflussung und das grundverändernste ist es der Startwert der geändert wird (auch wenn es sich weiterhin nur um PseudoZufallszahlen handelt :) )

Das geht, indem du RandSeed manuell zuweist.

Da stellt sich mir die Frage, wie zufällig ist dieser Zufall, wenn man als Startparameter einen echten Zufallswert verwendet?

kenshin3672 7. Nov 2016 15:20

AW: Zufallsgenerator
 
naja aber wenn ich RandSeed einen dauerhaft gleichbleibenden Wert zuweise habe ich ja immer den selben Startwert also ziemlich sicher kein Zufallsgenerator mehr da ich den Algorithmus (theoretisch) nachvollziehen könnte.
Kann ich bei RandSeed auch einen wechselhaften Wert eintragen (wechselnde Temperatur etc.)?

Neutral General 7. Nov 2016 15:29

AW: Zufallsgenerator
 
Du kannst bei randseed eine Zahl angeben. Was diese Zahl für dich bedeutet ist dem Zufallsgenerator ziemlich egal ;)

kenshin3672 7. Nov 2016 15:38

AW: Zufallsgenerator
 
naja eben nich. wenn ich bei RandSeed die Prozessertemp. angebe (die sich ja normalerweise ändert) habe ich ja auch unterschiedliche Startwerte für meinen Zufallsgenerator.
Frage: kann ich RandSeed folgendermaßen initalisieren?
RandSeed := prozessertemp (prozessertemp. wird mit hoher wahrscheinlichkeit anders formuliert ^^)

Neutral General 7. Nov 2016 15:43

AW: Zufallsgenerator
 
Wenn RandSeed ein Integer ist dann schon.
Aber ich hab das Gefühl du willst irgendetwas seltsames tun oder hast irgendwas vom Prinzip her noch nicht ganz verstanden.
Was ist denn genau dein Plan? Was hast du genau vor?

Ich denke mal wenn man das weiß kann man dir auch besser helfen.

Generell gilt:
Wenn du RandSeed einen Wert zuweißt, dann wird dieser Wert als Grundlage für die folgenden Zufallszahlen genommen.
Ändert sich der RandSeed wird die Zufallszahlenreihe wieder auf Anfang gesetzt, aber halt für den neuen Seed.

RandSeed zu setzen macht eigentlich nur einen Sinn, wenn man eine Reihe von (Pseudo-)Zufallszahlen haben will auf die man vllt. irgendwann nochmal zurückgreifen will oder wenn 2 Computer die gleiche Folge von Zahlen generieren sollen oder ähnliches.

kenshin3672 7. Nov 2016 15:55

AW: Zufallsgenerator
 
Also habe im Abitur als 5.Pk mir die "wundervolle" Aufgabe vorgenommen zwei Zufallsgeneratoren aus zwei verschiedenen Programmiersprachen (Delphi7 und C# oder C++) zu vergleichen.
Daher müsste ich wissen:
1. woher stammt der Startwert des jeweilligen Zufallsgenerators?
2. Wie ist es mir selbst möglich diesen Startwert zu ändern?
3. Durch die veränderten Startwerte auf die Beeinflussung durch RandSeed hinweisen und
4. eben diese Veränderungen visualisieren.

Das sind so die aufgaben die ich gerne erfüllen würde :)
momentan hänge ich halt bei RandSeed (is ja Ursprung jedes Zufallsgenerators), allerdings sind die darin verwendeten Werte verschieden. Delphi nutzt halt Datum u Uhrzeit. C# die Systemlaufzeit etc.
Und diese verschiedenen Werte will ich haben ^^ bzw darauf zu greifen können.

kenshin3672 7. Nov 2016 15:58

AW: Zufallsgenerator
 
aber nochmal so ne Frage: wie greife ich auf RandSeed zu?

bra 7. Nov 2016 16:03

AW: Zufallsgenerator
 
Aber wenn du die beiden Randomwerte direkt nacheinander vergleichen willst, ist da die Wahrscheinlichkeit nicht ziemlich hoch, dass die CPU-Temperatur beides mal dieselbe ist?

kenshin3672 7. Nov 2016 16:10

AW: Zufallsgenerator
 
wieso sollte dieser Fall eintreten?
wenn ich dem RandSeed von Delphi vorgebe das er die Laufzeit des Rechners nehmen soll und einen weiteren anweise das er die Temp des Prozessors nehmen soll, dann sollten die Randomwerte doch theoretisch unterschiedlich ausfallen.

bra 7. Nov 2016 16:12

AW: Zufallsgenerator
 
Achso, ich hatte es anders verstanden ;)

Neutral General 7. Nov 2016 16:23

AW: Zufallsgenerator
 
1) Der Startwert (also der 1. generierte Wert, nicht der Seed) wird (genau wie jeder folgende Wert) anhand von RandSeed berechnet. In RandSeed steht wie du schon weißt "standardmäßig" wenn du randomize aufgerufen hast der Zeitstempel von dem Zeitpunkt als du randomize aufgerufen hast. Alle Werte (auch der erste Wert - der Startwert) werden dann aufgrund dieses Zeitstempels berechnet.
Wenn du randseed manuell auf einen anderen Wert setzt, dann ändert sich auch die Zufallszahlenfolge.

2) Den Startwert kannst du nicht direkt setzen. Du kannst nur den Seed verändern wodurch du (evtl) einen anderen Startwert erhältst.
Wenn du den verwendeten Algorithmus kennst könnte man sich wahrscheinlich auch wenn man es draufanlegen würde einen Seed ausrechnen der einen betimmten Startwert generiert.

4) Bin mir nicht sicher was du da visualisieren willst. Du bekommst mit einem RandSeed Wert eine Zufallsreihenfolge und mit einem anderen Seed eine komplett andere Folge.


EDIT (WICHTIG):
Ich hab dich endlich verstanden. Du hast das mit den Zufallszahlen komplett falsch verstanden :mrgreen:

RandSeed ist nicht die Zufallszahl! Wenn du einen festen Wert als RandSeed angibst, z.B. "123",
wird dieser als BASIS für einen Algorithmus genutzt der dir aus diesem Seed Zufallszahlen generiert (Mathe).

Auch die Standard Delphi Zufallszahlen selbst sind NICHT GLEICH der Uhrzeit, sondern die Uhrzeit zum Zeitpunkt des randomize-Aufrufs dient nur als GRUNDLAGE für die generierten Zufallszahlen.
Quasi als Eingabe/Startwert für den Zufallszahlenalgorithmus.

Den RandSeed also dauernd zu verändern macht keinen Sinn. Es wird nicht zufälliger wenn du die CPU-Temperatur nimmst und es wird auch nicht schlechter wenn du einen festen Startwert (z.B. 123) nimmst.

kenshin3672 7. Nov 2016 17:00

AW: Zufallsgenerator
 
naa nich falsch verstanden sondern nur kacke formuliert.
Mir war bewusst das der RandSeed immer nur der momentante Wert ist (halt wie du gesagt hast -> hab ich einfach mal vorausgesetzt).
Wenn ich den Zeitpunkt änder bekomme ich ja (vllt) einen anderen Startwert (also 1.Ergebnis).
Mir geht es nur darum den RandSeed zu ändern und rein theoretisch nachzuweisen das die zufallszahlen von eben diesen Wert abhängen. Das es in der Praxis auch die gleichen werte sein können sei da hingestellt ^^ geht nur um das Prinzip das wenn sich mein RandSeed ändert sich auch mein Startwert ändert und so andere Zufallszahlen entstehen können.
Weil theoretisch wäre es ja dann möglich (wenn RandSeed und Startwert bekannt sind) voraus zu sehen welcher Wert als nächstes erscheinen wird (auch wenn es da immernoch einen gewissen Raum für Ergebnisse gibt).


ne idee wie man RandSeed aufrufen kann? lese gerade parallel was dazu aber wenn ich gerade schon hier am tippen bin kann ich auch gleich fragen :)

kenshin3672 7. Nov 2016 17:02

AW: Zufallsgenerator
 
Die Visualisierung soll in Form einer Präsentation erfolgen. Heißt den aufbau des jeweilligen Zufallsgenerators zeigen und mit den anderen vergleichen -> unterschiede aufzeigen. Und dann halt noch sagen wieso die ergebnisse so entstehen wie sie entstehen wo wir wieder beim RandSeed wären ^^

aber das hat noch ordentlich zeit :) erstmal das mit RandSeed verstehen wie ich den ändern kann etc.



nochmal so ne frage dazu: wie setzt Delphi die Uhrzeit(Zeitpunkt des aufrufens) in einen Startwert um? weil dahinter muss ja auch noch eine bestimmte Formel stecken

Neutral General 7. Nov 2016 17:27

AW: Zufallsgenerator
 
Wie schon mehrmals mehr oder weniger direkt gesagt wurde: Du kannst "RandSeed" eine Zahl zuweisen. Das ist einfach nur eine globale Variable:
Delphi-Quellcode:
RandSeed := 123;
Caption := IntToStr(random(100)); // 85
Über GetTickCount bzw. QueryPerformanceTimer bekommt man die "Uhrzeit" (nicht wirklich die Uhrzeit aber sowas in der Art) als Integer.
Dieser Wert wird als Startwert genommen und nachdem ein paar Mathematische Operationen mit gewissen Konstanten drauf angewendet wurden hast du deine 1. Zufallszahl.

Falls dus noch nicht gelesen hast (da sind auch Algorithmen verlinkt mit denen solche Zufallszahlen generiert werden können):
https://de.wikipedia.org/wiki/Zufall...lengeneratoren

kenshin3672 7. Nov 2016 17:30

AW: Zufallsgenerator
 
oh.. :D danke
hab einen artikel gefunden wo RandSeed etwas schwieriger aufgerufen und geändert wird aber das es auch einfach nur ne globale var is is auch schön ^^

Neutral General 7. Nov 2016 17:32

AW: Zufallsgenerator
 
Hab grad noch meinen Beitrag editiert, falls du den Link zu Wikipedia zum Thema noch nicht gesehen hast ;)

kenshin3672 7. Nov 2016 17:36

AW: Zufallsgenerator
 
^^ schon gestern angelesen. Danke nochmal für die Mühen und Antworten :) hat viel gebracht

jfheins 7. Nov 2016 18:51

AW: Zufallsgenerator
 
Zitat:

Zitat von kenshin3672 (Beitrag 1352911)
Mir geht es nur darum den RandSeed zu ändern und rein theoretisch nachzuweisen das die zufallszahlen von eben diesen Wert abhängen. Das es in der Praxis auch die gleichen werte sein können sei da hingestellt ^^ geht nur um das Prinzip das wenn sich mein RandSeed ändert sich auch mein Startwert ändert und so andere Zufallszahlen entstehen können.

Das kannst du auch "praktisch" nachweisen. Wenn du 1000 Mal den RandSeed zuweist und 10 Zufallszahlen ziehst, werden diese stets identisch sein. Sobald du einen anderen RandSeed zuweist, werden sie garantiert nicht identisch sein.
Du kannst dir Random() so vorstellen, dass es eine gemischte Liste von Zahlen hat, die 2^32 Elemente lang ist. Der RandSeed ist der Index des Elements wo die erste Zufallszahl gezogen wird. Jedes Random gibt dir das Element zurück (ggf. mod Maximalwert) und setzt den Index ein weiter.

Zitat:

Zitat von kenshin3672 (Beitrag 1352911)
Weil theoretisch wäre es ja dann möglich (wenn RandSeed und Startwert bekannt sind) voraus zu sehen welcher Wert als nächstes erscheinen wird (auch wenn es da immernoch einen gewissen Raum für Ergebnisse gibt).

Das geht auch in der Praxis. Siehe zum Beispiel diesen Thread: http://www.entwickler-ecke.de/viewto...=680027#680027
==> Wenn du von dem Delphi-Zufallsgenerator 100 Zahlen zwischen 0 und 255 ziehst, genügen die ersten 8 Zahlen locker um die ganze folgende Sequenz vorherzusagen.

kenshin3672 7. Jan 2017 11:51

AW: Zufallsgenerator
 
Guten Tag,

habe eine fortsetzende Frage zu dem Thema Zufallsgenerator bzw zu der Auswertung der Ergebnisse.
Habe den zufallsgenerator bzw die blackbox "randomize" und nutze RandSeed zum beeinflussen wenn nötig. Das erstmal zu dem was ich gemacht habe.
Meine weitere Aufgabe ist es jetzt min. 5000 ergebnisse ausgeben zu lassen und die in einer INI.Datei zu speichern.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  Ini: TIniFile;
A1 : Integer;
begin

 Ini:=TIniFile.Create('C:Zufallszahlen.ini');
   try
  //befehle die ausgeführt werden sollen
   randomize;

begin
A1 := random(10);
Ini.WriteInteger ('Section1','zahl1',A1);
end;
  finally
    Ini.Free;
  end;
end;


end.
Das erstellen und übertragen eines einzelnen Wertes bzw ergebnis funktioniert und könnte jetzt auch 5000 weitere auf die art machen wäre mir aber zu zeitaufwendig von daher meine frage: Wie kann man diese möglichkeit umgehen?

Versucht habe ich auch schon einfach eine 2. Variable hochzählen zu lassen allerdings gibt es da ein Problem bei der Übertragung in die INI.Datei.


Edit:Hatte auch schon an ein Array gedacht weiß allerdings nicht wirklich wie ich das umsetzen soll.
Nutze übrigens Notepad++ um die Daten zu speichern (kann aber auch gerne was anderes sein)

Würde mich über hilfreiche Antworten freuen :)

mit freundlichen Grüßen
kenshin3672

a.def 7. Jan 2017 12:50

AW: Zufallsgenerator
 
Hat euch euer Lehrer noch nix von Schleifen erzählt?

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
 Ini: TIniFile;
 i: Integer;
begin
 Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Zufallszahlen.ini');
 
 try
  Randomize;

  // Die Variable A1 kann man sich sparen
  for i := 1 to 5000 do
   Ini.WriteInteger('Zufallszahlen', 'Zahl' + IntToStr(i), Random(10))
 finally
  Ini.Free;
 end;
end;

{*

[Zufallszahlen]
Zahl1=8
Zahl2=2
Zahl3=4
usw.

*}

kenshin3672 7. Jan 2017 12:54

AW: Zufallsgenerator
 
Mein Lehrer hat damit wenig zu tun ^^ ist ne abituraufgabe die ich von der Schulleitung bekommen habe :3

hatte auch ne schleife anfangs drin aber die hat die werte nur immer wieder überschrieben ohne das irgendwas geliefert wurde von daher habe ich das wieder verworfen.

Danke für deine Hilfe


mit freundlichen Grüßen
kenshin3672

a.def 7. Jan 2017 15:06

AW: Zufallsgenerator
 
Naja. Man muss in der Schleife natürlich auch den aktuellen Durchgang abarbeiten.

Folgendes wird nie was
Delphi-Quellcode:
for i := 0; 1 to 5000 then
 Ini.WriteInteger('Zufallszahlen', 'Zahl1', Random(10));
Da würde man ja 5000x "Zahl1" schreiben.

Daher
Delphi-Quellcode:
'Zahl' + IntToStr(i)
und alles funktioniert. Man muss nur die Zählervariable auswerten.

Ich weiß nicht ab wann TMemIniFile kompatibel ist. Aber mach doch Folgendes das sollte einen Mü schneller sein
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
 Ini: TCustomIniFile;
 i: Integer;
begin
 Ini := TMemIniFile.Create(ExtractFilePath(Application.ExeName) + 'Zufallszahlen.ini');
 
 try
  Randomize;

  // Die Variable A1 kann man sich sparen
  for i := 1 to 5000 do
   Ini.WriteInteger('Zufallszahlen', 'Zahl' + IntToStr(i), Random(10))
 finally
  Ini.UpdateFile; // <= WICHTIG (siehe unten)
  Ini.Free;
 end;
end;
Bei TIniFile wird bei "Write" immer sofort in die Datei geschrieben.
Bei TMemIniFile wird soweit ich weiß erst alles im Speicher vorbereitet und erst bei Aufruf von Ini.UpdateFile; auf die Festplatte geschrieben.

kenshin3672 29. Jan 2017 13:59

AW: Zufallsgenerator
 
Guten Tag,

im weiteren Verlauf der Programmierung würde ich jetzt gerne "beweisen" das ich RandSeed mit
Delphi-Quellcode:
RandSeed := 1;
zuweise.
also habe ich ein quellcode aus einem Forum (an der stelle nochmal danke) genutzt um den RandSeed aufzuspüren. Bei diesen quellcode gebe ich die ersten "Zufallszahlen" in ein array [0..32] und theoretisch sollte dann auch der RandSeed ausgerechnet werden.
Allerdings bekomme ich immer die fehlermeldung: Anzahl der Elemente ist von der Deklaration unterschiedlich.

Hier mal der Quellcode:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var T: TDateTime;
    C: Int64;
    S: Integer;
    W: Byte;
    H: Cardinal;
    F: Boolean;
const Start = - MaxInt;
ZF: Array[0..32] of Byte = (8, 1, 9, 1, 1, 8, 4, 0, 3, 9, 5, 0, 0, 2, 3, 1, 8, 9, 3, 7, 9, 6, 7, 6, 3, 8, 9, 5, 7, 1, 4, 7);
begin
//find start seed and "last" seed
T := Now;

RandSeed := Start;
C := 0;

repeat
  S := RandSeed;
  For H:=Low(ZF) to High(ZF) do
    begin
    W := Random(10);
    F := (W=ZF[H]);
    if not F then break;
    end;
  inc(C);
until
  (RandSeed=Start) or F;

T := Now - T;
Showmessage(  'Needed Time: ' + FormatDateTime('hh:nn:ss.zzz', T) +#13#10+
              'Needed Runs: ' + IntToStr(C) +#13#10 +
              'Last Seed: ' + IntToStr(RandSeed) +#13#10+
              'StartSeed: ' + IntToStr( S ) );
end;

end.
Fehlermeldung erfolgt beim Array.
Mein Problem ist jetzt halt denkbar einfach die Fehlermeldung und die Tatsache das ich sie nicht wegbekomme :§ würde mich über Tipps freuen.


mit freundlichen Grüßen
kenshin3672

bnreimer42 29. Jan 2017 14:10

AW: Zufallsgenerator
 
Werte von 0 bis 32 währen nach meiner Berechnung 33 Werte.
In der Liste zähle ich 32.

kenshin3672 29. Jan 2017 14:12

AW: Zufallsgenerator
 
wenn das jetzt stimmt und alles behebt haste was verdient :D sitz da seit 2 tagen dran und versteh es nich

Neutral General 30. Jan 2017 09:39

AW: Zufallsgenerator
 
Zitat:

Zitat von kenshin3672 (Beitrag 1360254)
wenn das jetzt stimmt und alles behebt haste was verdient :D sitz da seit 2 tagen dran und versteh es nich

Anzahl der Elemente ist von der Deklaration unterschiedlich.

sagt doch eigentlich ganz genau was das Problem ist ;)
Da hättest du auch auf die Idee kommen können mal nachzuzählen :P

p80286 30. Jan 2017 10:49

AW: Zufallsgenerator
 
Zitat:

Zitat von Neutral General (Beitrag 1360315)
Da hättest du auch auf die Idee kommen können mal nachzuzählen :P

Nee, Du sitzt da und fragst Dich was das soll, weil Du hast doch 32 Einträge.
Daß Du 33 durch 0..32 definiert hast, daran denkst du nicht.

Gruß
K-H

madas 30. Jan 2017 13:21

AW: Zufallsgenerator
 
Zitat:

Zitat von kenshin3672 (Beitrag 1360254)
wenn das jetzt stimmt und alles behebt haste was verdient :D sitz da seit 2 tagen dran und versteh es nich

Ne Suche nach der Fehlermeldung hätte es auch getan.

bazinga

Neutral General 30. Jan 2017 13:27

AW: Zufallsgenerator
 
Zitat:

Zitat von p80286 (Beitrag 1360332)
Nee, Du sitzt da und fragst Dich was das soll, weil Du hast doch 32 Einträge.
Daß Du 33 durch 0..32 definiert hast, daran denkst du nicht.

Daran musst du nicht mal denken weil die Fehlermeldung dir explizit sagt, dass du mehr oder weniger Elemente im Array hast als definiert.
Und wenn dir die Fehlermeldung das schon so sagt, dann lohnt es sich wahrscheinlich nochmal nachzuzählen ;) Also keinen Grund für 2 Tage Ratlosigkeit :duck:

himitsu 30. Jan 2017 14:15

AW: Zufallsgenerator
 
Zitat:

Zitat von Neutral General (Beitrag 1360373)
Daran musst du nicht mal denken weil die Fehlermeldung dir explizit sagt, dass du mehr oder weniger Elemente im Array hast als definiert.

Kommt drauf an.
Tut Lazaru/FreePascal das auch?
Und ich glaube mich zu erinnern, daß ältere Delphis früher auch nicht die Anzahl genannt hatten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr.
Seite 1 von 2  1 2      

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