background image

 

1

Instrukcja 7b 

       

Cel ćwiczenia : Napisanie aplikacji wyświetlającej przykładową kompozycję 
graficzną. Krzywe funkcyjne. 
 

 

Rys. 1 Widok formularza z umieszczonymi komponentami 

 
1.  Uruchomić Delphi. 
 
2.  Umieścić na formularzu komponent Image i ustawić następujące parametry: 
 

•  Width :  400 

• 

Height : 400

 

 

3.  Umieścić na formularzu komponent GroupBox (paleta Standard). Własność Caption 

ustawić na Dane. 

 

4.  Na komponencie GroupBox1 umieścić komponent RadioGroup (paleta Standard). 

Własność Caption ustawić na: Wybór funkcji. Wybrać własność Items dla 
RadioGroup1 i wpisać następujące pozycje: 

 

r = a*{abs[sin(k*fi)]+cos(k*fi)} 
r = a*abs[sin(k*fi)+cos(k*fi)] 
 
Własność ItemIndex ustawić na: 0. 

background image

 

2

 

5.  Na komponencie GroupBox1 umieścić 3 komponenty LabeledEdit (paleta Additional).  
 
      Poszczególne własności ustawić zgodnie z tabelą. 
 

Domyślma nazwa: 

Name: 

Text: 

EditLabel->Caption 

LabeledEdit1 

LEN 

400 

Liczba punktów wykresu - N: 

LabeledEdit2 

LEa 

110 

Parametr - a: 

LabeledEdit3 

LEk 

12 

Parametr - k: 

 

6.  Na formularzu umieścić komponent RadioGroup. Wybrać własność Items dla 

RadioGroup2 i wpisać następujące pozycje: 

 

linii 

            tła 
 

Własność Columns ustawić na : 2, Caption na : Kolor. 
 

7.  W części private klasy TForm1 umieścić deklaracje zmiennych: 
 

clTla,clLinii : TColor; 

 

8.  Wygenerować zdarzenie OnCreate dla komponentu Form1 i wpisać następujący kod: 

 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
   clTla:=clBlack; 
   clLinii:=clWhite; 
end; 
 

9.  Umieścić komponent ColorDialog i Button. Dla przycisku własność Caption zmienić 

na Wybór koloru. 

 
10. Utworzyć zdarzenie OnClick dla przycisku Button1 i wpisać kod: 
 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
   if ColorDialog1.Execute then begin 
      case RadioGroup2.ItemIndex of 
         0 : clLinii := ColorDialog1.Color; 
         1 : clTla   := ColorDialog1.Color; 
      end; 
   end; 
end; 

 

11. Umieścić kolejny komponent Button na formularzu, własność Caption ustawić na 

Rysuj, utworzyć zdarzenie OnClick i wpisać następujący kod rysujący: 

 

procedure TForm1.Button2Click(Sender: TObject); 
var 

background image

 

3

   i,nr,N,X,Y,X0,Y0,ZX,ZY: Integer; 
   k,a,fi,dfi,r,xp,yp: Real; 
begin 
   nr:=RadioGroup1.ItemIndex; 
   N :=StrToInt(LEN.Text); 
   a :=StrToFloat(LEa.Text); 
   k :=StrToFloat(LEk.Text); 
   with Image1.Canvas do begin 
      Brush.Color:=clTla; 
      Brush.Style:=bsSolid; 
      FillRect(Rect(0,0,Image1.Width,Image1.Height)); 
      Pen.Color:=clLinii; 
      dfi:=2*Pi/N; 
      ZX:=Image1.Width;     ZY:=Image1.Height; 
      xp:=ZX/2;             yp:=ZY/2; 
      X0:=Round(xp);        Y0:=Round(yp); 
      MoveTo(Round(X0+a),Y0); 
      for i:=1 to N do begin 
          fi:=i*dfi; 
          if nr=1 then r:=a*(Abs(Sin(k*fi))+Cos(k*fi)) 
                  else r:=a*Abs(Sin(k*fi)+Cos(k*fi)); 
          xp:=r*Cos(fi);      yp:=r*Sin(fi); 
          X:=Round(X0+xp);    Y:=Round(Y0-yp); 
          LineTo(X,Y); 
      end; 
    end; 
end; 
 

12. Skompilować i uruchomić program przyciskiem F9 na klawiaturze komputera. 
 

background image

 

4

 

Rys. 2 Uruchomiony program