Hallo,
als Abschlussprojekt im Informatik Leistungskurs, habe ich mir folgendes überlegt. Ich hab mir gedacht, das ich ein Programm schreibe, welches mir diverse mathematische Funktionen Grafisch Darstellt. Mein Projekt vorschlag ist auch schon genehmigt worden.
Es sollen später Lineare und Quadratische Funktionen eingezeichnet werden.
Bsp.:
Lineare Fkt.
f(x) = 3x + 7
Quadr. Fkt.
f(x) = x² + 4x - 9
Desweiteren sollen alle Shnittpunkte berechnet werden. Also, Nullstellen und Schnittpkt.e mit der y- Achse
Eine weitere Bedingung für die Realisierung des Projektes ist, das wir alles in einer anderen Klasse auslagern. Jetzt weiß ich leider bei der Realisierung nicht weiter. Wir haben sowas noch nicht im Unterricht besprochen.
Ich habe es mal versucht, aber es funktioniert leider nicht. Es kommt auch eine Fehlermeldung, es wird bloß nix gezeichnet.
Hier mein Code:
Delphi-Quellcode:
unit UKoordinatensystem;
interface
uses
ExtCtrls, Controls;
type
TKoordinatensystem =
class
constructor Create();
procedure Koordinatensystem();
destructor Destroy();
private
Image : TImage;
FWidth : Integer;
FHeight : Integer;
FTop : Integer;
FLeft : Integer;
FRand : Integer;
FParent : TWinControl;
public
published
property Width : Integer
Read FWidth
Write FWidth;
property Height : Integer
Read FHeight
Write FHeight;
property Top : Integer
Read FTop
Write FTop;
property Left : Integer
Read FLeft
Write FLeft;
property Rand : Integer
Read FRand
Write FRand;
property Parent : TWinControl
Read FParent
Write FParent;
end;
implementation
constructor TKoordinatensystem.Create();
begin
Image:=TImage.Create(FParent);
Image.Width:=FWidth;
Image.Height:=FHeight;
Image.Top:=FTop;
Image.Left:=FLeft;
Image.Parent:=FParent;
Koordinatensystem();
end;
procedure TKoordinatensystem.Koordinatensystem();
begin
// Achsen zeichnen
Image.Canvas.MoveTo(FWidth
div 2, FRand);
Image.Canvas.LineTo(FWidth
div 2, FHeight - FRand);
end;
destructor TKoordinatensystem.Destroy();
begin
Image.Free();
end;
end.
Hier der aufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var k : TKoordinatensystem;
begin
k:=TKoordinatensystem.Create();
k.Width:=300;
k.Height:=300;
k.Top:=100;
k.Left:=100;
k.Rand:=10;
k.Parent:=Form1;
end;