AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Zufallszahl erzeugen und den Wert in Label anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Zufallszahl erzeugen und den Wert in Label anzeigen

Ein Thema von Say1k · begonnen am 4. Jul 2009 · letzter Beitrag vom 4. Jul 2009
Antwort Antwort
Say1k

Registriert seit: 15. Mai 2009
49 Beiträge
 
#1

Zufallszahl erzeugen und den Wert in Label anzeigen

  Alt 4. Jul 2009, 22:41
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:
label1.caption := round(random*3); so wird angezeigt das string nicht zu integer64 passt

wie kann ich das beheben?

[edit=SirThornberry]aussagekräftigen Titel vergeben - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Simple frage zur ramdom ausgabe

  Alt 4. Jul 2009, 22:46
Du musst den Integer in einen String wandeln und random richtig verwenden.

label1.caption := IntToStr(random(3)); Im Form.Create randomize; aufrufen.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Simple frage zur ramdom ausgabe

  Alt 4. Jul 2009, 22:50
Hi,

Erster Fehler:
label1.caption := round(random*3); Du weist einem String einen Integer zu, also inkompatibele Typen.

Richtig währe es einem String einen Stringtypen zu zuweisen:
label1.caption := IntToStr( round(random*3) ); Nun zu dienem "zahl zwischen 1 und 3"-Problem, random(X)
gibt eine zahl zwischen Null und kleiner X zurück.

Richtig müsste es demnach heissen:
label1.caption := IntToStr( 1 + random(3) );
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Simple frage zur ramdom ausgabe

  Alt 4. Jul 2009, 22:52
Der Vollständigkeit halber
Label1.Caption := IntToStr(Random(3) + 1); Random(x) ergibt x Zufallszahlen, beginnend bei 0

€: Ok, war einer schneller... sollte nicht nebenher TV schauen
  Mit Zitat antworten Zitat
Say1k

Registriert seit: 15. Mai 2009
49 Beiträge
 
#5

Re: Simple frage zur ramdom ausgabe

  Alt 4. Jul 2009, 23:11
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;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Simple frage zur ramdom ausgabe

  Alt 4. Jul 2009, 23:14
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
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Say1k

Registriert seit: 15. Mai 2009
49 Beiträge
 
#7

Re: Zufallszahl erzeugen und den Wert in Label anzeigen

  Alt 4. Jul 2009, 23:20
ich habs in nem neuen mit titel ausgemacht dann kann das hier geschlossen werden
  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 20:33 Uhr.
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