AGB  ·  Datenschutz  ·  Impressum  







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

Zufallsbuchstabe-Array Fehler

Ein Thema von Dunkelbunt27 · begonnen am 18. Feb 2011 · letzter Beitrag vom 18. Feb 2011
Antwort Antwort
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Zufallsbuchstabe-Array Fehler

  Alt 18. Feb 2011, 16:02
Ich meine, du hast Zeilen und Spalten vertauscht. Probier doch mal aus, was passiert, wenn du die Anzahl der Spalten gleich der Anzahl der Zeilen setzt, dann sollte es eigentlich funktionieren.

Schau dir das mal genauer an:

SetLength(buchstabe,Anzahlzeilen,Anzahlspalten);
In erster Dimension hast du "AnzahlZeilen" an Elementen, in zweiter Dimension "AnzahlSpalten". In deiner Schleife machst du folgendes:
Delphi-Quellcode:
for i := 0 to AnzahlSpalten -1 do
    for n := 0 to AnzahlZeilen -1 do
      begin
          //...
          buchstabe[i,n].Zeichen := Char(RandomZeichen); // i ist erste Dimension, n zweite !!!!
      end;
i iteriert über die erste Dimension. Du gehst bis "AnzahlSpalten" -1, hast aber bloß "AnzahlZeilen" Elemente. Das gleiche gilt für n. Wenn "AnzahlZeilen" <> "AnzahlSpalten" dann kracht es irgendwann unweigerlich...
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#2

AW: Zufallsbuchstabe-Array Fehler

  Alt 18. Feb 2011, 16:05
JAWOLL! Das funktioniert supi!
Es ist nur etwas komisch, dass nicht jedes Zeichen "radom" ist sondern viele zeichen untereinander(eigentlich alle) gleich sind.
Das ist jetzt aber nicht DAS Problem.. vielleicht ist es unvermeindlich, ich miene außer Randomize gibt es ja nichts mir bekanntes...

DANKE erstmal!
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Zufallsbuchstabe-Array Fehler

  Alt 18. Feb 2011, 16:13
Bitte
Das Problem mit dem "falschen Zufall" liegt daran, dass du in jedem Schleifendurchgang randomize erneut aufrufst. Dies macht man allerdings nur an einer Stelle im Programm, idealerweise gleich im OnCreate deines Formulars. Gibt hier in der DP auch einige Threads darüber. Also randomize aus der Schleife rausschmeißen und ins OnCreate reinpacken, dann sollte alles wie gewünscht funktionieren
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: Zufallsbuchstabe-Array Fehler

  Alt 18. Feb 2011, 17:17
Dazu noch ergänzend: Der Pseudo-Zufallszahlen-Generator hat die Logik, dass bei gleichem Eingang auch der Ausgang gleich ist. Da deine Schleife entsprechend schnell durchläuft und sich der Zufallszahlengenerator immer nach den seit 00:00 Uhr vergangenen vollen Sekunden richtet (bei Randomize), hast du für die gesamte Schleife den gleichen RandomSeed und damit ist die erste Zufallszahl nach Randomize() immer die gleiche.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz