![]() |
Zufallszahl generieren
Hallo,
ich such schon seit ner Ewigkeit den Fehler in diesem Quellcode:
Delphi-Quellcode:
Kann mir jemand helfen?
procedure TForm1.Button1Click(Sender: TObject);
var zahl:integer; begin randomize; zahl:=random(21); Label1.Caption:= zahl; end; end. Danke schon mal im Voraus nixalsverdruss PS:Die Zeile mit dem Label wird rot... |
Re: Zufallszahl generieren
Du weist einer String-Property einen Integer-Wert zu. Das geht in Delphi nicht (Typsicherheit)!!
Lösung: Typecasting -> IntToStr(zahl) |
Re: Zufallszahl generieren
Ahso...klar!!!!!! Kann ja im Label nur String wiedergeben :wall: :wall: :wall:
Danke! Ich hätt noch Stunden gesucht... |
Re: Zufallszahl generieren
Und bitte Randomize nur einmal aufrufen. Am besten beim Programmstart.
Zitat:
|
Re: Zufallszahl generieren
Hast du mal auf das Ausgabefenster (bei Turbo Delphi ist das ganz unten) geachtet? Da steht doch im Klartext, was der Fehler ist.
Übrigens sollte man "Randomize" nur einmal, z.B. im OnCreate, aufrufen und nicht bei jedem ButtonClick. Edit: zu spät... |
Re: Zufallszahl generieren
Zitat:
|
Re: Zufallszahl generieren
Natürlich ist IntToStr eine Variante expliziten Typecastings :shock:
Siehe dazu auch ![]() |
Re: Zufallszahl generieren
Na ja. Ich bleibe bei meiner Interpretation eines expliziten Typecasting:
Delphi-Quellcode:
Das geht in C# ebensowenig gut, wie in Java. Auch der englische Artikel legt jedoch nicht eindeutig fest, ob eine Konvertierung, bzw. Interpretation einer Zahl als Zeichenkette (IntToStr(123)=> '123' ist nur eine mögliche Interpretation, eine andere wäre IntToStr(123)='Einhundertdreiundzwanzig') auch ein Typecasting ist. Zumal Wikipedia schreibt:
String(anInteger)
Zitat:
|
Re: Zufallszahl generieren
Sind das dann alles Explizite Type Casts?
var s: string; i: Integer; begin i := 12345; s := IntToStr(i); // s = '12345'; s := IntToHex(i, 4); // s = '3039' s := string(i); // EAccessViolation end; Warum kommt dann aber immer was anderes Raus? Fällt dann die Funktion Format auch unter Type Casting? Was ist dann der Unterschied zwischen Type Casting und Type Conversion? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 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