Undefinierter Bezeichner

LilPhil94

Newbie
Registriert
Dez. 2010
Beiträge
6
Hey
ich versuche gerade ein Programm zum berechnen von daten an einem Kreis zu programmieren jedoch bekomme ich immer die Fehlermeldungen Undefinierter Bezeichner:'Breite.Edit' und ')' erwartet, aber Bezeichner 'text' gefunden.

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
var r,Breite,Umfang,Flaeche:Extended;
begin
//Eingabe der Daten
r:=StrToFloat(BreiteEdit.text);

//Verarbeitung
Umfang:=2*3.1415*r;
Flaeche:=3.1415*(r*r);

//Ausgabe der Daten
Umfang:=FloatToStr(UmfangEdit.text);
Flaeche:=FloatToStr(FlaecheEdit.text);

end;

end.
 
Ausgehend von:

Code:
r := StrToFloat ( BreiteEdit.text );

würde ich mal vermuten, das du ohne die Programmiersprache angegeben zu haben, Pascal oder Delphi oder ähnliches verwendest. Desweiteren sehe ich, dass du eine Variable Breite definierst, aber keine Variable Edit und schon gar nicht BreiteEdit. Also was ist nun BreiteEdit?

Nur mal ins blaue getippt, würde ich mal das so machen:

Code:
r := StrToFloat ( Edit1.text );

Edit1.text scheint der Text einer Textbox zu sein, die der Benutzer mit einer Zahl befüllt. Textboxen enthalten Text in Form eines Strings den du nun in einen Float konvertieren willst und in die Variable r ablegen willst.

Weiter unten im Quellcode wirst du auf ein ähnliches Problem stoßen, da du hier scheinbar den gleichen Fehler wiederholst:

Code:
//Ausgabe der Daten
Umfang:=FloatToStr(UmfangEdit.text);
Flaeche:=FloatToStr(FlaecheEdit.text);

In Umfang steht bereits der Umfang des Kreises, da du bereits zuvor die Berechnung gemacht hast oder zumindest versuchst. Nun willst du aber, dass der Umfang als Float in eine Textbox reingeschrieben wird. Dafür verwendest du die Funktion FloatToStr übergibst aber scheinbar wieder nonsens, weil UmfangEdit wurde nirgends wo definiert und kann auch keine Eigenschaft text haben, die im übrigen sicher wieder ein String sein soll. Bei Flaeche genau das selbe Spiel!

Ich würde mal denken das es dann eher so aussehen sollte:

Code:
//Ausgabe der Daten
Edit2.text := FloatToStr ( Umfang );
Edit3.text := FloatToStr ( Flaeche );

Im übrigen kann die die Referenzdokumentation von deiner Programmiersprache sicher genaueres sagen und vorallem auch genauer erklären wie es sich mit der Syntax etc. verhält. Ich dagegen vermute nur...
 
@LilPhil94: Mach doch bitte nicht immer wieder Threads auf, sondern denke erstmal selber nach.
 
badday schrieb:
@LilPhil94: Mach doch bitte nicht immer wieder Threads auf, sondern denke erstmal selber nach.

Genau der Gedanke kam mir heute mittag auch schon.

Da du die Fehlerstelle kennst, sollte es einfach sein den Fehler zu finden. Meist ist es nur ein Tippfehler oder das besagte ist nicht definiert, falsch definiert oder einfach dort wo du es brauchst nicht verfügbar (headerinclude vergessen)

Als programmierer sind diese 4 Fehler Tagesereignisse, die passieren so oft, dass zählen eigentlich nicht möglich ist (Ausgenommen du arbeitest ausschließlich mit Unterstützung der IDE welche code completion macht/unterstützt). Mir ist auch klar das du kein Experte bist, aber Fehler selber finden heißt auch Fehler vermeiden, durch selbst lernen.
 
Zurück
Oben