In diesem Beispiel wird eine Sinuskurve direkt auf dem Formular gezeichnet. Um zu verhindern, dass beim Fensterwechsel unvollständige Grafiken ausgegeben werden, werden die Schlüsselcodes zum Zeichnen von Grafiken im OnPaint-Prozess des Formulars platziert.
procedureTForm1.FormPaint(Sender:TObject);
var
x:Integer;
y,a:Double;
beginnen
Canvas.Pen.Width:=3;
Canvas.MoveTo(0,Trunc(self.ClientHeight/2));
forx:=0toself.ClientWidthdo
beginnen
a:=(x/self.ClientWidth)*2*Pi;
y:=Sin(a);
y:=(1-y)*self.ClientHeight/2;
Canvas.LineTo(Trunc(x),Trunc(y));
Ende;
Ende;
Das Programm legt zunächst die Breite des Pinsels im Canvas-Objekt des Formulars fest und verschiebt den Startpunkt des Zeichnens an die Position (0,Trunc(self.ClientHeight/2)) im Formular. Konvertieren Sie dann den Winkelwert innerhalb einer Sinusperiode mit der Anweisung a:=(x/self.ClientWidth)*2*Pi in einer Schleife in einen Bogenmaßwert und speichern Sie das Ergebnis der Sinusberechnung in der Variablen y. Schließlich zeichnet die Canvas.LineTo(Trunc(x),Trunc(y))-Anweisung in der Schleife eine kontinuierliche Sinuskurve auf dem Formular.
Der Programmcode lautet wie folgt:
EinheitEinheit1;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,
Dialoge,ExtCtrls,StdCtrls;
Typ
TForm1=Klasse(TForm)
procedureFormPaint(Sender:TObject);
procedureFormResize(Sender:TObject);
procedureFormCreate(Sender:TObject);
Privat
{Privatedeclarations}
öffentlich
{Öffentliche Erklärungen}
Ende;
var
Form1:TForm1;
Durchführung
{$R*.dfm}
procedureTForm1.FormPaint(Sender:TObject);
var
x:Integer;
y,a:Double;
beginnen
Canvas.Pen.Width:=3;
Canvas.MoveTo(0,Trunc(self.ClientHeight/2));
forx:=0toself.ClientWidthdo
beginnen
a:=(x/self.ClientWidth)*2*Pi;
y:=Sin(a);
y:=(1-y)*self.ClientHeight/2;
Canvas.LineTo(Trunc(x),Trunc(y));
Ende;
Ende;
procedureTForm1.FormResize(Sender:TObject);
beginnen
Aktualisieren;
Ende;
procedureTForm1.FormCreate(Sender:TObject);
beginnen
self.DoubleBuffered:=true;
//Flimmern von Grafiken verhindern
Ende;
Ende.
Speichern Sie die Datei und drücken Sie F9, um das Programm auszuführen. Während der Ausführung des Programms wird automatisch eine Sinuskurve auf dem Formular gezeichnet und die Ausführungsergebnisse sind in Abbildung 1 dargestellt.
Abbildung 1 Ergebnisse der Programmausführung
Durch das Erlernen dieses Programms können Sie nicht nur Sinuskurven zeichnen, sondern auch verschiedene Kurven wie Kosinuskurven und Tangenskurven, um die wissenschaftliche Forschung zu erleichtern.