![]() |
[Rechentrainer] Fehlermeldungen
Hi Leute,
ich bin ein ziemlich blutiger Anfänger in Delphi, habe bisher nur Erfahrungen mit PHP und CSS gesammelt. Ich habe ein kleines Projekt angefangen. Es soll eine Art Rechentrainer werden, der einem immer zufällige Aufgaben stellt mit verschiedenen Einstellungsmöglichkeiten (Schwierigkeitsgrad usw) Jetzt kommen bei mir dummerweise ein Haufen unerklärlicher Fehlermeldungen:
Delphi-Quellcode:
Bei der Letzten If-Abfrage kommt folgende Fehlermeldung: [Fehler] Unit1.pas(131): Deklaration erwartet, aber Bezeichner 'eingabe' gefunden
procedure TForm1.okClick(Sender: TObject);
var ergebnis, Ezahl1, Ezahl2, eingabe : real; rechenart :string; begin Ezahl1 := StrToFloat(Zahl1.caption); Ezahl2 := StrToFloat(Zahl2.caption); rechenart := Rechenzeichen.caption; if rechenart = '+' then begin ergebnis := Ezahl1 + Ezahl2; end else begin if rechenart = '-' then begin ergebnis := Ezahl1 - Ezahl2; end else begin if rechenart = '*' then begin ergebnis := Ezahl1 * Ezahl2; end else begin ergebnis := Ezahl1 / Ezahl2; end end end end; eingabe := StrToFloat(Erg.caption); if input = ergebnis then begin info.Visible := True; info.caption := 'Das Ergebnis' input ' ist richtig!'; end else begin info.Visible := True; info.caption := 'Das Ergebnis ist falsch!!'; end; end; end; Woran liegt das? Hab ich mich mit den "end/;-s" vertan?? Wäre echt super, wenn ihr mir helfen könntet :o :-D Gruß Stef |
Re: [Rechentrainer] Fehlermeldungen
vielleicht ein 'end' zuviel oder zu wenig? (habs jetzt nicht gezählt)
Hinweis: besser formatieren (Einrückungen) erleichtert den Überblick ;) |
Re: [Rechentrainer] Fehlermeldungen
Ohje ... bitte versuch dich mal mit den
![]() Das ganze könnte dann wie folgt aussehen:
Delphi-Quellcode:
vorausgesetzt du verwendest auch noch die richtigen controls :wink: !
procedure TForm1.okClick(Sender: TObject);
var ergebnis, Ezahl1, Ezahl2, eingabe : real; rechenart :string; begin Ezahl1 := StrToFloat(Zahl1.text); Ezahl2 := StrToFloat(Zahl2.text); rechenart := Rechenzeichen.text; if rechenart = '+' then begin ergebnis := Ezahl1 + Ezahl2; end else begin if rechenart = '-' then begin ergebnis := Ezahl1 - Ezahl2; end else begin if rechenart = '*' then begin ergebnis := Ezahl1 * Ezahl2; end else begin ergebnis := Ezahl1 / Ezahl2; end end end; eingabe := StrToFloat(Erg.Text); if eingabe = ergebnis then begin info.Visible := True; info.caption := 'Das Ergebnis '+Erg.Text+' ist richtig!'; end else begin info.Visible := True; info.caption := 'Das Ergebnis ist falsch!!'; end; end; |
Re: [Rechentrainer] Fehlermeldungen
Ok, danke für die Antworten :)
Jetzt funktioniert es! Und das mit dem Formatieren werde ich mir mal zu Herzen nehmen =) Noch zwei andere Fragen:
Delphi-Quellcode:
-Damit sollte sich ja eigentlich die Schriftfarbe von diesem Label in Grün ändern? (Vorher rot)
info.color :=clGreen;
Aber jetzt ändert sich dummerweise nur die Hintergrundfarbe in Grün und die Schriftfarbe bleibt tor-.- Und wie kann ich das so einrichten, dass man nachdem man eine Zahl in ein Edit-Feld eingegeben hat nurnoch Enter drücken muss um den Button zu aktivieren?? Gruß Stef |
Re: [Rechentrainer] Fehlermeldungen
Delphi-Quellcode:
info.Font.Color:=clGreen;
|
Re: [Rechentrainer] Fehlermeldungen
Zitat:
In Delphi bedeuted Label.Color tatsächlich die Hintergrundfarbe, weil die Schrift nochmal als extra Objekt gekapselt ist. Du kannst auf die Schriftfarbe per Label.Font.Color zugreifen. Zitat:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if key = #13 then // #13 ist der Enter-Key begin Button1.Click; // Für Button1 deinen gewpnschten Button einsetzen key := #0; // Ohne diese Zeile ergibt es einen normalerweise unerwüschnten Piepton end; end; |
[team]
Da Deine erste Frage offensicht beantwortet ist, ist dieser Thread abgeschlossen. Neue Fragen bitte in einem anderen Thread stellen. Und außerdem würden sich die neuen Fragen eventuell von selbst beantworten, wenn Du einen Blick in die OH wirfst.
* * * C L O S E D * * * |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 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