AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Addieren von Edits

Ein Thema von Ouou · begonnen am 17. Mär 2009 · letzter Beitrag vom 17. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2      
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#1

Addieren von Edits

  Alt 17. Mär 2009, 13:23
Mahlzeit,

hätte da mal ne frage und zwar,

besitze ich auf meinem formular 13 editfelder. jedesmal wenn ich in ein editfeld eine zahl schreibe und zum nächsten edit wechsel soll im edit13 die summe stehen, sodass sie immer addiert wird. also sprich im edit1 steht die zahl 5 und im edit2 die zahl 4, somit soll im edit13 dann die zahl 9 stehen. gibt man im edit3 dann wieder eine zahl ein, soll die summe von edit13 wieder mit der zahl von edit3 addiert werden.

durch einen klick auf einen button habe ich es hinbekommen will es aber so schaffen, dass das feld mit der summe immer gleich addiert wird sobald man das edit wechselt.

hoffe mal das ich es soweit verständlich erklärt habe.

mfg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Addieren von Edits

  Alt 17. Mär 2009, 13:28
Reagiere im .OnExit des Edits
Markus Kinzler
  Mit Zitat antworten Zitat
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#3

Re: Addieren von Edits

  Alt 17. Mär 2009, 13:52
habe es soweit hinbekommen nur beim löschen der zahlen kommt ein fehler und zwar steht da:

"im projekt...ist eine exception der klasse EConvertError mit der meldung "" ist kein gültiger integerwert aufgetreten.

kann da jemand nen rat geben was zu machen ist?

mfg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Addieren von Edits

  Alt 17. Mär 2009, 13:55
Nimm TryStrToInt() oder StrToIntDef()
Markus Kinzler
  Mit Zitat antworten Zitat
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#5

Re: Addieren von Edits

  Alt 17. Mär 2009, 14:22
sry aber irgendwie blick ich des net. ich versteh nicht was für ein parameter ich mit hinschreiben soll...
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Addieren von Edits

  Alt 17. Mär 2009, 14:23
Zitat von Ouou:
sry aber irgendwie blick ich des net. ich versteh nicht was für ein parameter ich mit hinschreiben soll...
Schonmal Parameternamen angeguckt?function StrToIntDef(const S: string; Default: Integer): Integer; S ist wie bei StrToInt, Default gibt - welch Wunder - den Defaultwert an, welcher bei einem fehlerhaften String zurückgegeben wird. In deinem Fall am besten 0!
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#7

Re: Addieren von Edits

  Alt 17. Mär 2009, 14:41
also irgendwie steh ich gerade aufm schlauch...

hab des jetzt so gemacht:

StrToIntDef(StrToInt(Edit1.Text,0)+(Edit2.Text,0)) ;

kommt gerade nicht auf die richtige lösung
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

Re: Addieren von Edits

  Alt 17. Mär 2009, 14:52
Hallo,
Zitat von Ouou:
also irgendwie steh ich gerade aufm schlauch...

hab des jetzt so gemacht:

StrToIntDef(StrToInt(Edit1.Text,0)+(Edit2.Text,0)) ;

kommt gerade nicht auf die richtige lösung
wie wäre es mit:
Delphi-Quellcode:
  StrToIntDef(Edit1.Text,0)
+ StrToIntDef(Edit2.Text,0)
+ StrToIntDef(Edit3.Text,0)
...
  Mit Zitat antworten Zitat
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, 14: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
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#10

Re: Addieren von Edits

  Alt 17. Mär 2009, 15:20
ok danke dir vielmals für den post hat mir sehr geholfen. aber eine frage hätt ich noch für son anfänger wie mir . und zwar wie weiss ich dann des ganze ein edit feld zu das mir da dann des ergebnis angezeigt wird.

mfg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz