Entwickler-Ecke

Sonstiges (Delphi) - Zufallszahlen anzeigen lassen


ARUS - Do 25.01.07 17:04
Titel: Zufallszahlen anzeigen lassen
Moin,
wir fangen in Info gerade mit Delphi an. Nun sollen wir eine Zufallszahl generieren lassen.
Ich schmeiß Google an, da gibts auch gleich genug brauchbares... ne nicht wirklich: fast jeder Code wirft in Delphi rote Felder, Fehler und sonstwas auf.

Könnt ihr mir einen Code posten, der Zufallszahlen von 1-100 generiert UND auch anzeigen lässt. Mach ich das via Label? Was muss ich dem Label denn sagen, dass er eine Zufallszahl anzeigen soll?
mfg
ARUS :)


Moderiert von user profile iconjasocul: Topic aus VCL (Visual Component Library) verschoben am Do 25.01.2007 um 16:10


jakobwenzel - Do 25.01.07 17:12

Google is dafür nich wirklich gut, nimm lieber mal die Forensuche: Suche in: Delphi-Forum, Delphi-Library RANDOM


Robinator - Do 25.01.07 17:14

Hallo

Hier gehts nicht darum, dass dir jemand den fertigen code vorwirft, sondern darum zu helfen.
Ich werfe dir einfach mal zwei Schlüsselwörter zu, mit denen du dann eigentlich den Rest hinbekommen solltest.
Randomize; Random();

Gruss, rob


Zyklame - Do 25.01.07 17:14

Du verwendest zum generieren von Zufallszahlen am besten random(Zahl)
das gibt eine Ganzzahl (Integer) zwischen 0 und der angegebenen Zahl -1

in deinem fall also:

Delphi-Quelltext
1:
random(100) + 1                    


um es anzuzeigen wandelst du es dann mit IntToStr in einen string um und weisst es einem Label oder einer Editkomponente zu

zum Initialisieren von random wird randomize benutzt (am besten nur einmal nach Programmstart)


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
...
var
  Zahl : Integer;
begin
  randomize; // hier eigentlich unguenstig

  Zahl := random(100)+1;
  Label1.Caption := IntToStr(Zahl);
  Edit1.Text := IntToStr(Zahl);
end;


jasocul - Do 25.01.07 17:16

:welcome: in der Entwickler-Ecke

Fertigen Code wirst Du hier in aller Regel nicht bekommen. Insbesondere nicht, wenn es für die Schule/Hausaufgaben ist. Da bekommen die meisten im Forum nämlich fürchterlichen Ausschlag von :wink:

Du benötigst zum Initialisieren des Zufalssgenerators den Befehl Randomize. Den musst Du nur einmal im Programm aufrufen. Da bietet sich der Programmstart an (z.B. im Form.Create).
Um einzelne Zufallszahlen zu generieren, benötigst Du den Befehl Random. Den solltest Du einfach mal in der Delphi-Hilfe nachschlagen. Ich meine, dass dort sogar ein Beispiel existiert.

Ausgeben kannst Du das Ergebnis durchaus in einem Label. Du musst allerdings beachten, dass ein Lebal nur Strings aufnehmen kann und eine Zufallszahl ist eben kein String. Die muss erst umgewandelt werden. Dafür gibt es entsprechende Befehle (z.B. FloatToStr -> siehe Delphi-Hilfe).

Ich hoffe, die Informationen genügen, damit Du erstmal anfangen kannst.


ARUS - Do 25.01.07 17:19

wow das geht ja ratzfatz hier.
Also ich hab den Code mal reinkopiert, da spuckt Delphi aber auch wieder zig "Deklarationfehler" aus:
http://files.lueling.info/Schulkram/image129.jpg


jasocul - Do 25.01.07 17:22

Dann arbeite die Fehlermeldungen doch einfach ab. "Semikolen erwartet..." Was kann da wohl gemeint sein? Ein bisschen mehr Eigeninitiative bitte. :wink:


jakobwenzel - Do 25.01.07 17:22

Du kannst den Code nich einfach in ne neue Unit schreiben, sondern du musst das schon in deinen bestehenden Code einbauen.


jasocul - Do 25.01.07 17:25

Und ein Label auf die Form legen und das Edit-Feld nicht vergessen.

Hier mal ein ein Einführungskurs in Delphi:
http://www.christian-stelzmann.de/index-tutorials-crashkurs.html


rockminstrel - Do 25.01.07 17:32

Hallo,
das kann man ja nicht mit anschauen :hair:
bau in dein Formular ein Edit ein (wo kein Edit1, da kann er auch keins finden), selbes gilt vermutlich für Label1. Weiterhin musst du Befehle immer mit einem Semikolon abschließen ( ; ). Du solltest dich aber erst mal mit den Delphigrundlagen vertraut (z.B. hier http://www.christian-stelzmann.de/index_tutorials_crashkurs.html) machen, damit du sowas in Zukunft selbst machen kannst. :mahn: