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 random() (https://www.delphipraxis.net/91964-random.html)

Die Muhkuh 12. Mai 2007 15:06

Re: random()
 
Delphi-Quellcode:
procedure TForm1.btnWuerfelnClick(Sender: TObject);
var
ergebnis, tmp : integer;
begin
tmp := StrToInt(edtAnzahl.text);

if tmp = 0 then
  ergebnis := Addieren
else
  ergebnis := tmp + Addieren;

edtAnzahl.Text := IntToStr(ergebnis);
end;

function TForm1.Addieren : integer;
begin
  Result := random(6)+1;
end;
Vermutlich willst du das.

Dr4ke 12. Mai 2007 15:12

Re: random()
 
Eben nicht ;D

Wenn das Textfeld leer ist und man "würfelt" kriegt man ne Fehlermeldung: " ist kein gültiger Integerwert.

Wenn ich vorher ne 0 reinschreibe gehts. Wie kann ich es anstellen das es leer ist und trotzdem kein Error kommt?

Die Muhkuh 12. Mai 2007 15:21

Re: random()
 
Delphi-Quellcode:
procedure TForm1.btnWuerfelnClick(Sender: TObject);
var
  ergebnis, tmp : integer;
begin
  if Trim(edtAnzahl.Text) = '' then
    tmp := 0
  else
    tmp := StrToInt(edtAnzahl.Text);

  ergebnis := tmp + Addieren;

  edtAnzahl.Text := IntToStr(ergebnis);
end;

Klaus01 12. Mai 2007 15:42

Re: random()
 
oder so:


Delphi-Quellcode:
procedure TForm1.btnWuerfelnClick(Sender: TObject);
var
  ergebnis,ErrorCode : integer;
begin
  val(edtAnzahl.text,ergebnis,ErrorCode);

if ErrorCode <> 0 then
  ergebnis := Addieren
else
  ergebnis := ergebnis + Addieren;

edtAnzahl.Text := IntToStr(ergebnis);
end;

function TForm1.Addieren : integer;
begin
  Result := random(6)+1;
end;
Grüße
Klaus

brechi 12. Mai 2007 15:47

Re: random()
 
Zitat:

Zitat von SnuffMaster23
Probier mal
Delphi-Quellcode:
function TForm1.Addieren : integer;
begin
  Result := random(6)+1;
end;
Addieren := random(6)+1; ist BASIC-Syntax ;)

Addieren := random(6)+1;
ist normale Pascal Syntax und macht keinen Unterschied zu Result := ...

Result gibt es erst ab Turbo Pascal ;)

himitsu 12. Mai 2007 15:48

Re: random()
 
gib mal 'nen Buchstaben ein ... dann gibt's wieder 'ne Fehlermeldung :zwinker:
dann lieber so ^^
Delphi-Quellcode:
procedure TForm1.btnWuerfelnClick(Sender: TObject);
var
  ergebnis : integer;
begin
  ergebnis := StrToIntDef(edtAnzahl.Text, 0) + Addieren;

  edtAnzahl.Text := IntToStr(ergebnis);
end;

In Zuweisung geht schon an den Funkionsnamen, nur kann man da nichts auslesen
Zitat:

Zitat von SnuffMaster23
Das Ergebnig dem Funktionsnamen zuzuweisen geht in Delphi (glaub ich) nicht oder wird jedenfalls nicht empfohlen.

Code:
function TForm1.Addieren : integer;
begin

  Addieren := 1;
  Addieren := [color=#ff0000][b]Addieren[/b][/color] + 1; // beim Roten wird die Function
                             // aufgerufen und nicht das Ergebnis ausgelesen
  Result := 1;
  Result := Result + 1;

end;

Die Muhkuh 12. Mai 2007 15:52

Re: random()
 
Zitat:

Zitat von himitsu
gib mal 'nen Buchstaben ein ... dann gibt's wieder 'ne Fehlermeldung :zwinker:
dann lieber so ^^

Auch nicht perfekt, man sollte erst gar nicht zulassen, dass man Buchstaben eintippen kann ;-)

Dr4ke 12. Mai 2007 16:07

Re: random()
 
Man kann keine Buchstaben eingeben, das Textfeld ist deaktiviert. ;)

So, mein Problem ist gelöst, danke an alle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 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