Delphi программалау ортасында графикалық компоненттерді пайдалану әдістемесі

Автор работы: Пользователь скрыл имя, 21 Сентября 2013 в 18:18, дипломная работа

Краткое описание

Жалпы білім беретін орта мектептің жоғары сыныптарында информатика пәнін оқытуда, объектілік бағдарланған программалау негіздерін қарастырамыз. Object Pascal тілі – Delphi ортасындағы негізгі программалаушы құрал болып табылады. Бұл бөлімнің негізгі тақырыптарының бірі ішкі программалармен жұмыс істеу іскерліктері екендігі белгілі. Бұл тақырыпты меңгеру оқушыларға көбінесе қиындық туғызып отырады. Сондықтан теориялық мағлұматтар мен жаттығу есептерін тиянақты берудің оқу процесінде өзіміз қолданып жүрген тәсілін ұсынамыз.

Содержание

Кіріспе……………………………………………………………………3
І. Графикалық мүмкіндіктер................................................5
1.1 Қозғалысты программалау………………………………5
1.2 Индикаторларды пайдалану…………………………5
1.3 Қарапайым графиктерді сызу әдістері…………………9
1.4 Функциялардың графиктері мен диаграммаларын сызу…………11
ІІ. Мультимедиялық мүмкіндіктер..…………………………12
2.1 Animate компоненті……………………………………………12
2.2 MediaPlayer компоненті…………………………………15
2.3 Дыбыс шығару. Дыбысты жазу.………………………………….....16
2.4 Видеороликтер мен анимацияларды көру………………………19
2.5 Анимацияны құру……………………………………………………20
III. Объектілі- бағдарлы программалаудың элементтері.………… 23
3.1 Объектілі-бағдарлы тәсілдердің негіздері..………………………23
3.2 Protected және private нұсқаулары……………………………27
3.3 Полиморфизм және виртуалдық әдістер………………………27
3.4 Қолданушының компоненттерін құру…………………………28
Қорытынды…………………………………………………………………38
Пайдаланылған әдебиеттер тізімі………………………………………39
Қосымшалар………………………………………………………………40

Вложенные файлы: 1 файл

Дип.-Delphi-программалау-ортасында-графикалық-компоненттерді-пайдалану-әдістемесі.doc

— 761.00 Кб (Скачать файл)

Қылқалам (Canvas. Brush) тұйық аймақтарды сызатын және сол облыстарды бояуды қамтамасыз ететін әдіс ретінде қолданылады. Қылқалам объект сияқты екі қасиетке ие:

Color – тұйық облысты бояйтын түс;

Style – аймақты толықтыру стилі (типі).

Brush.Color қасиетінің мәні ретінде жоғарыда айтылып өткен TСolor типті атаулы тұрақтылардықолдануға болады.

Brush.Style қасиеті мындай мәндерді қабылдайды :

bsSolid – біркелкі бояу;

bsClear – облыс болмайды;

bsHorizontal – көлденен штрих;

bsVertical – тік штрих;

bsFDiagonal – ілгері қарай көлбеген диагоналдық штрих.

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

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

Объект.Canvas. TextOut(x, y, Текст);

Мұндағы  х, у – шығатын мәтіннің координат нүктелері; Текст – айнымалы немесе символдық типті тұрақты (шығарылатын мәтін).

TextOut әдісімен шығарылатын мәтін облысының оң жақ шекара координаттарын, PenPos қасиетін пайдыланып алуға болады, мысалы:

TextOut(PenPos.x, PenPos.y, (‘руб.’);

                 

    1. Қарапайым графиктерді сызу әдістері

 

LineTo әдісі түзуді қарандаштың ағымдағы орнынан координатасы көрсетілген нүктеге дейін сызады.

Объект.Canvas.LineTo(х, у);

MoveTo әдісі қарандашты белгіленген нүктеге апарады:

Объект.Canvas.MoveTo(х, у);

Ellipse әдісі эллипс сызады (жеке жағдайда, шеңбер – параметр мәндеріне тәуелді болады):

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

Мұндағы х1, у1, х2, у2 – ішіне эллипс сызылатын тіктөртбұрыш координаттары. 

Arc әдісі доға сызады:

Объект.Canvas.Arc(x1, y1, x2, y2, х3, у3, х4, у4);

Мұндағы х1, у1, х2, у2 – эллипс параметрлері, эллипс бөлігі яғни сызылатын доға болады.

Rectangle әдісі тіктөртбұрыш сызады:

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

Мұндағы х1, у1 және х2, у2 – сол жақ үстінгі және оң жақ астынғы тіктөртбұрыш бұрыштарының координаттары.

FillRect әдісі Brush.Color қасиеті арқылы берілген түсімен тіктөртбұрышты бояйды. Бұл әдістің бір ғана параметрі бар, бұл структуранының TRect типі. Мысалы:

var

R :Rect(20, 20, 150, 150);

with Canvas do

begin

Brush.Color:=clRed;

FillRect(R);

end;

end;

Canvas  объектінің қасиеттері

Айтып кеткендей, программа орындайтын графиктерді бетке шығару үшін Canvas қасиеті келеді. Canvas объектісінің Pixels қасиетін пайдалана отырып, графикалық беттің кез келген нүктесін қажетті түске бояуға болады. Мысалы, нұсқауы

Form1.Canvas.Pixels[10, 10] :=clRed;

форм бетіндегі нүктені қызыл түске бояйды.

Мысал1. Форма бетіне олимпиядалық жалау суретін салайық. Объектіні  Image компонентінің үстіне шығарамыз. Формаға Image, button1 компоненттерін орналастырамыз. Button1 компонентінің Caption қасиетіне «сурет салу» мәнін енгіземіз. Button1 компонентінің Onclick  оқиғасын құрамыз. Коды:

procedure TForm1.Button1Click(Sender: TObject);

begin

with Image1.canvas do

begin

pen.Width:=1;Pen.Color:=clblack;

brush.Color:=clcream;Rectangle(30,30,150,115);

pen.Width:=2;brush.Style:=bsclear;

Pen.Color:=clblue;ellipse(40,40,80,80);

Pen.Color:=clblack;ellipse(70,40,110,80);

Pen.Color:=clred;ellipse(100,40,140,80);

Pen.Color:=clyellow;ellipse(55,65,95,105);

Pen.Color:=clgreen;ellipse(85,65,125,105);

end;

end;

 

 

 

    1. Функциялардың графиктері мен диаграммаларын  сызу

 

Sin (K* pi/10 ) функциясы берілген, K=0…20. Функцияның графигін салайық (4 - сурет). 

Функцияның графигін сызу үшін      

Chart1.SeriesList[0]. AddXY(k,

( sin(k*pi/10)),'  ',  clGreen)    оперторын қолдануға болады.

unit Graf_sin_s;

interface

uses

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

  TeEngine, Series, ExtCtrls, TeeProcs, Chart;

type

  TForm1 = class(TForm)

    Chart1: TChart;

    Series2: TLineSeries;

    procedure FormActivate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormActivate(Sender: TObject);

var k: integer;

begin

for k:=0 to 20 do

Chart1.SeriesList[0]. AddXY(k,(sin(k*pi/10)),'  ',  clGreen);end;    end.

 

Синус функциясының графигі

 

ІІ.  Мультимедиалық мүмкіндіктер

 

         TMediaPlayer - компоненті әртүлі мультимедиялық  құрылғылардан: компакт дискілері, дыбыстық карталары және т.б. тұрады. TmediaPlayer компонентінің бірнеше батырмалары бар, олар өздеріне тиісті қызметтерін атқарады.

Windows жүйесінің бүкіл қосымшаларында өзінің дербес менюі болады. Меню қолданушылық интерфейсінің тараған түрінің бірі, ол функциональды қасиеттері бойынша біріктірілген пункттер тізімі болып келеді, олардың  әрқайсысы команда немесе іштей менюді көрсетеді. Қосымшада бір басты меню және бірнеше контекстік меню болады. Негізгі меню бүкіл қосымшаны басқаруға, контекстік менюдің әрқайсысы жеке интерфейстік элементі басқаруға арналған.

 

2.1. Animate компоненті

Animate компоненті Win32 парағында орналасқан, ол   кадрлары  AVI-файлында орналасқандар үшін анимацияны шығаруға мүмкіндік береді.

Animate компонентінің белгісі

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

Animate компонентінің қасиеттері

 

Қасиет

Қызметі

 
 

Name

Компоненттің аты.

 
 

FileName

Компоненттің көмегі арқылы бейнеленетін анимация орналасқан AVI-файлының аты.

 
 

StartFrame

Анимацияның бейнеленуі басталатын кадрдың нөмірі

 
 

stopFrame

Анимацияның бейнеленуі аяқталатын кадрдың нөмірі

 
 

Activate

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

 
 

Color

Анимация іске қосылатын  компоненттің фонының түсі

 
 

Repetitions

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

 
       

 Чтобы увидеть,  что находиться в AVI-файлда не нәрсе бар екендігін көру үшін Windows-тан қажетті буманы ашып AVI-файлын көрсетіп жанама менюден Свойства командасын таңдап алу керек:

 

Сводка  парағында AVI-файлы

туралы ақпарат шығады

Просмотр анимации

                     программасының формасы

 

Келесі программа  Animate компонентінің қолдануына мысал келтірілген:

Animate1 компонентінің қасиеттері

 

Қасиеттер

Мәні

 
 

FileName

bart.avi

 
 

Active

False

 
 

Transparent

True

 

 

unit ShowAVI_;

 

interface

 

uses

Windows, Messages, SysUtils,

Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls;

 

type

TForm1 = class(TForm)

Animate1: TAnimate;

// Animate компоненті

Button1: TButton; //  Пуск-Стоп  батырмасы

Button2: TButton; // келесі кадр

Button3: TButton; // алдыңғы кадр

RadioButton1: TRadioButton;

// барлық анимацияны қарап шығу

RadioButton2: TRadioButton;

// әр кадр бойынша қарап шығу 

 

procedure Button1Click(Sender: TObject);

 

procedure Button2Click(Sender: TObject);

 

procedure Button3Click(Sender: TObject);

 

procedure RadioButton1Click(Sender: TObject);

 

procedure RadioButton2Click(Sender: TObject);

 

private

{ Private declarations }

public

{ Public declarations )

 

end;

 

var Form1: TForm1; // форма

CFrame: integer;

 

implementation {$R *.DFM}

 

procedure TForm1.Button2Click(Sender: TObject);

begin

if CFrame = 1 then

Button2.Enabled := True;

if CFrame < Animate1.FrameCount then begin

CFrame := CFrame + 1;

Animate1.StartFrame := CFrame;

Animate1.StopFrame := CFrame;

Animate1.Active := True;

if CFrame = Animatel.FrameCount

then Button2.Enabled:=False;

end;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

if CFrame = Animate1.FrameCount

then Button2.Enabled := True;

if CFrame > 1 then begin

CFrame := CFrame — 1;

Animate1.StartFrame := CFrame;

Animate1.StopFrame := CFrame;

Animate1.Active := True;

if CFrame = 1 // текущий кадр — первый

then Form1.Button3.Enabled := False;

end;

end;

 

procedure TForml.RadioButtonlClick(Sender: TObject);

begin

Buttonl.Enabled:=True;

 

Form1.Button3.Enabled:=False ;

Form1.Button2.Enabled:=False;

end;

 

procedure TForm1.RadioButton2Click(Sender:TObject);

begin

Button2.Enabled:=True;

Buttons.Enabled:=False

Buttonl.Enabled:=False; end;

 

procedure TForm1.ButtonlClick(Sender: TObject);

begin

if Animate1.Active = False

then begin

Animate1.StartFrame:=l;

 

Animate1.StopFrame:=Animate1.FrameCount;

Animate1.Active:=True;

Button1.caption:='Стоп';

RadioButton2.Enabled:=False;

end

else

begin

Animate1.Active:=False;

Button1.caption:='Пуск';

RadioButton2.Enabled:=True;

end;

end;

 

end.

 

 

comonAVi  қасиетінің мәндері  анимацияны анықтайды 

 

Мән

Анимация

Процесс

 
 

АviCopyFiles

Файлды көшіру

 
 

AviDeleteFile

Файлды алып тастау

 
 

aviRecycleFile

Файлды корзинаға алып тастау

 

 

2.2. MediaPlayer компоненті

MediaPlayer компонентінің  белгісі  System  парағында орналасқан. Ол видеороликтерді, дыбысты және ды быспен байланысқан анимацияны шығаруға мүмкіндік береді. 

MediaPlayer   компонентінің белгісі

.

MediaPlayer    компоненті

MediaPlayer компонентінің батырмалары

         
 

Батырма

Белгіленуі

Атқаратын қызметі

 
 

Шығару

btPlay

Дыбыс немесе аудионы  шығару

 
 

Пауза

btPause

Шығаруды  уақытша тоқтату

 
 

Стоп

btStop

Шығаруды   тоқтату

 
 

Келесі

btNext

Келесі кадрге көшу

 
 

Алдыңғы

btPrev

Алдыңғы кадрге көшу

 
 

Қадам

btStep

Келесі дыбыстық фрагментке көшу, мысалы CD-дегі келесі әнге көшу

 
 

Назад

btBack

Алдыңғы дыбыстық фрагментке көшу, мысалы CD-дегі алдыңғы әнге көшу

 
 

Жазу

btRecord

Жазу

 
 

Ашу/Жабу

btEject

Компьютердің CD-дисководын ашу немесе жабу

 

2.3. Дыбысты  шығару

Дыбыстық фрагменттер  WAV кеңейтілуі бар файлдарда орналасқан. Мысалы, C:\Winnt\Media каталогында Windows стандартты дыбыстары бар файлдарды табуға болады.

Келесі программа WAV-файлдарда орналасқан дыбыстық фрагменттерді шығару үшін ediaPiayer компонентін пайдалану мүмкіндігін көрсетеді.

 

Microsoft Windows-тың  дыбыстары  программасының формасы

 

MediaPlayer1 компонентінің қасиеттерінің мәндері

       
 

Компонент

Мәні

 
 

DeviceType

DtAutoSelect

 
 

FileName

C:\Winnt\Media\3вук Microsoft.wav

 
 

AutoOpen

True

 
 

VisibleButtons . btNext

False

 
 

VisibleButtons .btPrev

False

 
 

VisibleButtons . btStep

False

 
 

VisibleButtons . btBack

False

 
 

VisibleButtons . btRecord

False

 
 

VisibleButtons .btEject

False

 
       

 

  Листинг:

 

unit WinSound_; interface

uses

Windows, Messages, SysUtils,

Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, MPlayer;

type

TForm1 = class(TForm)

MediaPlayerl: TMediaPlayer; // медиаплеер

Label1: TLabel;

ListBox1: TListBox;

Label2: TLabel;

procedure FormActivate(Sender: TObject);

procedure ListBoxlClick(Sender: TObject);

procedure MediaPlayerlClick(Sender: TObject; Button: TMPBtnType;

var DoDefault: Boolean); private

{ Private declarations } public

{ Public declarations } end;

const

SOUNDPATCH='с:\winnt\media\';

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormActivate(Sender: TObject);

var

SearchRec: TSearchRec;

begin

Form1.MediaPlayer1.Play ;

 

if FindFirst(SOUNDPATCH+'*.wav', faAnyFile, SearchRec) =0 then

begin

 

 

Form1.ListBox1.Items.Add(SearchRec.Name) ;

 

while (FindNext(SearchRec) = 0) do

Form1.ListBox1.Items.Add(SearchRec.Name);

end;

end;

 

procedure TForm1.ListBoxlClick(Sender: TObject);

begin

 

Label2.Caption:=ListBox1.Items[ListBox1.itemlndex];

 

procedure TForm1.MediaPlayerlClick(Sender: TObject; Button: TMPBtnType;

var DoDefault: Boolean); begin

if (Button = btPlay) and (Label2.Caption <> '') then

begin

 

with MediaPlayerl do begin

FileName:=SOUNDPATCH+Label2.Caption;

Open;

end;

end;

end;

end.

 

 

Дыбысты  жазу

Дыбыстық фрагментті алу үшін Windows-тың құрамындағы Звукозапись программасын пайдалануға болады. Ол үшін Пуск | Программы | Стандартные | Развлечения | Звукозапись командаларын таңдак керек.

Звукозапись

программасының диалогтық  терезесі

WAV-файл келесі түрде  құрылады.  Алдымен дыбыстың қайнар  көзін анықтау керек. Ол үшін  Параметры менюінен Свойства командасын алып Регулятор громкости таңдау керек. Сонан соң Запись айырғышын таңдап Отображаемые регуляторы громкости тізіміндегі керекті сигналдарды орнату үшін жалаушаларды таңдау керек. Енді дыбысты жазуға көшуге болады.

Информация о работе Delphi программалау ортасында графикалық компоненттерді пайдалану әдістемесі