Dans cet exemple, une courbe sinusoïdale est dessinée directement sur le formulaire. Afin d'éviter la sortie de graphiques incomplets lors du changement de fenêtre, le code clé pour dessiner des graphiques est placé dans le processus OnPaint du formulaire.
procédureTForm1.FormPaint(Expéditeur:TObject);
var
x : entier ;
oui,une :Double ;
commencer
Canvas.Pen.Width:=3;
Canvas.MoveTo(0,Trunc(self.ClientHeight/2));
forx:=0toself.ClientWidthdo
commencer
a:=(x/self.ClientWidth)*2*Pi;
y:=Péché(a);
y:=(1-y)*self.ClientHeight/2;
Canvas.LineTo(Trunc(x),Trunc(y));
fin;
fin;
Le programme définit d'abord la largeur du pinceau dans l'objet Canvas du formulaire et déplace le point de départ du dessin à la position (0,Trunc(self.ClientHeight/2)) dans le formulaire. Convertissez ensuite la valeur de l'angle dans une période sinusoïdale en valeur radian via l'instruction a:=(x/self.ClientWidth)*2*Pi dans une boucle et stockez le résultat du calcul sinusoïdal dans la variable y. Enfin, l'instruction Canvas.LineTo(Trunc(x),Trunc(y)) dans la boucle dessinera une courbe sinusoïdale continue sur le formulaire.
Le code du programme est le suivant :
unitéUnité1 ;
interface
utilise
Windows, messages, SysUtils, variantes, classes, graphiques, contrôles, formulaires,
Boîtes de dialogue, ExtCtrls, StdCtrls ;
taper
TForm1=classe(TForm)
procédureFormPaint(Expéditeur:TObject);
procédureFormResize(Expéditeur:TObject);
procédureFormCreate(Expéditeur:TObject);
privé
{Déclarations privées}
publique
{Déclarations publiques}
fin;
var
Formulaire1 : TForm1 ;
mise en œuvre
{$R*.dfm}
procédureTForm1.FormPaint(Expéditeur:TObject);
var
x : entier ;
oui,une :Double ;
commencer
Canvas.Pen.Width:=3;
Canvas.MoveTo(0,Trunc(self.ClientHeight/2));
forx:=0toself.ClientWidthdo
commencer
a:=(x/self.ClientWidth)*2*Pi;
y:=Péché(a);
y:=(1-y)*self.ClientHeight/2;
Canvas.LineTo(Trunc(x),Trunc(y));
fin;
fin;
procédureTForm1.FormResize(Expéditeur:TObject);
commencer
Rafraîchir;
fin;
procédureTForm1.FormCreate(Expéditeur:TObject);
commencer
self.DoubleBuffered:=true;
//Empêcher les graphiques de scintiller
fin;
fin.
Enregistrez le fichier et appuyez sur F9 pour exécuter le programme. Pendant l'exécution du programme, une courbe sinusoïdale sera automatiquement tracée sur le formulaire et les résultats d'exécution sont présentés dans la figure 1.
Figure 1 Résultats de l'exécution du programme
En apprenant ce programme, vous pouvez non seulement dessiner des courbes sinusoïdales, mais également diverses courbes telles que des courbes cosinusoïdales et des courbes tangentes pour faciliter la recherche scientifique.