Thema: Delphi Addieren von Edits

Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#9

Re: Addieren von Edits

  Alt 17. Mär 2009, 15:58
HI Ouou,

Zitat von Ouou:
StrToIntDef(StrToInt(Edit1.Text,0)+(Edit2.Text,0)) ;
was soll denn das werden? Problem A: Die Syntax stimmt nicht. Problem B: Die Struktur ist auch noch nicht vorhanden. So viel zum negativen. Jetzt zum positiven:
Wenn du zwei Zahlen addieren willst, dann brauchst du eben nun mal Zahlen und keine Zeichenketten. So wie kommt man jetzt an die Zahlen ran?
Delphi-Quellcode:
procedure Add;
var
  Zahl1, Zahl2: Integer;
  Ergebnis: Integer;
begin
  Zahl1 := StrToInt(Edit1.Text);
  Zahl2 := StrToInt(Edit2.TExt);
  Ergebnis := Zahl1 + Zahl2;
end;
Soviel dazu. Jetzt gibts mehrere Möglichkeiten, wie du dein Problem mit den Nicht-Integerwerten behebst.
A) (so wirds bei uns im Info-Unterricht Klasse 11 gemacht)
Delphi-Quellcode:
procedure Add;
var
  Zahl1, Zahl2: Integer;
  Ergebnis: Integer;
begin
  try
    Zahl1 := StrToInt(Edit1.Text);
  except
    Zahl1 := 0;
  end;
  try
    Zahl2 := StrToInt(Edit2.TExt);
  except
    Zahl2 := 0;
  end;
  Ergebnis := Zahl1 + Zahl2;
end;
Das dürfte wohl das am einfachsten zu verstehen sein. Allerdings hoch rechenaufwendig und langsam. Schneller gehts so:
B)
Delphi-Quellcode:
procedure Add;
var
  Zahl1, Zahl2: Integer;
  Ergebnis: Integer;
begin
  Zahl1 := StrToIntDef(Edit1.Text, 0);
  Zahl2 := StrToIntDef(Edit2.TExt, 0);
  Ergebnis := Zahl1 + Zahl2;
end;
Hier wird versucht die Zeichenkette in eine Zahl umzuwandeln. Bei einem Fehler wird der Wert 0 genommen. Es kommt nie zu einer Exception, weshalb man die auch nicht abfangen muss.
Die Ausgabe wirst du wohl selbst realisieren können.

Bernhard

EDIT: Zu lahm...
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat