Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
gast123 Gast
|
Verfasst am: 20. Sep 2005 19:32 Titel: kreisberechnungen mit delphi |
|
|
hi!
also ich sags gleich, so wirklich viel kenn ich mich mit delphi noch nich aus, deshalt jetzt eine (wahrscheinlich ziemlich dämliche) frage...
ich möchte ein programm schreiben, in dem man nur den radius eingeben braucht und es wird einem kreisfläche- und umfang berechnet (siehe: http://noebis.pi-noe.ac.at/delphi/kapitel3.htm) und bin bisher so weit gekommen, wie es dort eigentlich beschrieben ist... hier mal der quelltext.
Zitat: | unit kreisu1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
LabelErgUmfang: TLabel;
LabelErgFlaeche: TLabel;
EditRadius: TEdit;
ButtonRechne: TButton;
procedure ButtonRechneClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ButtonRechneClick(Sender: TObject);
VAR Radius : REAL;
begin
Radius := StrToFloat (EditRadius.Text);
LabelErgUmfang.Caption := FloatToStr (2*Radius*Pi);
LabelErgFlaeche.Caption := FloatToStr (Radius*Radius*Pi);
EditRadius.SetFocus;
end;
Try
Radius := StrToFloat (EditRadius.Text);
Except
Radius := 0;
EditRadius.Text := '0';
End;
Showmessage ('Achtung Eingabefehler');
end.
|
will ichs jetzt starten, streicht das programm mir das "Try" rot an und es kommt die fehlermeldung "declaration expected but "TRY" found"
keine ahnung, was das bedeuten soll... vielleicht kann mir ja einer von euch mal auf die sprünge helfen...
danke schön! |
|
Nach oben |
|
 |
|
TMS Gast
|
Verfasst am: 21. Sep 2005 19:12 Titel: ? |
|
|
Hi,
Ich kenne mich mit Delphi überhaupt nicht aus, aber ich denke du musst deinen Aufruf innerhalb deiner Procedure machen also so:
procedure TForm1.ButtonRechneClick(Sender: TObject);
VAR Radius : REAL;
begin
Radius := StrToFloat (EditRadius.Text);
LabelErgUmfang.Caption := FloatToStr (2*Radius*Pi);
LabelErgFlaeche.Caption := FloatToStr (Radius*Radius*Pi);
EditRadius.SetFocus;
Try
Radius := StrToFloat (EditRadius.Text);
Except
Radius := 0;
EditRadius.Text := '0';
End;
Showmessage ('Achtung Eingabefehler');
end;
Gruß
TMS |
|
Nach oben |
|
 |
Toxman

Anmeldungsdatum: 15.02.2005 Beiträge: 42 Wohnort: Freiburg i. Brsg.
|
Verfasst am: 22. Sep 2005 22:43 Titel: |
|
|
Code: | Radius := StrToFloat (EditRadius.Text);
LabelErgUmfang.Caption := FloatToStr (2*Radius*Pi);
LabelErgFlaeche.Caption := FloatToStr (Radius*Radius*Pi);
EditRadius.SetFocus;
end; (1)
Try
Radius := StrToFloat (EditRadius.Text);
Except
Radius := 0;
EditRadius.Text := '0';
End;
Showmessage ('Achtung Eingabefehler');
end. (2) |
Mit diesem end (1) beendest du für den Compiler die Deklaration für das ButtonClick-Ereigniss. Daraufhin erwartet er die Deklaration der nächsten Procedure. Also weg damit.
Auch muss das Showmessage zwischen Except und end (2) damit es nur ausgeführt wird, wenn im Edit etwas falsches steht.
Hinter dieses end gehört auch ein Semikolon, da ein end mit einem Punkt dahinter das ende der Unit anzeigt.
also eher so:
Code: | Try
Radius := StrToFloat (EditRadius.Text);
Except
Radius := 0;
EditRadius.Text := '0';
Showmessage ('Achtung Eingabefehler');
End; |
|
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum nicht herunterladen
|
|