![]() |
Problem mit Funktion
Hallo erstmal :)
Also ich bin so ziemlicher Delphianfäger und hab ein Problem mit einer Funktion. Ich habe 2 Eingabefelder:
Delphi-Quellcode:
( dazwischen steht: x^)
EZahl, EHochzahl
und einen Hinzufügbutton:
Delphi-Quellcode:
Die Funktion:
BHinzufuegen
Delphi-Quellcode:
Jetzt soll jedesmal wenn ich auf den Hinzufügbutton klick die Fubnktion aufaddiert werden. Also so
function f(x: extended): extended;
begin result:= result + StrToFloat(z)*Power(x,StrToFloat(hz)); end; result:= result + StrToFloat(z)*Power(x,StrToFloat(hz)); Am Ende muss dann f(x) gezeichnet werden mit folgendem code:
Delphi-Quellcode:
Es tut schon alles außer des mit der Funktion.
procedure TForm1.Kurve_Zeichnen;
var i,j: integer; x,y: real; begin with ISchaubild do begin i:=0; x:=(i-Ursprung.i)/Einheit; y:=f(x); j:=-round(y*Einheit)+Ursprung.j; Canvas.MoveTo(i,j); for i:=1 to width do begin Canvas.Pen.Color:=clblack; x:=(i-Ursprung.i)/Einheit; y:=f(x); j:=-round(y*Einheit)+Ursprung.j; Canvas.LineTo(i,j); end; end ; end; Wie kann ich das bewerkstelligen? Hab schon vieles ausprobiert aber mir fehlen einfach die erforderlichen Kentnisse. Wäre nett wenn mir jemand helfen könnte! Ps: Hoffe ihr könnt aus meiner Beschreibung das Problem erkennen:). |
Re: Problem mit Funktion
Bei jedem nächsten Aufruf der Funktion ist Result schon wieder vergessen. Du musst den alten Wert mit übergeben. Ausserdem, was wäre Result = Result + ... beim ersten Aufruf ;-)
Beim ersten Aufruf musst Du halt 0 übergeben. [quote="Schwabe"]
Delphi-Quellcode:
...:cat:...
function f(x, LastValue: extended): extended;
begin result:= LastValue + StrToFloat(z)*Power(x,StrToFloat(hz)); end; |
Re: Problem mit Funktion
Vielen Dank für die schnelle Antwort:). Ich werds mal ausprobieren.
EDIT: Hm jetzt kommt immer bei der Kurve Zeichnen Procedure an der Stelle wo f(x ) steht Nicht genügend wirkliche parameter! An was liegt das? |
Re: Problem mit Funktion
Das liegt daran, dass die Prozedur jetzt nicht nur "x" sondern auch noch "LastValue" erwartet, sprich, du gibts einen Parameter zu wenig an.
Bsp:
Delphi-Quellcode:
Man liest sich, Stanlay :hi:
f(10,15) //15 ist der 2. Parameter
|
Re: Problem mit Funktion
ok aber wie geb ich des dann richtig aus?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 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