![]() |
Rechenprogramm
Da ich noch ein absoluter anfänger in Delphi bin habe ich auch so eine Frage:
Ich will halt ein Rechenprogramm erstellen halt so was wie es den unter Windows schon installiert ist. Ich wollte erstmal mit etwas einfachen anfangen also wollt ich erstmal zwei eingabefelder erstellen und einen Label wo das Ergebnis zu sehen ist. Achja und einen Button halt der das ergebnis anzeigt auf dem Label. So alles wunderbar hab es gemacht so wie es in einen Turorial stand mit dem Code damit das Programm auch die beiden Eingaben Addiert. Sieht bei mir so aus:
Delphi-Quellcode:
ich habe es auch mit Variabel versucht aber das Programm rechnet das nicht aus sonder gibt mir auf dem Label die beiden Zahlen hintereinanderweg geschrieben.
Label3.Caption := Edit1.Text + Edit2.Text;
Also wenn ich in Feld 1 eingebe: 10 Und in Feld 2 eingebe: 10 Dann rechnet er nicht 10 + 10 und zeigt 20 an sonder er zeigt 1010 an. Achja ich benutze Delphi 2007. Ich hoffe jemand kennt die Antwort. |
Re: Rechenprogramm
Hallo,
zum Rechnen solltest Du die Strings in Edit1.Text und Edit2.Text erst einmal in Zahlen umwandeln. Das kannst Du mit StrToInt machen. Das Ergebnis solltest Du dann wieder in einen String wandeln z.B. mit IntToStr. Grüße Klaus |
Re: Rechenprogramm
Das ist ganz einfach:
Edit1.Text ist ein String, also eine Zeichenkette. Das heißt dass Delphi das Geschriebene nichta ls "echte" Zahlen, sondern nur als Zeichen behandelt und somit die beiden Strings der Edit-Felder aneinander packt. Um zu rechnen musst du den text in einen Zahlenwert umwandeln, z.b. in eine Ganzzahl (integer)
Delphi-Quellcode:
Wenn du es ausgeben möchtest musst du es genau umgekehrt machen, z.b.
Zahl1 := StrToInt(Edit1.Text);
Delphi-Quellcode:
Edit3.Text := InttoStr(Ergebnis);
|
Re: Rechenprogramm
Sieht bei mir jetzt so aus funktioniert aber trotzdem nicht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var zahl1, zahl2, ergebnis : integer; begin Zahl1 := StrToInt(Edit1.Text); Zahl2 := StrToInt(Edit2.Text); ergebnis := Zahl1+Zahl2; Label3.Caption := Inttostr(ergebnis); end; |
Re: Rechenprogramm
Was heißt "funktioniert nicht"? Der Code ist schonmal OK (von fehlenden Fehlerprüfungen abgesehen).
|
Re: Rechenprogramm
gibt er dir ne fehlermeldung oder was genau funktioniert nicht sollte nämlich eigentlich so laufen..
|
Re: Rechenprogramm
Ja der gibt trotzdem noch z.B. (10+10) = 1010 aus anstatt 20.
|
Re: Rechenprogramm
Hast Du auch neu kompiliert?
|
Re: Rechenprogramm
Ja kompilieren ist ja Programm Starten oder nicht. Also F9 bei delphi 2007
|
Re: Rechenprogramm
Lösch einfach mal die ".dcu"-Dateien aus dem ProjektOrdner.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr. |
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 by Thomas Breitkreuz