Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
сурет. Дыбысты анимацияны сүйемелдеу терезесі.
7 мысал.
unit Win_medPlay;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, MPlayer, ExtCtrls;
type TForm2 = class(TForm) Panel1: TPanel; Label1: TLabel; MediaPlayer1: TMediaPlayer; Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject); begin MediaPlayer1.Play; end;
procedure TForm2.FormCreate(Sender: TObject); begin mediaPlayer1.DisplayRect: =Rect(0, 0, 60, 60); end;
7 мысал. Форманың бетінде сағ аттық, минуттық жә не секундтық стрелкасымен жү ріп тұ рғ ан сағ атты бейнелейтін программаны қ ұ райық.
unit сlock;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type TForm3 = class(TForm) PaintBox1: TPaintBox; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure Timer1Timer(Sender: TObject);
procedure Vector(x0, y0, a, l: integer) procedure DrawClock;
private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm} uses DateUtils; //SecondOf, //MinuteOf жә не HourOf кіру ү шін const R=75; // сағ ат циферблатының радиусы бұ рышы var x0, y0: integer; //циферблат центрі ahr, amin, asec: integer; //бағ ыттауыш стрелкалар бағ ыты //форманы инициализациялау procedure TForm1. FormCreate(Sender: TObject); var t: DateTime; begin //циферблаттың ө лшеміне сә йкес //форманың ө лшемін береміз ClientHeight: =(R+10)*2; ClientWidth: = (R+10)*2; x0: =R+10; y0: =R+10; t: Now(); //бағ ыттауыш стрелкалар бағ ыты ahr: =90-HourOf(t)*30-(MinuteOf(Today)div 12)*6; amin: =90-MinuteOf(t)*6; asec: =90- SecondOf(Today)*6; Timer1.Interval: =1000; // 1сек таймер сигналының периоды Timer1.Enabled: =True; //таймерді қ осу End; //(x0, y0)нү ктесінен берілген ұ зындық пен вектор сызылады
procedure Tform1.Vector(x0, y0: integer; a, l: integer); // x0, y0-вектродың басы // a-X осі мен вектор арасындағ ы бұ рыш // l-вектордың ұ зың дығ ы const GRAD=0.0174532; //бұ рышты градустан радионғ а есептеу коэффициенті var x, y: integer; //вектордың соң ғ ы нү ктесінің координатасы begin Canvas.MoveTo(x0, y0); x: =Round(x0+1*cos(a*GRAD)); y: =Round(y0-1*sin(a*GRAD)); Canvas.LineTo(x, y); end; // бағ ыттауыш стрелкалар procedure DrawClock; var t: TDateTime; begin //сызады секундтық жә не минуттық стрелкалар қ адамы 6 градус //сағ ат-30 //стрелкалар бейнесін ө шіру Canvas.Pen.Color: =clBtnFace; Canvas.Pen.Width: =3; //сағ аттық Vector(x0, y0, ahr, R-20); //минуттық Vector(x0, y0, amin, R-20); //секундтық Vector(x0, y0, asec, R-7); T: =Now();
//стрелкалардың жаң а орналасу жағ дайы ahr: =90-HourOf(t)*30-(MinuteOf(Today)div 12)*6; amin: =90-MinuteOf(t)*6; asec: =90- SecondOf(t)*6; //стрелкалар салу //сағ аттық стрелка Canvas.Pen.Width: =3; Canvas.Pen.Color: =clBlack; Vector(x0, y0, ahr, R-20); //минуттық стрелка Canvas.Pen.Width: =2; Canvas.Pen.Color: =clBlack; Vector(x0, y0, amin, R-15); //секундтық стрелка Canvas.Pen.Width: =1; Canvas.Pen.Color: =clYellow; Vector(x0, y0, asec, R-7); end; //циферблат пен бастапқ ы стрелкаларды салу procedure Tform1.FormPaint(Sender: TObject); var x, y: integer; //циферблаттағ ы маркер координаты a: integer; //OX осі мен (x0, y0), (x, y) арасындағ ы бұ рыш pc: TColor; //қ арындаш тү сі pw: integer; //қ арындаш ені begin pc: = Canvas.Pen.Color pw: = Canvas.Pen.Width; Canvas.Pen.Width: =1; Canvas.Pen.Color: =clBlack; a: =0; //сағ ат стрелкасына қ арсы //сағ ат 3-тен бастап белгі қ оямыз //циферблат While a< 360 do begin x: =x0+Round(R*cos(a*2*pi/360)); y: =x0-Round(R*sin(a*2*pi/360)); Form1.Canvas.MoveTo(x, y); if (a mod 30) do then Canvas.Ellipse(x-2, y-2, x+3, y+3) else Canvas.Ellipse(x-1, y-1, x+1, y+1) a: =a+6; //1 минут - 6 градус end; //қ арындаш, қ ыл қ аламды қ алпына келтіру Canvas.Pen.Width: =pw; Canvas.Pen.Color: =pc; DrawClock; end; //сағ ат стрелкасының ағ ымдағ ы жағ дайын салу procedure Tform1.Timer1Timer(Sender: TObject); begin DrawClock;
end;
end.
Ұ сынылатын ә дебиеттер: [1-9] Бекіту сұ рақ тары: 1. Графикалық қ ұ ралдары пайдалануғ а арналғ ан кластарды атаң дар. 2. Шрифт қ андай кластың кө мегімен қ ұ ралады? 3. Сызық қ андай кластың кө мегімен қ ұ ралады? 4. Толтыру қ андай кластың кө мегімен қ ұ ралады? 5. Кенеп қ андай кластың кө мегімен қ ұ ралады? 6. Қ аламның қ андай қ асиеттері бар? 7. Қ ылқ аламның қ ызметі не? 8. Графикалық бетке мә тін қ алай шығ арылады? 9. Графикалық примитивтерді салудың қ андай ә дістері бар? 10. Image компонентінің қ ызметі қ андай? 11. Сурет шығ ару ү шін қ андай компонент пайдаланылады? 12. Мультипликация дегеніміз не? 13. Мультимедиялық программалар қ андай компоненттің кө мегімен қ ұ ралады? 14. Видеороликтер, дыбысы бар анимациялар қ андай компоненттердің кө мегімен орындалады? 15. Media Player компонентінде қ андай қ ызметтер қ амтылғ ан? 16. Дыбыс шығ ару ү шін қ андай компонент қ олданылады? Пайдаланылғ ан ә дебиеттер 1. Давыдова Е.В., Скородумов И.А., Балаханов В.А. Создание базовых элементов интерфейса Windows программы в среде Delphi. Информатика и образование. № 4, 5, 6. 2002. 2. Дудина И.П. Построение графиков функций в Delphi. Информатика и образование. №6, 2003, стр.27 -31. 3. Кнопка Р. Создание оригинальных компонентов в среде Delphi. Пер.с англ.Рей.К.: НИПФ «Диа Софт ЛТД», 1996-152 с. 4. Культин Н. Delphi 3. Программирование на Object Pascal. Санкт-Петербург, 1998. -304 с. 5. Орлик С.В. Секреты Delphi на примерах. М.: Бином, 1996-136 с. 6. В.Фаронов. Объектно-риентированная среда Delphi. Версия 6. Учебное пособие. «Русская редакция», 2002. 7. М.Фленов. Библия Delphi. Санкт-Петербург «БХВ-Петербург», 2004-880 с.: ил. 8. Халық ова К.З., Бостанов Б., Тұ рғ анбаев А. Объектілі бағ дарланғ ан программалау жү йелерінің негіздері. Оқ у қ ұ ралы. Абай ат. Қ азҰ ПУ. Алматы, 2005-301 б. 9. Халық ова К.З. Паскаль тілінде программалау. Оқ у қ ұ ралы. Абай ат. АлМУ. Алматы, 2002-210 б.
|