![]() |
Function /Procedure
hallo,
ich versuche mal eine Function zu schreiben aber ich kriege noch einige fehler. so sieht mein Code aus:
Delphi-Quellcode:
Ich möchte in der Function die Werte von Edit1,Edit3 und Edit4 addieren und bei button click an public { Public declarations } function ergebnis(edt:TEdit; a, b, c, d, e: integer):integer; end; ...................................................................... function ergebnis(edt:TEdit; a, b, c, d, e: integer):integer; begin a:= StrToInt(Edit1.Text); b:= StrtoInt(Edit3.Text); c:= StrToInt(Edit4.Text); d:= a + b + c; Edit5.Text:= IntToStr(d); end; procedure TForm1.Button4Click(Sender: TObject); var result: integer; begin result:= ergbnis(); end; Edit5 zeigen lassen. weisst jemand, wo es hackt? grüß poter |
Re: Function /Procedure
Laß die Deklaration von result weg:
result: integer; |
Re: Function /Procedure
Welche Fehler genau bekommst du denn überhaupt? Syntaxfehler?
|
Re: Function /Procedure
Willst du eine Funktion oder eine Methode (von TForm1)? In deinem Fall wohl eine Methode, da du auf die Edits zugreifst. In der Definition (der Teil mit dem Inhalt in der implementation) musst du dann schreiben:
Delphi-Quellcode:
Außerdem scheint dir der Unterschied zwischen Variablen und Parametern nicht klar zu sein: Parameter werden beim Aufruf übergeben, du willst hier aber offenkundig Variablen verwenden: diese werden, wie in deinem Button4Click, mit var deklariert.
function TForm1.ergebnis(edt:TEdit; a, b, c, d, e: integer):integer;
Hoffe geholfen zu haben Apollonius |
Re: Function /Procedure
Hallo,
ohne dir zu Nahe treten zu wollen, aber ich denke dir fehlen die Grundlagen (z.B. hat deine Funktion keinen Rückgabe-Wert etc.). Schau dir doch mal bitte das an: ![]() Wird dir sicherlich weiterhelfen. Gruß |
Re: Function /Procedure
Außerdem solltest du alle Parameter übergeben oder diese weglassen:
function ergebnis(edt:TEdit; a, b, c, d, e: integer):integer; |
Re: Function /Procedure
Wenn ich die deklaration "result: integer;" weglasse dann sagt er result ist nicht deklariert.
sonst als fehler bekomme ich undeclared identifier: ergebnis undeclared identifier: edit1....bis 5. das stimmt deswegen versuche ich es zu erfahren -) |
Re: Function /Procedure
Das könnte z.B. so aussehen:
Delphi-Quellcode:
function ergebnis(const s1,s2,s3: string): integer;
var i1,i2,i3: integer; begin //mal ohne Fehlerbehandlung, ein bisschen Arbeit soll Dir Übrig bleiben ;) i1 := StrToInt(s1); i2 := StrToInt(s2); i3 := StrToInt(s3); Result := i1 + i2 + i3; end; procedure TForm1.Button4Click(Sender: TObject); begin Edit5.Text := IntToStr(ergebnis(Edit1.Text,Edit2.Text,Edit4.Text)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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