Автор работы: Пользователь скрыл имя, 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
Қылқалам (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, (‘руб.’);
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:=
brush.Color:=clcream;
pen.Width:=2;brush.Style:=
Pen.Color:=clblue;ellipse(40,
Pen.Color:=clblack;ellipse(70,
Pen.Color:=clred;ellipse(100,
Pen.Color:=clyellow;ellipse(
Pen.Color:=clgreen;ellipse(85,
end;
end;
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 - компоненті әртүлі
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(
begin
Buttonl.Enabled:=True;
Form1.Button3.Enabled:=False ;
Form1.Button2.Enabled:=False;
end;
procedure TForm1.RadioButton2Click(
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.
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(
while (FindNext(SearchRec) = 0) do
Form1.ListBox1.Items.Add(
end;
end;
procedure TForm1.ListBoxlClick(Sender: TObject);
begin
Label2.Caption:=ListBox1.
procedure TForm1.MediaPlayerlClick(
var DoDefault: Boolean); begin
if (Button = btPlay) and (Label2.Caption <> '') then
begin
with MediaPlayerl do begin
FileName:=SOUNDPATCH+Label2.
Open;
end;
end;
end;
end.
Дыбысты жазу
Дыбыстық фрагментті алу үшін Windows-тың құрамындағы Звукозапись программасын пайдалануға болады. Ол үшін Пуск | Программы | Стандартные | Развлечения | Звукозапись командаларын таңдак керек.
Звукозапись
программасының диалогтық терезесі
WAV-файл келесі түрде құрылады. Алдымен дыбыстың қайнар көзін анықтау керек. Ол үшін Параметры менюінен Свойства командасын алып Регулятор громкости таңдау керек. Сонан соң Запись айырғышын таңдап Отображаемые регуляторы громкости тізіміндегі керекті сигналдарды орнату үшін жалаушаларды таңдау керек. Енді дыбысты жазуға көшуге болады.
Информация о работе Delphi программалау ортасында графикалық компоненттерді пайдалану әдістемесі