Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi will randomzahlen aufaddieren (https://www.delphipraxis.net/14908-will-randomzahlen-aufaddieren.html)

gekmihesg 21. Jan 2004 20:25

Re: will randomzahlen aufaddieren
 
ich hab mir deinen ersten thread angeschaut und mir daraufhin ein spiel daraus gebastelt ;) die stelle die du meinst sieht bei mir so aus:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var zahl,i: integer;
begin
zahl:=strtoint(label1.Caption);
i:=random(5)+1;
if i = 1 then
    zahl:=0
else
  zahl:=zahl+i;
label1.Caption:=inttostr(zahl);
end;

Fedebolix 21. Jan 2004 20:29

Re: will randomzahlen aufaddieren
 
und so?

Delphi-Quellcode:
var zufallszahl, summe: integer;
begin
    summe:=0;
   randomize;
              zufallszahl:=random(6)+1;
              edit1.Text:=inttostr(zufallszahl);
   if zufallszahl = 1 then Summe:=0
  else Summe:=Inc(Summe, zufallszahl)
  edit2.Text:=inttostr(summe);

Fedebolix 21. Jan 2004 20:30

Re: will randomzahlen aufaddieren
 
oh, kannst du mir dasspiel vielleicht mal zukomm lassen?

Fedebolix 21. Jan 2004 20:39

Re: will randomzahlen aufaddieren
 
Zitat:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var zahl,i: integer;
begin
zahl:=strtoint(label1.Caption);
i:=random(5)+1;
if i = 1 then
    zahl:=0
else
  zahl:=zahl+i;
label1.Caption:=inttostr(zahl);
end;

ja, das haut hin, nur will ich, das die zahlen in einem weitern editfenster zusammengerechnet werden und die zahlen die gewürfelt werden, weiterhin so angezeigt erden

Fedebolix 21. Jan 2004 20:59

Re: will randomzahlen aufaddieren
 
so, jetzt habe iches geschaft!!!!!!!!

dank an alle

Delphi-Quellcode:
  var zahl,i: integer;
begin

zahl:=strtoint(edit2.text);

 randomize;
 i:=random(6)+1;
 edit1.Text:=inttostr(i);
  if i = 1 then
    zahl:=0
else
  zahl:=zahl+i;
edit2.text:=inttostr(zahl);
:thuimb:

negaH 21. Jan 2004 23:41

Re: will randomzahlen aufaddieren
 
Jetzt verstehe ich dein Problem :)

Nun deine Methode TForm1.Button1Click(Sender: TObject); ist ja Bestandteil eines Objectes -> TForm. Das was du anscheinend noch nicht weist ist das auch ein Object eigene Variablen deklarieren kann.
Statt also Summe, eg. Zahl, als Lokale Variable in der Methode .Button1Click() zu deklarieren, wird diese Variable als Feld des Objectes definiert. Das sieht dann so aus:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit2: TEdit;
   ...
    procedure Button1Click(Sender: TObject);
   ...
  private
    FSumme: Integer;
  protected
  public
  published
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  I := Random(5) +1;
  if I = 1 then FSumme := 0
    else Inc(FSumme, I);

  Edit2.Text := IntToStr(FSumme);
end;
Wie du siehst wurde FSumme als neues privates Feld der Klasse TForm1 definiert. Jedes Object vom Typ TForm1 enthält nun eine eigene Variable mit dem Namen FSumme. Diese existiert exakt so lange wie auch das Object existert. Alle Felder von solchen Objecten werden per default mit 0, nil, '' usw. initialisiert.
Innerhalb jeder Methode zur Klasse TForm1 kann man direkt auf diese Object-Felder zugreifen.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 Uhr.
Seite 2 von 2     12   

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