Autor |
Beitrag |
Bob
      
Beiträge: 19
|
Verfasst: Mi 19.04.06 15:37
Servus;)
Ich versuch grad ne Art WM-Tippspiel mit Delphi zu machen. Dazu gehört natrülich,dass die Ergebnisse zufällig gewählt werden wenn man auf den Button klickt. Mein Problem ist jetzt,dass ich es nicht hinbekomme, dass in den Editfeldern die Zahlen zufällig auftreten. Ich hab zwar eine Random-Funktion ausproiert,aber das ist eine wo dann ein Text überall erscheint oder wo der irgendwo erscheint. Aber cih finde nicht dazu, wie man zufällige Zahlen in Editfelder schafft...kann mir jemand helfen oder en Tipp geben?
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 19.04.06 15:39
Moin und  im Forum!
Zeig doch mal etwas Code oder sag uns, was du bisher gemacht hast und was nicht klappt, bzw. wie du es gerne machen möchtest; so können wir dir nicht helfen, weil du zu wenig Details geliefert hast...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
der Berliner
      
Beiträge: 417
Win Xp Home
delphi 2005
|
Verfasst: Mi 19.04.06 15:46
_________________ [b]Ich weiß nicht immer, wovon ich rede. Aber ich weiß, dass ich recht habe.[b]
|
|
Philipp_Reitter
      
Beiträge: 430
|
Verfasst: Mi 19.04.06 15:56
probiers mal damit....
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| randomize; zahl:=random(deinezahl); edit1.text:= inttostr(zahl); |
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Mi 19.04.06 16:14
Also danke schon mal für die zahlreichen Antworten
DIe Random-Funtkion die ich gemeint hatte war die die unten im Quelltext ist.Hab halt noch nciht viel gemacht. Hab SPiele auf die Oberfläche geschrieben,die Editfelder erstellt und dann soll es eben für richtige Tipps Punkte geben...Bilder sollen ab eienr gewissen Punktzhahl erscheinen...aber erstmal muss ich eben Ergebnisse vorliegen haben damit die anderen Sachen ermöglicht werden können
Also danke schonmal für die Hilfe,ich probier das mal aus im Laufe des Tages un gebe dann mal Bescheid wie es aussieht
PS: Wollt Quelltext hinzufügen...weiß net obs klappt bzw man dies macht. Wenn es net geht,das ist der Quelltext der RandomFunktion die ich benutzt habe:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var
I: Integer; begin Randomize; for I := 1 to 50 do begin Canvas.TextOut(Random(Width), Random(Height), 'Fang mich!'); end; end; |
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Fr 21.04.06 15:18
|
|
bs-Hobbit
      
Beiträge: 46
Windows Xp (Home/Prof.), Windows Server 2003, Linux
D7,D2005
|
Verfasst: Fr 21.04.06 15:41
Delphi-Quelltext 1: 2:
| If edit1.text = edit2.text then labe11.caption := IntToStr(punkte); |
wobei Punkte eine variable vom Typ Integer/byte/word/cardinal/u.a. ist
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Di 25.04.06 20:31
Danke für den Tipp..einmal hat es auch geklappt...nur dann irgendwie nicht mehr...
Mein Quelltext waroder ist:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| If edit1.text = edit9.text then label25.caption := IntToStr(5) else label25.caption := IntToStr(0);
If edit5.text = edit13.text then label30.caption := IntToStr(5) else label30.caption := IntToStr(0);
If edit2.text = edit10.text then label26.caption := IntToStr(5) else label26.caption := IntToStr(0); |
der zeigt mir wenn ich aber die Tipps eingegeben habe und die Zufallsergebnisse erscheinen immer die 0 an. Aber irgendwie ging es schon einmal...?
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Di 02.05.06 20:56
Hat niemand vllt ne Idee woran liegts? 
|
|
DnC
      
Beiträge: 98
XP
Delphi 3,6,7,2005 PE
|
Verfasst: Di 02.05.06 21:21
ich seh erstmal keinen Fehler
ganz sicher, dass du richtig getippt hast?
dann wärs ja logisch
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Di 02.05.06 21:23
Also wie gesagt..er compaliert...nur auch wenn die Ergebnisse übereinstimmen zeigt er null Punkte an...
|
|
DnC
      
Beiträge: 98
XP
Delphi 3,6,7,2005 PE
|
Verfasst: Mi 03.05.06 14:47
zeige mal den Rest des Quellcodes
|
|
chriss1988
      
Beiträge: 389
windows xp prof,home,windows98
delphi5
|
Verfasst: Mi 03.05.06 14:53
versuchs mal so
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TSingleplayergame.Button1Click(Sender: TObject); begin randomize; Zahl:=random(7); edit2.text:=floattostr(zahl);
spielzahl:=strtofloat(edit1.text); if spielzahl=Zahl then begin Spielerpunkte:=Spielerpunkte+1; label4.caption:=floattostr(Spielerpunkte); end;
if Spielerpunkte=5 then showmessage(panel1.caption+' hat gewonnen'); end; |
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Fr 05.05.06 13:56
@DnC:
Also sehr viel mehr Quelltext hab ich kaum..davor halt was...der vollständige ist:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45:
| procedure TForm1.Button1Click(Sender: TObject); begin Edit9.Text:=IntToStr(Random(5)); Edit10.Text:=IntToStr(Random(5)); Edit11.Text:=IntToStr(Random(5)); Edit12.Text:=IntToStr(Random(5)); Edit13.Text:=IntToStr(Random(5)); Edit14.Text:=IntToStr(Random(5)); Edit15.Text:=IntToStr(Random(5)); Edit16.Text:=IntToStr(Random(5)); If edit1.text = edit9.text then label25.caption := IntToStr(5) else label25.caption := IntToStr(0);
If edit5.text = edit13.text then label30.caption := IntToStr(5) else label30.caption := IntToStr(0);
If edit2.text = edit10.text then label26.caption := IntToStr(5) else label26.caption := IntToStr(0);
If edit6.text = edit14.text then label31.caption := IntToStr(5) else label31.caption := IntToStr(0);
If edit3.text = edit11.text then label27.caption := IntToStr(5) else label27.caption := IntToStr(0);
If edit7.text = edit15.text then label32.caption := IntToStr(5) else label32.caption := IntToStr(0);
If edit4.text = edit12.text then label28.caption := IntToStr(5) else label28.caption := IntToStr(0);
If edit8.text = edit16.text then label33.caption := IntToStr(5) else label33.caption := IntToStr(0);
end;
end. |
@Chris:
Hab ich mal auf die Schnelle ausprobiert,hat aber noch nicht geklappt weil ich dann ja im Prinzip das Gerüst des Quelltexts umändern muss.Dauert bestimmt nicht so lang aber hab ich noch nicht geschafft.
Aber ich find der sieht gut aus vor allem dass dann diese Nachricht erscheint "hat gewonnen",da ich so was auch machen wollte bei einer bestimmen Punktzahl...
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Mo 08.05.06 20:53
Alsoooo..des mit den Punkten hab ich hinbekommen:)hab nur noch ein Problem...ich will,dass das programm jetzt die Teilpunkte zusammenaddiert...tut es aber nicht richtig...sondern es schreibt nur die Zahlen nebeneinander...weiß jemand wie man das beheben kann...?
|
|
DelphiAnfänger
      
Beiträge: 112
Win XP, Firefox 2.0, IE6
Delphi 5 Prof., Delphi 2005 PE
|
Verfasst: Mo 08.05.06 21:06
was hast du denn probiert was nicht geklappt hat?
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Mo 08.05.06 21:10
Ich habe zum Beispiel geschrieben:
label1.caption + label2.caption + label3.caption usw...
beispiel is dann:
5 + 0 + 5
und statt er addiert und 10 schreibt schreibt er:
505...
|
|
DelphiAnfänger
      
Beiträge: 112
Win XP, Firefox 2.0, IE6
Delphi 5 Prof., Delphi 2005 PE
|
Verfasst: Mo 08.05.06 21:28
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Mo 08.05.06 21:46
Ok...danke schön...muss ich dann mal probieren morgen 
|
|
Bob 
      
Beiträge: 19
|
Verfasst: Do 18.05.06 16:46
Also ich bin jetzt eigentlich so gut wie fertig:) Danke schon mal an alle die mir mal irgendwie geholfen haben. Nur ein Problem hab ich noch.
Ich möchte am ende jetzt eine while Schleife einbauen die wie folgt aussieht:
Delphi-Quelltext 1: 2: 3:
| while StrToFloat(label34.caption) >=15 do
Image1.Picture.LoadFromFile('pokal.bmp'); |
Das heisst ja wenn laben34.caption größer gleich 15 ist, dass dann das Bild erscheinen soll.Nur sobald die Zahl größer gleich 15 ist, hängt sich das programm auf und ich kann nur Programm zurück setzen machen. Wenn ich allerdings diesen Befehl außerhalb der Schleife verwende, dann funkitoniert es...hat jemand eine Idee woran es liegen kann?
|
|