Autor Beitrag
Trialtom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: Fr 13.06.03 13:10 
ich habe verschiedene timer (1 -5). dazu habe ich eine funktion die eine char variable namens Zahl ausgibt die in dieser function per zufallsgenerator 0 - 9 beträgt. nun soll ein array string (C) zu unterschiedlichen zeitabständen an unterschiedlichen stellen des strings diese verschiedenen zufallszahl en bekommen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.Timer2Timer(Sender: TObject);
var h:integer;
begin
for h:=0 to 33 do
C[h][1]:=Zahl;
end;

procedure TForm1.Timer4Timer(Sender: TObject);
var h:integer;
begin
for h:=0 to 33 do
C[h][3]:=Zahl;
end;

procedure TForm1.Timer5Timer(Sender: TObject);
var h:integer;
begin
for h:=0 to 33 do
C[h][4]:=Zahl;
end;

das problem ist, das die strings 0 bis 33 an den einzelnen stellen (z.b.2) immer die gleiche Zahl bekommen und keine unterschiedliche.

kann da jemand helfen?

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt. Titel geändert.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Fr 13.06.03 13:44 
Hi,

poste mal die Funktion mit dem Zufallsgenerator.

Hast Du auch den Zufallsgenerator mit Randomize initialisiert. Das sieht danach aus, dass Du das nicht gemacht hast. Das solltest z.B. im OnCreate Deiner Form tun. Nur dann kriegst Du jedesmal zufällige zahlen.

MFG

- Ernesto -
Trialtom Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: Mo 16.06.03 10:13 
ja das problem ist nicht das ich keine zufallszahlen bekomme. den an unterschiedlichen stellen sind auch unterschiedliche zahlen, aber zum beispiel ist an stelle 2 der ganzen strings von 0 bis 33 die gleiche zahl.

z.b.: 1. string --> 5764918
2. string --> 5764918
3. string --> 5764918
usw. ----> zu einem bestimmten zeitpunkt (z.b. nach 5 sekunden)

und dann werden die strings wieder verändert -->
1. string --> 0467283 2. string --> 0467283 3. string --> 0467283

mein ziel ist es nun das die einzelnen strings auch an den stellen unterschiedliche zahlen habe, aber möglichst mit der schon von mir vorprogrammierten form, d.h. was müsste ich in meiner timer1-5 procedure ändern das es geht?
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Mo 16.06.03 11:36 
du must die zufallsgenerator-funktion vor jedes mal vor dem einlesen der zahl aufrufen damit eine andere zufallszahl generiert wird:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Timer4Timer(Sender: TObject); 
var h:integer; 

begin 
for h:=0 to 33 do 
begin
dein_zufalssgenerator(zahl);
C[h][3]:=Zahl; 
end;
end;

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
Terra23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: Mo 16.06.03 12:40 
@Trialton: Vielleicht solltest du auch mal den Titel deines Threads ändern bzw. hinzufügen, daß es um Zufallszahlen geht. Ich bin hier jetzt auch nur zufällig rein, weil ich dachte, es geht um Timer (mein liebstes Thema @ Luckie :rofl:). Nun stelle ich fest, es geht um Zufallszahlen; sprich, ich kann nichts dazu beitragen. :-)

AUQ-Richtlinien hat folgendes geschrieben:

Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist. Eine Pseudocodezeile oder die Nennung des Objektes, um welches es sich in dem Beitrag handelt, helfen da schon mehr weiter.

_________________
Hasta La Victoria Siempre
Elayla
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Mo 16.06.03 15:23 
Haben die Timer alle das gleiche Intervall? Ansonsten würde ich die Variable "Zahl" mal bissl splitten... Zahl1 Zahl2 Zahl3 usw... Ansonsten rufst du ja immer das gleiche auf:
ausblenden Delphi-Quelltext
1:
Zahl := random(xx);					

Und siehe da, du hast immer die gleichen Strings :P Mach mal mehrere Variablen und ruf den Zufallsgenerator jedesmal im Timer auf.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.Timer2Timer(Sender: TObject); 
var h:integer; 
begin 
Zahl1:=random(10);
for h:=0 to 33 do 
C[h][1]:=Zahl1; 
end; 

procedure TForm1.Timer4Timer(Sender: TObject); 
var h:integer; 
begin 
Zahl4:=random(10);
for h:=0 to 33 do 
C[h][3]:=Zahl4; 
end; 

procedure TForm1.Timer5Timer(Sender: TObject); 
var h:integer; 
begin 
Zahl5:=random(10);
for h:=0 to 33 do 
C[h][4]:=Zahl5; 
end;

Und Randomize nicht vergessen, egal wo es steht. Am besten bei OnFormCreate oder wo du halt möchtest.

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.

_________________
Das wahre Ziel des Krieges ist der Frieden.
Sun Tzu
Trialtom Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: Mi 18.06.03 18:46 
ok sorry, ich habe mein titel nicht genau verfasst, wusste aber auch nicht wo das problem lag.
ich glaube jetzt weiß ich wo es liegt. danke an alle.