Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Problem mit einer Funktion
Schwabe - So 04.01.04 14:50
Titel: Problem mit einer Funktion
Hallo erstmal :)
Also ich bin so ziemlicher Delphianfäger und hab ein Problem mit einer Funktion.
Ich habe 2 Eingabefelder:
EZahl, EHochzahl ( dazwischen steht: x^)
und einen Hinzufügbutton:
Die Funktion:
Delphi-Quelltext
1: 2: 3: 4: 5:
| function f(x: extended): extended; begin result:= result; result:= result + StrToFloat(z)*Power(x,StrToFloat(hz)); end; |
Jetzt soll jedesmal wenn ich auf den Hinzufügbutton klick zur untenstehenden Funktion die Zahlen übergeben werden und gegebenenfals, wenn schoneinmal der button benutzt wurde die Zahlen addiert werden.
Am Ende muss dann f(x) gezeichnet werden mit folgendem code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| 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; |
Es tut schon alles außer des mit der Funktion.
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:).
Moderiert von
Peter Lustig: Code- durch Delphi-Tags ersetzt
smilie128 - Mi 18.02.04 08:28
Hi
Also auf die Schnelle:
Prozeduren werden so deklariert:
Quelltext
1: 2: 3: 4: 5: 6:
| procedure name(x : integer);
procedure TForm1.name(x : integer); begin // hier der auszuführende Code end; |
Funktionen so:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| function name(x : integer): integer;
function TForm1.name(x : integer): integer; begin // hier der auszuführende Code result := rückgabewert; end; |
Wobei in den Klammern die zu übergebenden Werte stehen (bei mehreren mit ; trennen) und hinter der Klammer
der Rückgabewert
Vielleicht hilfts ja schon.
Gruß
smilie128
rokdd - Mi 18.02.04 10:36
hallo,
die funktion hat erstmal keinen fehler aber etwas unnützes:
Du hast doch noch kein Ergebnis, außerdem wirst du selbr einsehen dass einer variable sich wieder selber zuweist ziemlich idotisch ist, oder?
Ich würde eine variablen benutzen, auf welche die ganze form drauf zugreifen kann.
Die setzt du beim starten auf null. dann addierst du bei jedem rechenvorgang dann die var auf sich selber hinzu.
das problem ist dass result beim starten der funktion nicht mehr denn wert von vorher hat.
Vielleicht solltest du auch mal schreiben was überhaupt dein Problem ist: Funzt nicht(sehr wahrscheinlich,aber auch was nicht geht!), Fehler, Debuggerergebnisse...
Rokdd
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!