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 Taschenrechner bauen, Problem mit Addition (https://www.delphipraxis.net/147904-taschenrechner-bauen-problem-mit-addition.html)

Steve-0 18. Feb 2010 19:51

Re: Taschenrechner bauen, Problem mit Addition
 
Danke Fabian, das war sehr hilfreich :thumb: :thumb:

EDIT:
Hab jetzt bei private "d" deklariert, mit dem Datentyp "real". Wenn ich jetzt "d" aufrufe und "d" den Wert von "a" zuweise (a ist der Inhalt der Textbox zugewiesen) und dann einer weiteren Variablen "b" den neuen Inhalt der Textbox zuweise (So ists zumindest gedacht), dann addiert er zu dem Wert "a" nochmal "a" hinzu, also nimmt ax2.

Ich weiß, es ist sehr verwirrend, daher der Programmcode:
Delphi-Quellcode:
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
a:=StrToFloat (Edit1.Text); //a ist der Inhalt der Textbox
d:=a;                      //d soll den Wert von "a" zwischenspeichern
b:=StrToFloat (Edit1.Text); //b soll den Wert, der zu d hinzuaddiert werden soll aus der Textbox auslesen
end;



procedure TForm1.BitBtn4Click(Sender: TObject);
begin
c:=d+b;                     //d soll mit b addiert werden
Edit1.Text:= FloatToStr (c); //c soll das Ergebnis in der Textbox ausgeben
end;
Alle Variablen sind global deklariert

Delphi-Narr 18. Feb 2010 21:37

Re: Taschenrechner bauen, Problem mit Addition
 
In dem Fall ist d eigentlich überflüssig:

Delphi-Quellcode:
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
a:=StrToFloat (Edit1.Text); //a ist der Inhalt der Textbox und ist das Zwischenergebnis
b:=StrToFloat (Edit1.Text); //b soll den Wert, der zu a hinzuaddiert werden soll aus der Textbox auslesen
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
c:=a+b;                     //a soll mit b addiert werden
Edit1.Text:= FloatToStr (c); //c soll das Ergebnis in der Textbox ausgeben
end;

Wenn du das jetzt so machen würdest, brauchst du d nicht, du nimmst aber trotzdem a*2:

In einer Prozedur setzt du a und b auf den Inhalt des Edits, ohne das der Wert zwischendrin geändert werden kann...

Versuch mal das hier:

Delphi-Quellcode:
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
a:=StrToFloat (Edit1.Text); //a ist der Inhalt der Textbox und ist das Zwischenergebnis
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
b:=StrToFloat (Edit1.Text); //b soll den Wert, der zu a hinzuaddiert werden soll aus der Textbox auslesen
c:=a+b;                     //a soll mit b addiert werden
Edit1.Text:= FloatToStr (c); //c soll das Ergebnis in der Textbox ausgeben
end;

Liebe Grüße!


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

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