Delphi Was mache ich nur falsch??? help pls!!

Registriert
Aug. 2008
Beiträge
5
hallo,
also ich bin schüler und ich mache bei einer projektwoche eine "selbstgestellte Aufgabe" ich habe habe vor delphi zu lernen und das dann auf ein paar mathematische probleme anzuwenden. ich habs dann mal mit einem programm probiert was mir die null und extremstelle einer parabel ausrechnet aber iwie funzt das nich :mad:

ich benutze delphi 2005 und hier ist mein code und im anhang sind meine projektdateien

procedure TForm1.Go_NsClick(Sender: TObject);
var a, b, c, ns1, ns2, es : real;
begin
a := StrToFloat(wert_a.text);
b := StrToFloat(wert_b.text);
c := StrToFloat(wert_c.text);
if ((0-(b*b-4*a*c))+(b*b-4*a*c))=0 {Wenn der Wert in Wurzel ist negativ ist,...}
then
begin
Showmessage ('Keine Nullstelle!'); {gibt es keine Nullstelle}
es := (0-b)/(2*a) ;
extremstelle.Text := floattostr(es);
end
else
begin
ns1 := (0-b+sqrt(b*b-4*a*c))/(2*a);{1.Nullstelle}
ns2 := (0-b-sqrt(b*b-4*a*c))/(2*a); {2.Nullstelle}
es := (0-b)/(2*a) ; {extremstelle}
nullstelle_1.Text := FloatToStr(ns1);
nullstelle_2.Text := FloatToStr(ns2);
extremstelle.Text := FloatToStr(es);

end;
end;

als fehlermeldung erhalte ich:

[Fehler] Unit1.pas(65): E2029 Deklaration erwartet, aber Dateiende gefunden
[Fataler Fehler] Project2.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
 

Anhänge

Zuletzt bearbeitet:
Hast du mal probiert die vars mit einem Standardwert zu initialisieren (0 oder sowas) ?
 
Probiers mal damit:

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, math, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    wert_a: TEdit;
    wert_b: TEdit;
    wert_c: TEdit;
    nullstelle_2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    extremstelle: TEdit;
    Label6: TLabel;
    Go_Ns: TButton;
    nullstelle_1: TEdit;
    Label7: TLabel;
    procedure Go_NsClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Go_NsClick(Sender: TObject);
var 
  a, b, c, ns1, ns2, es : real;
begin
  a := StrToFloat(wert_a.text);
  b := StrToFloat(wert_b.text);
  c := StrToFloat(wert_c.text);

   if ((0-(b*b-4*a*c))+(b*b-4*a*c)) = 0 then
      begin
        Showmessage ('Negativer Wert in Quadratwurzel - Keine Nullstelle!');
        es  := (0-b)/(2*a) ;
        extremstelle.text := floattostr(es);
      end
    else
      begin
        ns1 := (0-b+sqrt(b*b-4*a*c))/(2*a);
        ns2 := (0-b-sqrt(b*b-4*a*c))/(2*a);
        es  := (0-b)/(2*a) ;
        nullstelle_1.Text := FloatToStr(ns1);
        nullstelle_2.Text := FloatToStr(ns2);
        extremstelle.text := floattostr(es);
      end;
end;

end.
Achte vorallem auf die letzten 3 Zeilen. Du hast nämlich ein "end" vergessen - das "end." - jezt weiß Delphi erst, wo dein Programm aufhört. Das "end;" direkt darüber sagt das die Funktion zuende ist und das "end;" nochmals darüber ist für den Begin-End-Block des Else-Zweiges der If-Bedingung.

Typischer Anfängerfehler, mach dir nichts draus da gibts tausende von ;)

Kannst mich aber gerne auch mal per PN bei weiteren Probs fragen, hab fast täglich mit Delphi zu tun.

/edit: nicht böse sein, hab den Quelltext bissel anders formatiert ^^
 
Zuletzt bearbeitet:
Nennt_mich_GOTT schrieb:
[Fehler] Unit1.pas(65): E2029 Deklaration erwartet, aber Dateiende gefunden
[Fataler Fehler] Project2.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden


kenne Delphi noch ein wenig. Allerdings weiß ich nicht mehr was Unit1.pas ist. Jedoch deutet die Beschreibung des Fehlers (Deklaration erwartet, aber Dateiende gefunden) darauf hin, dass die Formel bzw Formulierung der Formel noch nicht fertig bzw falsch ist.
Überprüfe die Formeln nochmal auf richtige scgriebweise: zb (") vergessen oder nen (;) so früh gesetzt bzw. einen(.).

mfg
 
es funktioniert endlich!! vielen dank!!!

Kannst mich aber gerne auch mal per PN bei weiteren Probs fragen, hab fast täglich mit Delphi zu tun.

Darauf komm ich gerne zurück denn das wird nicht das letzte mal sein dass ich mit delphi arbeite da gibts bestimmt noch viele anfängerfehler!!
 
Zurück
Oben