background image

 

1

Instrukcja 7a 

       

Cel ćwiczenia : Napisanie aplikacji wyświetlającej przykładową kompozycję 
graficzną. Geometria jeża. 
 

 

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ć 5 komponentów Edit i 5 komponentów Label. 
Poszczególne własności ustawić zgodnie z tabelami.

 

 

Tabela własności dla komponentów Edit 

Domyślma nazwa: 

Name: 

Text: 

Edit1 

En 

150 

Edit2 

Efi 

123 

Edit3 

Es 

background image

 

2

Edit4 

Edfi 

Edit5 

Eds 

 
 Tabela własności dla komponentów Label 

Domyślna nazwa: 

Caption: 

Label1 

Liczba kroków - n: 

Label2 

Kąt obrotu - fi: 

Label3 

Długość kroku - s: 

Label4 

Przyrost kąta obrotu - dfi: 

Label5 

Przyrost długości kroku - ds: 

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

RadioGroup1 i wpisać następujące pozycje: 

 

linii 

            tła 
 

Własność Columns ustawić na: 2, Caption na: Wybór koloru, ItemIndex na: 0 

 

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

clTla,clLinii : TColor; 

 

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

 

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

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

na: Wybór koloru. 

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

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

 

10. 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); 

background image

 

3

label et; 
var 
   N,krok,X,Y,X0,Y0,ZX,ZY: Integer; 
   alfa,fi,dfi,s,ds,xp,yp,xn,yn: Real; 
begin 
   n:=StrToInt(En.Text); 
   fi:=StrToFloat(Efi.Text); 
   dfi:=StrToFloat(Edfi.Text); 
   s:=StrToFloat(Es.Text); 
   ds:=StrToFloat(Eds.text); 
   with Image1.Canvas do begin 
      Brush.Color:=clTla; 
      Brush.Style:=bsSolid; 
      FillRect(Rect(0,0,Image1.Width,Image1.Height)); 
      Pen.Color:=clLinii; 
      fi:=fi*Pi/180;    dfi:=dfi*Pi/180; 
      ZX:=Image1.Width; ZY:=Image1.Height; 
      xp:=ZX/2;         yp:=ZY/2; 
      X0:=Round(xp);    Y0:=Round(yp); 
      krok:=0;          alfa:=0; 
      MoveTo(X0,Y0); 
      et: 
      krok:=krok+1; 
      xn:=xp+s*Cos(alfa); 
      yn:=yp+s*Sin(alfa); 
      X:=Round(xn); 
      Y:=Round(ZY-yn); 
      LineTo(X,Y); 
      if krok<=N then begin 
         alfa:=alfa+fi+dfi; 
         if fi>2*Pi then fi:=fi-2*Pi; 
         xp:=xn;   yp:=yn;   s:=s+ds; 
         goto et; 
      end; 
   end; 
end; 
 

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

background image

 

4

 

 

Rys. 2 Uruchomiony program