«Программалау іі» ПӘнінің ОҚУ-Әдістемелік кешені


сурет. Дыбыс фрагментін демонстрациялау терезесі



жүктеу 10,41 Mb.
бет19/29
Дата07.12.2017
өлшемі10,41 Mb.
#3507
1   ...   15   16   17   18   19   20   21   22   ...   29

10.16 сурет. Дыбыс фрагментін демонстрациялау терезесі

Тапсырма №6

Әдістемелік нұсқауда келтірілген программаны орындап, компиляциялаңыз



Тапсырманы орындауға әдістемелік нұсқаулар:

Тапсырма №1

unit Unit;

interface

uses


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs;


Type

TForm1= class(TForm

Procedure Form 1 Paint(Sender:TObject) ;

Private {Private declarations}

Public {Public declarations}

End;


Var

Form1: TForm1;

Implementation {$R*. dfm}

Procedure Tform1. FormPaint(Sender : TObject);

Const

bsName : array[1..8] of string =(‘bsSolid’, ‘BsCIear’, ‘bsHorisontal’,



‘bsvertical’, ‘bsFDiagonal’, ‘bsbDioganal’

‘bsCross’, ‘bsDiagCoss’);

Var

X,y:integer;



W,h:integer;

Bs:TBrushStyle;

K:integer;

i,j:integer;

begin

w:=40; h:=40; y:=20



for i:=1 to 2 do

begin


x:=10;

for j:=1 to 4 do

begin

k:=j+(i-1)*4;



case k of

1:bs:=bsSolid;

2:bs:=bsClear;

3:bs:=bsHorisontal;

4:bs:=bsVertical;

5:bs:=bsFDiagonal;

6:bs:=bsBDiagonal;

7:bs:=bs Diagonal;

8:bs:=bsCross;

9:bs:=bsDiagCross;

End;

canvas.Brush.Color:=clGreen;



Canvas.Brush.Style:=bs;

Canvas.Rectangle(x,y,x+w,y+h);

Canvas.Brush.Style:=Clear;

canvas.textOut(x,y-15,bsName[k]);

x:=x+w+30;

end;


y:=y+h+30;

end;


end;

end.
Тапсырма №2

Unit Unit1;

Interfase

Uses

Windows, Messages, SysUtils, variants, Classes6 Graphics, Controls, Forms,



Dialogs;

Type


TForm=class(Tform)

Procedure FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift:TShiftState; X,Y:integer);

Private


{private declarations}

Publick { publick declarations}

End;

Var


Form1:Tform1;

Implementation

{$R*.dfm}

Procedure Starline(x0,y0,r:integer; Canvas:Tcanvas);

Var

P:array[1..11] of TPoint;



A:integer;

J:integer;

Begin

A:=18;


For i:=1 to 10 do

Begin


If (I mod2=0) then

Begin


P[i].x:=x0+round(r/2*cos(a*pi/180));

P[i].y:=y0+round(r*sin(a*pi/180));

End

Else begin



P[i].x:=x0+round(r*cos(a*pi/180));

P[i].y:=y0+round(r/2*sin(a*pi/180));

End;

A:=a+36;


End;

P[11].X:=p[1].X;

P[11].Y:=p[1].Y;

Canvas.Polyline(p);

End;

Procedure TForm.FormMouseDown(Sender:TObject; Button:TMouseButton



Shift:TShiftState; X6Y:integer);

Begin


If button=mbleft

Then


Form1.Canvas.Pen7Color:=clred

Else


Form1.Canvas.Pen.Color:=clgreen;

Starline(x,y,30,Form1.Canvas);

End;

End.




10.2-сурет. Жұлдызша
Тапсырма №3

Заты.Bmp, .ico болып келген графикалық файлдарды шығару үшін Additional бетіндегі Image компоненті қосылады.


Image


10.7-сурет. Additional беті.
Төмендегі кенстеде осы компоненттің қасиеттері көрсетілген.

Қасиеті

Анықтамасы

Picture

Компонент өрісінде бейнеленетін сурет

Width

Height


Компонент өлшемі

AutoSize

өлшемнің автоматты түрде өзгертілу ьелгісі

Strech

Компонент өлшеміне байланысты сурет өлшемін өзгерту белгісі

Visible

Компонент үстінде суреттің көріну, көрінбеу белгісі

Енді экранға жоғарыда келтірілген фигураларды сызып, оның жанына олардың атын жазып шығаратын программа мысалын жазайық. Ол үшін формаға Image1 және Button компоненттерін орналастырамыз. Программа мәтіні төмендегідей:

Unit rr2;

Interface

Uses

Windows, Messages, SysUtils, Variants, Classes, Graphcs, Controls, Forms,



Dialogs, ExtCtrls, StdCtrls;

Type


Tform1=class(TForm)

Image:TImage;

Button:TButton;

Procedure ButtonClick(Sender:TObject);

Private {Private declarations}

Public {Public declarations}

End; var

Form1:TForm1;

Implementation

{$R*.dfm}

Procedure Tform1.Button1Click(sender:TObject);

Begin


With Image1.Canvas do

Begin


Font.Sryle:=[fsBold];

Pen.Color:=clred;

Arc(10,10,90,90,90,50,10,50);

TextOut(40,60,’Arc’);

Pen.color:=clGreen;

Brush.style:=bscroos;

Chord(110,10,190,90,190,50,110,50);

Textout(135,60,’Chord’);

Pen.Color:=clred;

Brush.Color:=clBlue;

Brush.Style:=bsclear;

Ellipse(230,60,’Ellipse’);

Pie(310,10,390,90,390,30,310,30);

Textout(340,60,’Pie’);

Polygon([Point(30,150),Point(40,130), Point(50,140), Point(60,110)

Point(70,150)]);

Polyline([Point(130,150),Point(140,130), Point(150,140), Point(160,110)

Point(170,150)]);

Textout(140,170,’polyLine’);

Rectangle(230,120,280,160);

Textout(230,170,’Rectangle’);

Roundrect(330,120,380,160,20,20);

TextOut(325,170,’Roundrect’);

End;


End;

End.


Программанның орындалу нәтижесі 10.8- суретте келтірілген.

Форманы дайындау кезінде сурет Picture қасиеті арқылы жүктеледі. Олүшін Objecr Inspecror қосымшасында Picture қасиетін таңдау керек. Содан кейін пайда болған Picture Editor терезеде Load батырмасы арқылы суретті тандап, OK батырмасын басу керек.



Оның өлшемін Strech қасиеті арқылы өзгертуге болады.


10.8-сурет. Фигураларды бейнелеу терезесі

10.9-сурет. Picture Editor терезесі



Тапсырма №4

Мұнда негізгі жұмысты graficfun процедурасы орындайды. Алдымен [x1,x2] аралығындағы функцияның ең үлкен (y2)және ен кіші (y1) мәндері есептеледі. Grarficfin процедурасын шығару OnPainr оқиға өндеушісінің TFormI. Form Paint процедурасын шақыру арқылы орындалады. Ол үшін FormI – l3 екпінді жасап, оқиғалар бетінен On Paint оқиғасын тышқанмен жылдам екі рет белгілеу жеткілікті. Ал, форманың өлшемі өзгергеннен кейін графикті сызу үшін TFormI. FormResize процедурасы пайдаланылады. Ол оқиғалар бетінен OnResize оқиға өрісін тышқанмен жылдам екі рет белгілеу арқылы алынады. Программа мәтіні төмендегіней.

unit Unit1;

interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)



procedure FormPaint (Sender: TObject);

procedure Form Resize (Sender: TObject);

private {Private declarations}

public {Public declarations}

end;

var


Form 1: TForm1; implementation {$R * .dfm}

procedure graficfun;

var x1, x2:real; y1, y2:real; x,dx.y:real;

1,b:integer; w,h:integer; mx,my:real; x0y0:integer;

function f (x:real):real;

begin f:=2*sin(x) *exp(x/5); end;

begin

1:=10; b:=Form1.ClientHeight-20; h:=Form1.ClientHeight-40;



w:=Form1. ClientHeight-40;

x1:=0; x2:=25; dx:=0.01; y1:=f(x1); y2:=f(x2); x:=x1; y0:=60;

repeat

y:=f(x); if yy2 then y2:y;



x:=x+dx; until (x>=x2);

my:=h/abs(y2-y1);

mx:=w/abs(x2-x1);

x0:=1; y:=b-abs(round(y1*my));

with form1.canvas do

begin


MoveTo(1,b); LineTo(1,b-h);

MoveTo(x0,y0); LineTo(x0+w,y0);

x:=x1;

repeat


y:=f(x);

form1.canvas.Pixels[x0+round(x*mx),y0-round(y*my)]:=clred

x:=x+dx;

until(x>=x2);

end;

end;


procedure TForm1.FormPaint(Sender: TObject);

begin


graficfun;

end;


procedure TForm1.FormResize (Sender: TObject);

begin


with form1 do

Canvas.FillRect (Rect (0,0, ClientWidth, ClientHeight));

End;end.

Программаның орындалу нәтижесі 10.10 - суретте келтірілген.



10.10-сурет. F(x)=2sinx*ex/5функциясының графигі



жүктеу 10,41 Mb.

Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   29




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау