Problem mit Delphi (Taschenrechner)
Hallo, ich habe später vor Informatik zu studieren, also habe ich angefangen, eine programmiersprache zu lernen, und wählte Delphi aus. Bis jetzt war alles ok, ich wollte einen Taschenrechner, der addiert, subtrahiert, multipliziert und dividiert programmieren, also fing ich an mit der Arbeit. Habe fast alles hinbekommen, der Rechner addiert, subtrahiert und multipliziert Zahlen, doch er kann sie nicht dividieren. Ich bekomme immer einen Fehler : "Missing operator or semicolon"
Der Code ist:
procedure TForm1.Button3Click(Sender: TObject);
var
zahl1, zahl2, ergebnis: double;
begin
zahl1 := StrToFloat(Edit2.Text);
zahl2 := StrToFloat(Edit2.Text);
ergebnis := zahl1 / zahl2
Label2.Caption := FloatToStr(ergebnis);
end;
Bei dem Fehler wird die zeile mit "Label2.Caption := FloatToStr(ergebnis);" rot markiert, doch ich weiß nicht weiter, hier ist nich ein Screenshot.
Bitte um eure Hilfe, vielen Dank.
![Fehler - (programmieren, Delphi, Pascal)](https://images.gutefrage.net/media/fragen/bilder/problem-mit-delphi-taschenrechner/0_big.jpg?v=1303912295000)
4 Antworten
Weil bei der Zeile darüber das Semikolon am Ende fehlt, nach zahl2.
Richtig ist also:
ergebnis := zahl1 / zahl2;
Label2.Caption := FloatToStr(ergebnis);
Probier das mal:
Kann dir jetzt auch nicht weiterhelfen, weil mann es so nicht einsehen kann!!! Der Fehler kann auch woanders liegen!!! Was hast du den für eine Version von Delphi???
zahl1 := StrToFloat(Edit1.Text);
Vielen Dank für die Hilfe, ich habe tatsächlich zweimal den "Edit2.Text" benutzt, du hast mein zweites Problem gelöst. Hilfreicheste Antwort bekommt aber nicomeier333, da er schneller war. Aber trotzdem vielen vielen Dank.
Ein klassisches Informatikstudium hat aber wenig mit Programmieren zu tun. Das wirste zwar auch tun, aber mach dich auf eine Menge höherer Mathematik gefasst :)
In der Zeile:
ergebnis := zahl1 / zahl2 ein Semikolon ; setzen und dann funzt et...
...schon wieder war einer schneller...
Noch ein Tipp: setze Dich lieber mit C/C++/C# auseinander, wenn Du später einx ernsthaft programmieren willst ;-)
Das werde ich tun, aber ich dachte, das C# oder C++ für einen Einsteiger in die Programmierwelt zu kompliziert sein wird, also wollte ich erst was einfacheres, arbeit mit Delphi ist ziemlich einfach, aber nachdem ich es beherrscht habe, setze ich mich auf C++/C/C# um.
Hm ja, ich guck mal, wenn ich merke, dass ich Delphi soweit beherrsche, versuche ich 3D Engine noch hinzufügen, wenn alles in Ordnung wird, fang ich an mit C.
Könntest du mir bitte sagen - falls ich anfangen sollte- soll ich mit C, C' oder gleich mit C++ anfangen?
Danke für deine Antwort, ich hatte vor, dieses Buch zu kaufen: http://www.amazon.de/von-bis-umfassende-Handbuch-Computing/dp/3836214296/ref=pd_cp_b_1
Aber wenn du sagst, dass jetzt eher mit C# gearbeitet wird, dann suche ich nach etwas das mir bei C# weiterhilft. Dankeschön! :-)
Danke für deine Antwort, ich hatte vor, dieses Buch zu kaufen: http://www.amazon.de/von-bis-umfassende-Handbuch-Computing/dp/3836214296/ref=pd_cp_b_1
Aber wenn du sagst, dass jetzt eher mit C# gearbeitet wird, dann suche ich nach etwas das mir bei C# weiterhilft. Dankeschön! :-)
Danke sehr, ich habe es total übersehen. Es funktioniert (teilweise).
Aber jetzt hab ich noch ein Problem. Programm lässt sich zwar ausführen, doch das Ergebniss ist immer falsch, und bleibt konstant.
Also wenn ich in ersten Feld "12" eingebe, und in zweiten "2"
kommt beim dividieren "1" raus, auch wenn ich die Zahlen änder, bleibt die 1. Und das ist nur bei dividieren so, was habe ich falsch gemacht? Eignet sich etwa "real" nicht zum dividieren?