![]() |
Zufallszahl erzeugen und den Wert in Label anzeigen
hi
ich habe einen button und ein label wenn ich nun auf den button klicke soll über random eine zahl zwischen 1 und 3 herrauskommen benutze ich bei button.klick aber nun folgenden code:
Delphi-Quellcode:
so wird angezeigt das string nicht zu integer64 passt
label1.caption := round(random*3);
wie kann ich das beheben? [edit=SirThornberry]aussagekräftigen Titel vergeben - Mfg, SirThornberry[/edit] |
Re: Simple frage zur ramdom ausgabe
Du musst den Integer in einen String wandeln und random richtig verwenden. :-D
Delphi-Quellcode:
Im Form.Create randomize; aufrufen.
label1.caption := IntToStr(random(3));
|
Re: Simple frage zur ramdom ausgabe
Hi,
Erster Fehler:
Delphi-Quellcode:
Du weist einem String einen Integer zu, also inkompatibele Typen.
label1.caption := round(random*3);
Richtig währe es einem String einen Stringtypen zu zuweisen:
Delphi-Quellcode:
Nun zu dienem "zahl zwischen 1 und 3"-Problem, random(X)
label1.caption := IntToStr( round(random*3) );
gibt eine zahl zwischen Null und kleiner X zurück. Richtig müsste es demnach heissen:
Delphi-Quellcode:
label1.caption := IntToStr( 1 + random(3) );
|
Re: Simple frage zur ramdom ausgabe
Der Vollständigkeit halber
Delphi-Quellcode:
Random(x) ergibt x Zufallszahlen, beginnend bei 0
Label1.Caption := IntToStr(Random(3) + 1);
€: Ok, war einer schneller... sollte nicht nebenher TV schauen ;) |
Re: Simple frage zur ramdom ausgabe
ok das problem ist behoben und ich bleibe ruhig bei 0-2 das ist egal ich brauche nur 3 verschiedene ;)
nun zum nächsten: mein problem liegt darin, dass ich gerne in den im quelltext erläuterten logs nicht die zahlen 0, 1 und 2 stehen haben möchte sondern die farben grün für 0, 1 für gelb und 2 für rot als worte gleichzeitig sollen die labels zu den worten die passende farbe erhallten klartext: random zahl ist zum beispiel=1 und ich drücke auf log momentan= im passenden label erscheint die zahl 1 gelogt so wie es sein soll= das passende label erhällt die farbe gelb und als labeltext steht 'Gelb' wie ist das machbar? erstmal mein quelltext mit hoffentlich guter erklährung:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Label9.caption := IntToStr(random(3)); end; procedure TForm1.FormCreate(Sender: TObject); begin randomize; end; //gut das kommt ja von euch fürs random procedure TForm1.Neu1Click(Sender: TObject); begin label1.caption := ''; label2.caption := ''; label3.caption := ''; label4.caption := ''; label5.caption := ''; label6.caption := ''; label7.caption := ''; label8.caption := ''; end; //das hier löscht meine logs die logs werden gleich erklährt {nun folgend sind buttonklicks die die zahl, die gerade als random in label 9 ausgegeben wurde in ein log-label eingibt,wie ein speicherplatz} procedure TForm1.Button2Click(Sender: TObject); begin label1.caption := label9.caption; end; procedure TForm1.Button3Click(Sender: TObject); begin label2.caption := label9.caption; end; procedure TForm1.Button4Click(Sender: TObject); begin label3.caption := label9.caption; end; procedure TForm1.Button5Click(Sender: TObject); begin label4.caption := label9.caption; end; procedure TForm1.Button6Click(Sender: TObject); begin label5.caption := label9.caption; end; procedure TForm1.Button7Click(Sender: TObject); begin label6.caption := label9.caption; end; procedure TForm1.Button8Click(Sender: TObject); begin label7.caption := label9.caption; end; procedure TForm1.Button9Click(Sender: TObject); begin label8.caption := label9.caption; end; |
Re: Simple frage zur ramdom ausgabe
könntest du bitte für eine neue Frage ein neues Thema aufmachen? Bei der jetzigen Frage ist bereits das Problem das der Titel recht wenig über das Problem aussagt. Wenn du jetzt eine weitere Frage stellst und der Titel nichts über das Problem aussagt findet jemand mit gleichem Problem über die Suche nichts. Daher mache bitte pro Frage ein neues Thema auf und verwende einen aussagekräftigen Titel. Danke :)
|
Re: Zufallszahl erzeugen und den Wert in Label anzeigen
ich habs in nem neuen mit titel ausgemacht dann kann das hier geschlossen werden
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 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