Тапсырма №5
unit media1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, MPlayer;
type
TForm1 = class(TForm)
ListBox1: TListBox;
MediaPlayer1: TMediaPlayer;
Label1: TLabel;
Label2: TLabel;
procedure FormActivate(Sender: TObject);
procedure ListBox1(Sender: TObject);
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
procedure Label1Create(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
soundpatch='C:\Office2000\Windows\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.ListBox1Click(Sender: TObject);
begin
Label3.Caption:=ListBox1.Items[listBox1.ItemIndex];
end;
procedure
TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
if (Button=btPlay) and (Label3.Caption<>")then
begin
with MediaPlayer do
begin
FileName:=SoundPatch+Label3.Caption;
Open;
end;
end;
end;
end.
Тапсырма №6
10.17 сурет. Дыбысты анимацияны сүйемелдеу терезесі.
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]
Бекіту сұрақтары:
Графикалық құралдары пайдалануға арналған кластарды атаңдар.
Шрифт қандай кластың көмегімен құралады?
Сызық қандай кластың көмегімен құралады?
Толтыру қандай кластың көмегімен құралады?
Кенеп қандай кластың көмегімен құралады?
Қаламның қандай қасиеттері бар?
Қылқаламның қызметі не?
Графикалық бетке мәтін қалай шығарылады?
Графикалық примитивтерді салудың қандай әдістері бар?
Image компонентінің қызметі қандай?
Сурет шығару үшін қандай компонент пайдаланылады?
Мультипликация дегеніміз не?
Мультимедиялық программалар қандай компоненттің көмегімен құралады?
Видеороликтер, дыбысы бар анимациялар қандай компоненттердің көмегімен орындалады?
Media Player компонентінде қандай қызметтер қамтылған?
Дыбыс шығару үшін қандай компонент қолданылады?
Пайдаланылған әдебиеттер
Давыдова Е.В., Скородумов И.А., Балаханов В.А. Создание базовых элементов интерфейса Windows программы в среде Delphi. Информатика и образование. № 4,5,6. 2002.
Дудина И.П. Построение графиков функций в Delphi. Информатика и образование. №6, 2003, стр.27 -31.
Кнопка Р. Создание оригинальных компонентов в среде Delphi. Пер.с англ.Рей.К.: НИПФ «Диа Софт ЛТД», 1996-152 с.
Культин Н. Delphi 3. Программирование на Object Pascal. Санкт-Петербург, 1998. -304 с.
Орлик С.В. Секреты Delphi на примерах. М.: Бином, 1996-136 с.
В.Фаронов. Объектно-риентированная среда Delphi. Версия 6. Учебное пособие. «Русская редакция», 2002.
М.Фленов. Библия Delphi. Санкт-Петербург «БХВ-Петербург», 2004-880 с.: ил.
Халықова К.З., Бостанов Б., Тұрғанбаев А. Объектілі бағдарланған программалау жүйелерінің негіздері. Оқу құралы. Абай ат. ҚазҰПУ. Алматы, 2005-301 б.
Халықова К.З. Паскаль тілінде программалау. Оқу құралы. Абай ат. АлМУ. Алматы, 2002-210 б.
ОСӨЖ ОРЫНДАУ БОЙЫНША НҰСҚАУЛАР
Студенттің оқытушымен бірге орындайтын өздік жұмысы №1
Тақырыбы: Консольдық қолданбалар
Мақсаты: Консольдық программа құру
Тапсырма
Берілген өрнекті есептеу үшін консольдық қосымша құрыңыз. (Таратпа материал, өз нұсқаңыз бойынша(журналдағы реттік номерге сәйкес))
Сұрақтар:
1. write және writeln инструкцияларының айрмашылығы?
2. read және readln инструкцияларының айрмашылығы?
3. Консоль қосымшасы туралы не білесіз?
Тапсыру формасы
Тапсырманы әдістемелік нұсқаға сүйене отырып орындаңыз, оқытушыға көрсетіңіз, қалай орындалғанын түсіндіріңіз. Таратпа материалда берілген тапсырмаларды алғашқы тапсырмаға қарап отырып орындап көрсетіңіз. Жұмыс нәтижесін баспаға шығарып оқытушыға тапсырыңыз.Берілген сұрақтарға СОӨЖ дәптеріңізге жауаптар жазу. Ауызша қорғау.
Тапсырманы орындауға әдістемелік нұсқаулар:
Экранға қарапайым мәтін шығаратын программаны қарастырайық:
1. Келесі команданы таңдаймыз: File > New > Other (Файл > Новый > Другое), және ашылған сұхбат терезесінен New қатпарынан Console Application (Консольное приложение) белгішесін таңдаймыз.
2. ОК батырмасына шерткеннен кейін экран келесі түрге түрленеді:
3. Мәтін автоматты түрде Delphi ортасына генерацияланған. Ол құрылатын қосымшаның шаблоны болып табылады. Бұл мәтінде өзгертудің қажеті жоқ, ол дайын программаа сәйкес келеді. Бірақ аздаған өзгертулер енгізейік.
4.Код терезесіне программа мәтінің енгізіңіз.
5. Run командасын таңдаңыз. Нәтижені аламыз. Код терезесіне өту үшін Enter басыңыз.
Таратпа материалдар:
х және у-тің әр түрлі мәндерін енгізіп, төмендегі өрнектердің мәндерін есептеуге программа құрыңдар:
1)
2)
3)
4)
5) cos(x)\sіn(x)-scr(y)(x+3)
6) exp(3 ln(a))+sqr(b)/sіn ab)
7)
8)
9)
10)
11)
12)
13)
14) Жер бетіне һ биіктікпен құлаған тастың уақытын есепте.
15) х1,у1 және х2,у2 координаттағы екі нүктенің ара қашықтығын есепте.
16) a, b және c қабырғалары берілген үшбүрыштың ауданын Герон формуласы бойынша есептеeудің программасын жаз
17) x=2,25 және y=-4,05 нақты сандары берілген. Функцияның мәнін мына формула бойынша есептеудің программасын құр.
18) Z=e2xln(a+x)-b3x(b-x) функцияларының мәнін есептеуге программа құр
19) Радиусы R-ге тең шеңбер берілген. Шеңбердің ұзындығын есептеу программасын құр
20) x=-5,1; y=10; z=2,3 сандары берілген. функциясының мәнін есепте
21) а=5, b=4, c=0.5 сандары берілген. Осы сандардың көбейтіндісін есептеу (Х=abc) программасын құр
22) a=2,7; b=15,04; x=2,24; k=15 сандары берілген. Келесі функцияның мәнін есептеуге программа құр.
23) a=1,3; b=2,4; x=5,5; k=2 сандары берілген. Келесі функцияның мәнін есептеуге программа құр.
24) Квадраттың а қабырғасы белгілі. Ауданың есепте
25) Төртбұрыштың периметрін есептейтін программа құр
26) Шеңбердің ауданын есептейтін программа құр
27) Үш санның арифметикалық ортасын есепте
28) Үш санның геометриялық ортасын есепте
29) Екі санның квадраттарының қосындысын тап
30) Тікбұрышты үшбұрыштың катеттері берілген. Гипотенузасын есепте
360>
Достарыңызбен бөлісу: |