ในตัวอย่างนี้ เส้นโค้งไซน์จะถูกวาดโดยตรงบนแบบฟอร์ม เพื่อป้องกันไม่ให้เอาต์พุตกราฟิกที่ไม่สมบูรณ์ในระหว่างการสลับหน้าต่าง รหัสคีย์สำหรับการวาดกราฟิกจะถูกวางไว้ในกระบวนการ OnPaint ของแบบฟอร์ม รหัสจะเป็นดังนี้:
ขั้นตอน TForm1.FormPaint (ผู้ส่ง: TObject);
var
x:จำนวนเต็ม;
ใช่,a:สองเท่า;
เริ่ม
ผ้าใบปากกากว้าง:=3;
Canvas.MoveTo(0,Trunc(self.ClientHeight/2));
forx:=0toself.ClientWidthdo
เริ่ม
a:=(x/self.ClientWidth)*2*Pi;
y:=บาป(ก);
y:=(1-y)*self.ClientHeight/2;
Canvas.LineTo(Trunc(x),Trunc(y));
จบ;
จบ;
ขั้นแรกโปรแกรมจะตั้งค่าความกว้างของแปรงในวัตถุ Canvas ของแบบฟอร์ม และย้ายจุดเริ่มต้นของการวาดไปยังตำแหน่ง (0,Trunc(self.ClientHeight/2)) ในแบบฟอร์ม จากนั้นแปลงค่ามุมภายในคาบไซน์ซอยด์ให้เป็นค่าเรเดียนผ่านคำสั่ง a:=(x/self.ClientWidth)*2*Pi ในลูป และจัดเก็บผลลัพธ์ของการคำนวณไซน์ไว้ในตัวแปร y สุดท้ายนี้ คำสั่ง Canvas.LineTo(Trunc(x),Trunc(y)) ในลูปจะวาดเส้นโค้งไซน์ซอยด์ต่อเนื่องบนแบบฟอร์ม
รหัสโปรแกรมเป็นดังนี้:
หน่วยหน่วย1;
อินเตอร์เฟซ
การใช้งาน
Windows, ข้อความ, SysUtils, ตัวแปร, คลาส, กราฟิก, การควบคุม, แบบฟอร์ม,
กล่องโต้ตอบ, ExtCtrls, StdCtrls;
พิมพ์
TForm1=คลาส(TForm)
ขั้นตอน FormPaint (ผู้ส่ง: TObject);
ขั้นตอน FormResize (ผู้ส่ง: TObject);
ProcedureFormCreate (ผู้ส่ง: TObject);
ส่วนตัว
{ประกาศความเป็นส่วนตัว}
สาธารณะ
{ประกาศสาธารณะ}
จบ;
var
แบบฟอร์ม 1:TForm1;
การดำเนินการ
{$R*.dfm}
ขั้นตอน TForm1.FormPaint (ผู้ส่ง: TObject);
var
x:จำนวนเต็ม;
ใช่,a:สองเท่า;
เริ่ม
ผ้าใบปากกากว้าง:=3;
Canvas.MoveTo(0,Trunc(self.ClientHeight/2));
forx:=0toself.ClientWidthdo
เริ่ม
a:=(x/self.ClientWidth)*2*Pi;
y:=บาป(ก);
y:=(1-y)*self.ClientHeight/2;
Canvas.LineTo(Trunc(x),Trunc(y));
จบ;
จบ;
ขั้นตอน TForm1.FormResize (ผู้ส่ง: TObject);
เริ่ม
รีเฟรช;
จบ;
ขั้นตอน TForm1.FormCreate (ผู้ส่ง: TObject);
เริ่ม
self.DoubleBuffered: = จริง;
//ป้องกันไม่ให้กราฟิกกะพริบ
จบ;
จบ.
บันทึกไฟล์และกด F9 เพื่อรันโปรแกรม ในระหว่างการรันโปรแกรม เส้นโค้งไซน์จะถูกวาดบนแบบฟอร์มโดยอัตโนมัติ และผลการรันจะแสดงในรูปที่ 1
รูปที่ 1 ผลการรันโปรแกรม
ด้วยการเรียนรู้โปรแกรมนี้ คุณไม่เพียงแต่จะสามารถวาดเส้นโค้งไซน์ได้เท่านั้น แต่ยังสามารถวาดเส้นโค้งต่างๆ เช่น เส้นโค้งโคไซน์และเส้นโค้งแทนเจนต์ เพื่ออำนวยความสะดวกในการวิจัยทางวิทยาศาสตร์อีกด้วย