![]() |
Re: PI
Also hier mal den Code den ich jetzt drin habe und wo bei mir dann schließlich der Fehler auftaucht:
Delphi-Quellcode:
if zahl2 < 0 then
begin showmessage ('Nicht erlaubt'); end; if zahl2 > 0 then begin n := 1; y := zahl; while n < zahl2 do zahl := zahl * y; n := n + 1; end else zahl := 1; end; Der Fehler kommt bei mir bei
Delphi-Quellcode:
und als Fehler steht dort: E2026 Konstantenausdruck erwartet
zahl := 1;
|
Re: PI
du hast da auch ein begin und ein end vergessen ;)
Delphi-Quellcode:
if zahl2 < 0 then
begin showmessage ('Nicht erlaubt'); end; if zahl2 > 0 then begin n := 1; y := zahl; while n < zahl2 do begin //hier begin vergessen! zahl := zahl * y; n := n + 1; end; //und das dazugehörige end; end else zahl := 1; end; |
Re: PI
Bitte gewöhne dir gleich von Anfang an das Einrücken an, auch wenn es mehr Arbeit bedeutet... im Endeffekt spart es aber unheimlich viel Arbeit! Vielleicht fällt dir hier etwas auf:
Delphi-Quellcode:
if zahl2 < 0 then
begin showmessage ('Nicht erlaubt'); end; if zahl2 > 0 then begin n := 1; y := zahl; while n < zahl2 do zahl := zahl * y; n := n + 1; end else zahl := 1; end; |
Re: PI
Delphi-Quellcode:
thx dafür aber es kommt immer noch der selbe Fehler bei: zahl := 1; :S
if zahl2 < 0 then
begin showmessage ('Nicht erlaubt'); end; if zahl2 > 0 then begin n := 1; y := zahl; while n < zahl2 do begin //hier begin vergessen! zahl := zahl * y; n := n + 1; end; //und das dazugehörige end; end else zahl := 1; end; |
Re: PI
Abgesehn von dem fehlenden ELSE zwischen
Delphi-Quellcode:
Zeige mal bitte die gesamte Prozedur, denn in dem aktuell gezeigten Code-Stückchen gibt es anscheinend keinen Grund für diese Fehlermeldung.
end;
if zahl2 > 0 then PS: genau aus solchen Gründe sollten die ersten Stunden für Themen wie - Verwendung der IDE und der OH - Codeformatierung - Fehleranalyse - Debugging verwendet werden. Ist jetzt kein Vorwurf an dich, sondern mehr an die Lehrer, welche oftmals selber nicht grade "richtig" Ahnung haben. |
Re: PI
Delphi-Quellcode:
Hier das ist die Prozedur wo der Codeschnipsel herstammt.
procedure TForm2.ButtonGleichClick(Sender: TObject);
{************************************************************************} var zahl2,n : double; pi : real; begin zahl2 := strtofloat (Edit1.Text); case merk of plus: zahl := zahl + zahl2; minus: zahl := zahl - zahl2; mal: zahl := zahl * zahl2; geteilt: zahl := zahl / zahl2; hoch: zahl := zahl * zahl; wurzel: zahl := sqrt(zahl); hochx: if zahl2 < 0 then // Hier Fängts An! begin showmessage ('Nicht erlaubt'); end else if zahl2 > 0 then begin n := 1; y := zahl; while n < zahl2 do begin zahl := zahl * y; n := n + 1; end; end else zahl := 1; end; wurzelx: begin n := zahl; zahl := exp((1/n)*ln(zahl2)); end; prozent: begin n := 100; zahl := zahl * zahl2 / n; end; end; edit1.text:=floattostr(zahl); neue_zahl := True; ButtonKomma.Enabled := True; ButtonGleich.Enabled := False; end; |
Re: PI
Schließ den ganzen Code zum Label "hochx" mal in begin und end ein.
Delphi-Quellcode:
case...of
... hochx: begin //Dein Code end; |
Re: PI
Delphi-Quellcode:
procedure TForm2.ButtonGleichClick(Sender: TObject);
{************************************************************************} var zahl2,n : double; pi : real; begin zahl2 := strtofloat (Edit1.Text); case merk of plus: zahl := zahl + zahl2; minus: zahl := zahl - zahl2; mal: zahl := zahl * zahl2; geteilt: zahl := zahl / zahl2; hoch: zahl := zahl * zahl; wurzel: zahl := sqrt(zahl); hochx: begin if zahl2 < 0 then // Hier Fängts An! begin showmessage ('Nicht erlaubt'); end else if zahl2 > 0 then begin n := 1; y := zahl; while n < zahl2 do begin zahl := zahl * y; n := n + 1; end; end else zahl := 1; end; end; wurzelx: begin // HIer ist ein neuer Fehler n := zahl; zahl := exp((1/n)*ln(zahl2)); end; prozent: begin n := 100; zahl := zahl * zahl2 / n; end; end; edit1.text:=floattostr(zahl); neue_zahl := True; ButtonKomma.Enabled := True; ButtonGleich.Enabled := False; end; Der alte fehler ist weg aber ein neuer ist da -.- |
Re: PI
Zitat:
Grüße Klaus |
Re: PI
Der heißt auf Deutsch "jetzt hat er ein end zuviel". Es geht eben nichts über eine gescheite Einrückung :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 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-2025 by Thomas Breitkreuz