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



бет14/18
Дата11.06.2016
өлшемі5.29 Mb.
#128475
1   ...   10   11   12   13   14   15   16   17   18

9.1. –сурет. Файлды қалыптастыруға арналған форма терезесі
Ұсынылатын әдебиеттер: [1-9]
Бекіту сұрақтары:


  1. Файл дегеніміз не?

  2. Файлдық типтің қанша түрі бар?

  3. Тізбекті кіру мүмкіндігі бар файл дегенді қалай түсіндіресіз?

  4. Типтік файл дегеніміз не?

  5. Типтік емес файл дегеніміз не?

  6. Файлдармен орындалатын жұмыс түрлері қандай?

  7. Логикалық және физикалық файл дегеніміз не?

  8. Файлды ашудың түрлері қандай және олар қандай операторлармен орындалады?

  9. Файлдармен жұмыс істеуге арналған қандай процедуралар мен функциялар бар?

  10. Файлдарды бейнелеу тәсілдерін атаңдар және ол қалай жүзеге асырылады?

  11. Файлды құру және ашу процедуралары қалай жазылады?

  12. Бейнелеу объектілерін құру үшін қандай функция пайдаланылады?

  13. Мәліметтерді программаның адрестік кеңістігіне бейнелеу қалай жүзеге асырылады және оны орындайтын функция қандай?

  14. Терезені бейнелеу ресурстарынан босату қандай функцияның көмегімен жүзеге асырылады?

  15. Бейнелеу объектісі мен файлды жабу үшін қандай функция пайдаланылады?

  16. Delphi ортасында файлдар жұмысына негіз болатын класс қалай аталады?

  17. Ол кластың қандай әдістері бар? Сол әдістерге сипаттама беріңдер.

  18. Топта оқитын студенттер мәліметтерінен тұратын файл жазуы бар. Құрылған файлға төмендегідей операцияларды қолдану қажет:

  1. Файлды белгісі бойынша өсу ретімен іріктеу.

  2. Файлды белгісі бойынша кему ретімен іріктеу.

  3. Файлды алфавиттік ретпен реттеу.

  4. Топтағы оқитын студент жігіттерден тұратын файл жазуын қалыптастыру.

  5. Топтағы оқитын студент қыздардан тұратын файл жазуын құру.

  6. 1-2 курс студенттерінен файл жазуын құру.

  7. 4-5 курс студенттерінің файлын құру.

  8. Файлдан к–шы жазуды өшіру.

  9. Файлға жаңа жазу қосу.

  10. 5-курстағы студенттердің санын есептеп, тізімін экранға шығарыңдар.

  11. Жасы 20-дан жоғары студент жігіттердің санын есептеп, экранға шығарыңдар.

  12. 5-курс студенттері туралы барлық жазуды өшіріңдер.

К-шы жазуда тұрған студенттің туған жылын өзгерту.

Зертханалық жұмыс №15
Тақырыбы: Delphi – дің графикалық және мультимедиялық мүмкіндіктері
Мақсаты Delphi ортасының жұмысына жалпы сипаттама
Қолданылатын материалдар мен құрал- жабдықтар:

Компьютер, Delphi программалау ортасы
Теориялық түсініктеме:

Delphi ортасында графикалық құралдарды пайдалануды жеңілдететін арнайы кластар қарастырылған: контекст үшін – Tcanvas, шривт үшін – Tfont, қалам үшін – Tpen, қылқалам үшін – Tbrush. Осы кластарға байланысты объектілер барлық көрінетін элементер үшін автаматты түрде құрылып, программада – canvas, font, pen және brush қасиеттері арқылы жүзеге асырылады.

Tfont қаласының көмегімен кез келген графикалық құрылғы (экран, принтер, плоттер және т.б.) үшін шрифт объектісі құрылады.

Tpen қаласының көмегімен ызықтарды сызуға арналған қалам объектісі құрылады.

Tbrush қаласының объектілері тұйық фигуралардың ішін толтыру қызметін атқарады.

Tcanvas класы әртүрлі құралдармен – қалам, қылқалам, шрифт- сурет салынатын кенепті құруға мүмкіндік береді. Tcanvas класының объектілері барлық көрінетін компоненттер үшін автоматты түрде құрылады. Аталған кластардың бірнеше қасиеттері бар.



Canvas қасиеті

Delphi програмистке экранға графикалық бейнелерді шығаратын программаларды жасауға мүмкіндік береді.

Программа графиканы объектінің бетіне (форма немесе Image компоненті) шығарады. Объектінің бетіне Canvas қасиеті сәйкес келеді. Объектінің бетіне графикалық элементті шығару үшін осы объектінің Canvas қасиетіне сәйкес әдісті қой керек. Мысалы, Form1. Canvas.Rectangle (10,10,100,100) инструкциясы программа терезесінде төртбұрыш салады.

Кенеп

Жоғарыда айтылып кеткендей, графиканы программа бетіне шығаратын қасиет – Canvas қасиеті. өз кезегінде Canvas қасиеті – бұл Canvas типті объект. Бұл типтің әдістері графикалық примитивтерді (нүктелер, сызықтар, төртбұрыштар) шығаруды қамтамассыз етеді, ал қасиеті бұл приметивтердің сипаттамасын (түсі, сызықтардың ені және стилі, шрифті, т.б.) бере алады.

Графикалық приметивтерді шығару әдістердің Canvas қасиеті сурет сала алатын абстрактілі бет ретінде қарастыралады. Бет бөлек нүктелерден – пикселдерден тұрады. Пикселдің орны оның горизанталь (Х) және вертикаль (У) осьтері арқылы сипатталынады. Жоғарғы сол жақ пикселдің координатасы (0,0). Координаттар жоғарыдан төмен және солдан онға қарай өседі. Беттің өлшемін Height және Width қасиеттері арқылы өзгертуге болады.

Қалам және қылқалам. Суретші өз жұмысында қаламды және қылқаламды қолданады. Бетте осы примитивтерді салу әдістерін қамтамассыз ететін Pen (қалам) және Brush (қылқалам) қасиеттері қолданылады. Қалам сызықтарды, ал қылқалам контурмен шектелген облыстарды салу үшін пайдаланылады.

Қалам

Қалам нүктелерді, сызықтарды, геометриялық фигураларды: шеңбер, төрбұрыш, элипс, және т.б. суреттерді салу үшін қолданылады. Томенгі кестеде Треn объектінің қасиеттері көрсетілген.




Қасиет

Анықтамасы

Color

Сызық түсі

Width

Сызық ені

Style

Сызық түрі

Mode

Тәртіп бейнесі

Color қасиеті қаламмен салынған сызықтың түсін анықтайды. Келесі кестеде Color қасиетінің мәні ретінде пайдалануға болатын белгілі тұрақтылар берілген.




Тұрақты

Түсі

Тұрақты

Түсі

ClBlack

Қара

ClSilver

Жалтыр сұр

ClMaroon

Каштан

ClRed

Қызыл

ClGreen

Жасыл

Clime

Салат

ClOlive

Олив

ClBlue

Көк

ClNavy

Көк қара

ClFutshia

Ақшыл қызыл

ClPurple

Ақшыл қызыл

ClAqua

Көкшіл

ClTeal

Көк жасыл

ClWhite

Ақ

ClGray

Сұр






Width қасиеті сызықтың енін береді. Мысалы, Canvas.Pen.Width:=2 операторы ені 2 пиксель болатын қызыл түсті сызықты сызады.

Style қасиетті сызықтың стилін көрсетеді. Ол түзу, шрихталған немесе ирек болуы мүмкін. Төменгі кестеде сызықтың стилін көрсететін тұрақтылар келтірілген. Жартылай пунктир сызықтың ені 1 – ден көп болуы мүмкін емес. Pen.Width қасиетіне бірден үлкен мән берсек, онда жартылай пунктир сызығы жай сызық болып шығады.


Тұрақты

Сызық түрі

PsSolid

Жай сызық

PsDush

Пунктир ұзын штрих

PsDot

Пунктир, қысқа штрих

PsDush

Dot


Пунктир, ұзын және қысқа штрихпен аралас

PsDush

DotDot


Пнуктир, бір ұзын бір қысқа штрих аралас

PsClear

Сызық көрінбейді

Mode қасиеті нүкте түсі мен бет түсінің үйлесімділігін анықтайды. Келісім бойынша сызық Pen.Color қасиетінің мәнімен сызылады.

Бірақ, программист фон түсіне байланысты сызық түсін өзгерте алады. Төменгі кестеде Pen.Mode қасиетінің мәні ретінде қолданылатын тұрақтылар сипатталған.





Тұрақты

Сызық түсі

MpBlask

Қара, Pen.Color қасиетінің мәнінен тәуелсіз

MpWhite

Ақ, Pen.Color қасиетінің мәнінен тәуелсіз

MpCopy

Сызық түсі Pen.Color қасиетінің мәніне тәуелді

MpNotCopy

Сызық түсі Pen.Color қасиетінің мәніне инверсиялы

MpNot

Сызық түсі бет нүктелерінің түсіне инверсті

Қылқалам

Қылқалам тұйықталған бөліктерді салу әдісімен, мысалы геометриялық фигураларды салумен сипатталады. Қылқалам, объект ретінде төменде келтірілген екі қасиетке ие.



Қасиет

Сипаттама

Color

Тұйықталған бөлікті салу түсі

Style

Бөлікті толтыру стилі

Контур ішіндегі бөлік боялған немесе штрихталған болуы мүмкін. Бөлікті штрихтаудың төменгі кестеде сипаттаған мынадай түрлері бар:


Тұрақты

Бөлікті толтыру типі

BsSolid

Жай

BsClear

Бөлік боялмайды

BsHorisontal

Горизонталь штрих

BsVertical

Вертикаль штрих

BsFDiagonal

Сызықтары алға бағытталған диагональды штрих

BsBDiagonal

Сызықтары төмен бағытталған диагональды штрих

BsCross

Торлы горизонталь




Вертикаль бағыттағы штрих

BsDiagCross

Торлы диагональды штрих


Мәтінді шығару

Графикалық объектінің бетіне мәтінді шығару үшін TexOut командасы олданылады. Оның жалпы түрі:

Объект.Canvas.TextOut(x,y,Мәтін)

X




Y

Мәтінді шығару

облысы.


10.1 – сурет. Canvas – форманың немесе компоненттің беті.
Мұндағы

Объект – мәтін шығаратын объект аты;

х,у – мәтін шығаратын графикалық беттің координатасы;

Мәтін – символ типті айнымалы немесе тұрақты.


Мәтінді шығару үшін қоланылатын шрифт Canvas объектісіне сәйкес Font қасиеті арқылы анықталады. Төменгі кестеде Tfont объектісінің қасиеттері келтірілген.

Қасиет Сипаттамасы

Name Қоланылатын шрифт мәні ретінде

шрифтің атын көрсеткен жөн.

Size Шрифт өлшемі.

Style Символдардың стилі. Ол әртүрлі

болуы мүмкін (fsbold,fsItalic, fsUderlinhe,

fsStrikeOut).

Color Символ түсі.
Програманың келесі фрагменті TexOut функциясының қолданылуын көрсетеді.

With From1.Canvas do

Begin

Font.Name:=’Tahoma’;



Font.Size:=20;

Font.Style:=[fsItalic,fsBold];

Brush.Stile:=bsClear;

TextOut(10,10,’Borland Delphi 7’);

End;

Графикалық примитивтерді салу әдістері
Түзу. Түзу сызықты салу әдісі LineTo командасы арқылы орындалады. Оның жалпы түрі:

Компонент.Canvas.LineTo(x,y)

LineTo әдісі түзу сызықты қаламның ағымдағы орнынан координатасы көрсетілген нүктеге дейін салады. Түзудің бастапқы нүктесін қаламды графикалық беттің керекті нүктесіне жылжыту арқылы орындауға болады. Оны MoveTo параметр арқылы беруге болады.

Графикалық беттегі түзудің түсі Pen объектісінің қасиеті арқылы беріледі.



Сынық сызық. Poliline әдісі сынық, кесінділер сызады. Параметр ретінде бұл әдіс Tpoint типті массивті алады. Массивтің әр элементі жазу ретінде қарастырылады, x және y өрістері иілу нүктелерінің координаталары.

Шеңбер және эллипс. Ellips әдісі берілген параметрге байланысты эллипс немесе шеңбер сызады. Оның жалпы түрі:

Объект.canvas.Ellips(x1,y1,y2,y2);

Мұндағы:

Объект – сызу орындалатын беттің объектісі; x1,y1,y2,y2 – ішіне шеңбер салынатын тіктөртбұрыштың координаталары.

X1,Y1 x1,y1




X2,Y2 x2,y2



10.3-сурет. Объектілердің беттегі орналасуы

Доға. Доғаны салу Arc әдісі арққылы орындалады. Оның жалпы түрі:

Объект. canvas.Arc(x1,y1,y2,y2,x3,y3,x4,y4)

Мұндағы,


x1,y1,y2,y2 - эллипсті анықтайтын параметрлер;

x3,y3 – доғаның бастапқы нүктесін анықтайтын параметр;

x4,y4 – доғаның соңғы нүктесін параметр;

Бастапқы нүкте – бұл эллипс және түзу шекараларының қиылысу нүктесі. Бұл шекара эллипс центрінен (x3,y3) нүктесіне дейінгі кесінді.

Доғаның түсі, ені, түзу стилі беттегі Pen қасиетімен анықталады.

X1,y1 x3,y3

X4,y4


x2,y2


10.4-сурет.Доға

Тіктөртбұрыш. Тіктөртбұрыш Rectangle әдісі арқылы салынады. Оның жалпы түрі:

Объект.Canvas. Rectangle(x1,y1,x2,y2)


x1,y1


y3

x2,y2



10.5-сурет. Тіктөртбұрыш

Мұндағы:


Объект – объект немесе компонент аты;

X1,y1 және x2,y2 – тіктөртбұрыштың жоғарғы сол жақ және төменгі оң жақ коорданаталары.

Кейде Объект.Canvas.rectangle(x1,y1,x2,y2,x3,y3) болады. Параметр ретінде әдіс Tpoint типті массив алынады. Массивтің әр элементі жазба ретінде қарастырылады. Poligon әдісі координаталары массивте орналасқан нүктелерді түзу арқылы қосады. Мұнда бірінші нүкте мен екінші нүкте, екінші мен үшінші т.с.с. соңында біріншісі мен соңғысы қосылады.

Төменде Poligon әлісін қолданған процедура жазылған.

Procedure TForm1.Button2Click(sender:TObject);

Var


Pol:array:[1..3] of Tpoint;

Begin


Pol[1].x:=10;

Pol[2].x:=20;

Pol[3].x:=30;

Pol[4].x:=40;

Pol[5].x:=50;

Pol[6].x:=60;

Pol[7].x:=70;

Form1.canvas.Poligon(pol);

Сектор. Ріе әдісі арқылы эллипс немесе шеңбердің секторы саланады. Оның жалпы түрі:

Объект.Pie(x1,y1,y2,y2,x3,y3,x4,y4)


x1,y1 x3,y3 x1,y1 x4,y4
x4,y4 x3,y3

x2,y2 x2,y2


10.6-сурет. Сектор

Мұндағы


x1,y1,y2,y2 – эллипстіңі бөлшегі болатын сектордың параметрлері;

x3,y3,x4,y4 – сектордың шекаралары болатын түзулердің соңғы координата нүктелері. Түзулердің бастапқы нүктелері эллипс центрімен сәйкес келеді. Сектор сағат тіліне қарсы қиылады.


Мультипликация.

Мультипликация дегеніміз қозғалыстағы сурет. Суретті қозғалысқа келтіру үшін суретті экранға шығарып, біраз уақытқа өшіру керек. Содан кейін оны тағы экранға басқа орынға шығару қажет.

Мультипликация мүмкіндігі демонстрациялайтын төмендегі программаны қарастырайық.

5-мысал.



10.11-сурет. Форма терезесі

unit Unit1;

interface uses

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

Dialogs, ExtCtrls;

type

TForm1 = class(TForm)



Timer1:TTimer;

procedure Timer1 Timer (Sender: TObject);

procedure FormActivate (Sender: TObject);

private


{Private declarations}

public


{Public declarations}

end;
var

Form I :TForm I;

x, y ,byte;

dx :byte;

implementation

{$R.*dfm}

procedure ris;

begin

form I .Canvas .Pen .Color :=form I .Color;



form I . Canvas .EIIipse (x ,y, x+10 ,y+10 ):

x: =x+dx;

formI .Canvas. Pen .Coior :=cl Black;

form I .Canvas.EIIipse (x, y, x +10, y +10);

end;

procedure TForm1.Timer1 Timer (Sender: TObject);



begin

ris;


end;

procedure TForm1.FormActivate (Sender: TObject);

begin

x:=0;


y:=10;

dx:=5;


timer1.Interval:=50;

form1.Canvas.Brush.Color:=form1.Color;

end;

end.
Мұнда негізгі жұмысты ris процедурасы орындайды. Осы процедураның периодты түрде шақырылуын System бетіндегі timer компоненті қамтамасыз етеді.


timer


10.12-сурет. System беті

Delphi – дің мультимедиялық мүмкіндіктері

Delphi ортасында мультимедиялық программалар жасау үшін екі компоненттің қызметтін пайдалануға болады:



  • Animate – жай анимацияны шығаруға мүмкіндік бкркді.

  • MediaPlayer – аса қиын есептерді шешүге мүмкіндік береді.

Мысалы, дыбысты, видеороликтерді, дыбысты бар анимацияны шығару және т.б.

Animate компоненті

Animate компоненті Win32 бетінде орналасқан№ ол кадрлары A VI – файлдарында орналасқан анимациямен жұмыс істеуге мүмкіндік береді.



Animate


10.13-Win32 беті

Animate компоненті формаға әдеттегідей орнатылады. Қосқаннан кейін оның сәйкес қасиеттерін тағайындау керек. Animate компонентінің қасиеттері төмендегі кестеде келтірілген.




Қасиет

Анықтамасы

Name

Компонент аты

FileName

Анимация орналасқан A VI – файлының аты

StartFrame

Анимация басталатын кадр номері

StopFrame

Анимация бітетін кадр номері

Activate

Анимация кадрларын активизациялау белгісі

Color

Анимация жасалынатын фон түсі

Transpanent

Мөлдір түс тәртібі

Repetitions

Анимацияның қайталану саны


Достарыңызбен бөлісу:
1   ...   10   11   12   13   14   15   16   17   18




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

    Басты бет