![]() |
Delphi meckert bei Case of...kA warum?!?
Jo, also delphi meckert komischerweise bei case of...was ich überhaupt nicht versteh...
also, ich hab mal so klein privat und ganz allein ein program geschrieben das die pq formel ausrechnet, so als übung. mit dem rechnerischen gibts da auch kein problem, und ohne case of läuft das program auch, ach..ich zeig euch erstmal den source
Delphi-Quellcode:
also
private
{ Private-Deklarationen } //Variabeln P, Q, X1, X2, D : Real; M : Integer; //Procedures procedure Pq; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} Procedure TForm1.Pq; //Eingabe und Abfrage von P, Q begin P:=StrtoFloat(EdP.text); Q:=StrtoFloat(EdQ.text); //Berechnung von "minus P halbe" und zuweisung von X1, X2 X1:=(P * -1) / 2; X2:=(P * -1) / 2; //Berechnung der Diskriminanten D:=sqr(P / 2) - Q; //If Abfrage zum verhindern von Abstürzen ( D < 0) If D < 0 then begin Memo1.Lines.add('Die Gleichung besitzt keine Lösung'); end else //Ausrechnen von X1, X2 begin X1:=X1 + sqrt(D); X2:=X2 + sqrt(D); end; //Benutzen einer Marker Variabel für Antwortsatz If D < 0 then M:=1 else begin If D = 0 then M:=2 else M:=3; end; end; //Case M of für Antwortsatz Case M of 1 : Memo1.lines.add('Die Gleichung hat keine Lösung'); 2 : Memo1.lines.add('Die Gleichung hat eine Lösung'); 3 : Memo1.lines.add('Die Gleichung hat zwei Lösungen'); end procedure TForm1.Button1Click(Sender: TObject); begin Pq; end; end. wenn ich das case rauslasse geht das programm, auch wenns noch nich soweit ist was auszugeben, is auch inich von belang hier...aber sobald ich das case of reinschreib sagt der deklaration erwartet aber case gefunden...und hält genau hinter dem case an..?!? naja, weiß nich was delphi von mir will..wisst ihrs?!? |
Re: Delphi meckert bei Case of...kA warum?!?
ein case bereich wird miteinem end abgeschlossen:
Delphi-Quellcode:
Man liest sich, Stanlay :hi:
Case x of
1: ...; 2: ...; end; //Bei dir fehlt ein END |
Re: Delphi meckert bei Case of...kA warum?!?
hmz, ich hab da doch eins...?!?
|
Re: Delphi meckert bei Case of...kA warum?!?
hi, beim letzten end fehlt das Semikolon und ich zähle auch ein end zu viel. Muss mal nachzählen und evtl. ein bisschen sinnvoller einrücken, dann siehst du die Fehler schneller :)
|
Re: Delphi meckert bei Case of...kA warum?!?
Delphi-Quellcode:
Wenn ich mich nicht vertippt hab, sollte die Struktur so in der Richtung aussehen. mir is grade auch aufgefallen, dass vor dem Case wirklich ein end zuviel war. :gruebel:
Procedure TForm1.Pq;
//Eingabe und Abfrage von P, Q begin . . . //Berechnung von "minus P halbe" und zuweisung von X1, X2 . . . //Berechnung der Diskriminanten . //If Abfrage zum verhindern von Abstürzen ( D < 0) If D < 0 THEN begin end ELSE //Ausrechnen von X1, X2 begin end; //Benutzen einer Marker Variabel für Antwortsatz IF D < 0 THEN . ELSE begin IF D = 0 THEN . ELSE . end; //Case M of für Antwortsatz Case M of . . . end; end; Man liest sich, Stanlay :hi: |
Re: Delphi meckert bei Case of...kA warum?!?
Hallo,
ich habe das ganze mal auseinander genommen. Mein Resultat ist das ein "end" an der falschen stand. Habe es mal korriegiert und richtig formatiert. Ich denke so sollte es funktionieren (hab's net probiert).
Delphi-Quellcode:
private
{ Private-Deklarationen } //Variabeln P, Q, X1, X2, D : Real; M : Integer; //Procedures procedure Pq; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} Procedure TForm1.Pq; //Eingabe und Abfrage von P, Q begin P:=StrtoFloat(EdP.text); Q:=StrtoFloat(EdQ.text); X1:=(P * -1) / 2; //Berechnung von "minus P halbe" und zuweisung von X1, X2 X2:=(P * -1) / 2; D:=sqr(P / 2) - Q; //Berechnung der Diskriminanten If D < 0 then //If Abfrage zum verhindern von Abstürzen ( D < 0) begin Memo1.Lines.add('Die Gleichung besitzt keine Lösung'); end else begin X1:=X1 + sqrt(D); //Ausrechnen von X1, X2 X2:=X2 + sqrt(D); end; If D < 0 then //Benutzen einer Marker Variabel für Antwortsatz M:=1 else begin If D = 0 then M:=2 else M:=3; // end; <- Eine End zuviel end; Case M of //Case M of für Antwortsatz 1 : Memo1.lines.add('Die Gleichung hat keine Lösung'); 2 : Memo1.lines.add('Die Gleichung hat eine Lösung'); 3 : Memo1.lines.add('Die Gleichung hat zwei Lösungen'); end; end; <- dieses End fehlte procedure TForm1.Button1Click(Sender: TObject); begin Pq; end; end. |
Re: Delphi meckert bei Case of...kA warum?!?
Ja, danke...das wars...ich hab da nochwas geändert im code, das hat sich dann quasi ausgeglichen..vielen dank leute
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:50 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