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


Мультимедианың екі программасы



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

Мультимедианың екі программасы


 Кейде қолданушыға файлдардын кең түрлерін ойнатуға мүмкіндік беру қажет болады. Яғни бұл дегеніміз қолданушы файлды өзі қатты дискіден немесе CD-ROM-нан таңдау. Бұл жағдайда қалыпқа ойнатуды басқаруға арналған TmediaPlayer компонентін орнату керек болады.

 Кейде программистке қолданушыдан TmediaPlayer компонентін жасыру керек болады. Яғни қолданушы ешқандай әрекеттерді орындамай-ақ дыбыс немесе видео автоматты түрде өзі ойнатылуы керек. Көбінесе дыбыс презентацияның бір бөлігі болып келеді.

Енді Windows Media Player ойнатқышының функциясын атқаратын программаны құруға кірісейік. Ең алдымен жаңа жоба құрайық(File | New Project). Қалыпқа TmediaPlayer компонентін қояйық; TFileListBox, TDirectoryListBox, TDriveComboBox, файлдарды таңдау үшін TfilterComboBox компоненттерін орналастырайық. DirectoryListBox1 және FilterComboBox1-дің FileList қасиетіне FileListBox1 мәнің қояйық. DriveComboBox1-дің DirList қасиетіне DirectoryListBox1 мәнің қояйық. FilterComboBox1-дің Filter қасиетінде қажет файлдың кеңейтілуін көрсетеміз:

AVI File(*.avi)|*.avi

WAVE File(*.wav)|*.wav

MIDI file(*.MID)|*.mid

FileListBox1-қа тышқанды екі рет шерткенде таңдалған файл ойнатылатын болсын. FileListBox1-дің OnDblClick оқиғаларды өңдеуішінде төмендегі программалық кодты көрсетейік:

Procedure TForm1.FileListBox1DblClick(Sender:TObject);

begin

with MediaPlayer1 do



begin

Close;


FileName:=FileListBox1.FileName;

Open;


Play;

end;


end;

Қ
алыптын ішкі түрі 4-суретте көрсетілген:



4-сурет: Жобаның сыртқы көрінісі

Жобаны сақтап, жүктеп, қажетті файлды таңдап, оған тышқанды екі рет шертеміз. MediaPlayer бұл файлды жеке терезеде ойнату керек.

Жоғарыда айтылғандай видеоролик қалыптын ішінде де ойнатыла алады, мысалы, панельде. Сол үшін қалыпқа TPanel (5-сурет)компонентін орналастырайық. MediaPlayer1-дің Display қасиетінде Panel1-ді көрсетейік. Панельден мәтінді алыптастаймыз (Caption) және BevelOuter = bvNone. Ойнату кезінде жеке терезеден панельге ауысуды жүзеге асыру үшін қалыпқа TСheckBox компонентін орналастырып, OnClick оқиғаларды өңдеуішіне төмендегі программалық кодты жазамыз:

procedure TForm1.CheckBox1Click(Sender: TObject);

var

Start_From : Longint;



begin

with MediaPlayer1 do begin

if FileName='' then Exit;

Start_From:=Position;

Close;

Panel1.Refresh;



if CheckBox1.Checked then

Display:=Panel1

else

Display:=NIL;



Open;

Position:=Start_From;

Play;

end;


end;

Жобаны жүктеп және видеороликті ойнатамыз. CheckBox-қа тышқанмен шертейік.





5-сурет 

Кейде программаның орындалу барысында MediaPlayer объектісінің және роликтің өзінің ағымдағы жағдайын(ролик ұзындығын, ойнату барысынан бастап өткен уақыт) көрсету керек болады. Ол үшін ТmediaPlayer компонентінің сәйкес қасиеттері мен оқиғалары бар: Length, Position, OnNotify және т.б. Жобаға прогресс-индикатор (TGauge) компонентін қосайық, ол қанша уақыт өткенін пайыздық көрсеткішпен көрсетеді (6-сурет). Индикатор көрсеткішін жаңартып отыру үшін таймерді қолдануға болады. Қалыпқа Ttimer объектісін орналастырайық, ол үшін Interval = 100 (100 миллисекунд) деп берейік. Ал OnTimer оқиғаны өңдеуішінде төмендегі программалық кодты жазайық:

procedure TForm1.Timer1Timer(Sender: TObject);

begin


with MediaPlayer1 do

if FileName<>'' then

Gauge1.Progress:=Round(100*Position/Length);

end;


Проектіні жүктеп, қажетті файлды таңдап, оған екі рет шертеміз. Роликті ойнату кезінде прогресс- индикатор өткен уақытқа сәйкес проценттік көрсеткішін көрсетеді. (6-сурет).

6-сурет: AVI, WAV және MDI файлдарды ойнататын программалық қосымша.


Дыбыстық сигналдарды ТMediaPlayer компонентін қолданбай шығару


Кейбір кезде программаны қолданушының назарын аудару үшін қысқа сигналдарды шығару қажет болады- мысалы, ұзаққа созылған мәліметтерді жаңарту процесі аяқталғаннан кейін. Delphi-дің параметрсіз стандартты процедурасы BEEP, егер компьютер дыбыстық картамен қамтамасыз етілмесе ғана жүйелік динамиктен сигнал шығарады. Мұндай проблемаларды шешуге ТMediaPlayer компонентін қолдану артық болып көрінер. Мұндай жағдайда MessageBeep API-функциясы қажет болады, оның көмегімен WINDOWS-тың 32 разрядтық версияларында сұхбат терезелерін дыбыстандыруға болады.Бұл функцияға хабарласудын жалғыз параметрі болып стандартты дыбыстардың келесі идентификаторларынын бірі табылады:

mb_IconAsterisk, mb_IconExclamation, mb_IconHand, mb_IconQuestion, mb-Ok.

$FFFFFFFF параметрімен хабарласу дыбыстық картаны елемейді және жүйелік динамиктен қысқа дыбыстық сигнал шығарады. Хабарлама жасағаннан кейін функция басқаруды программаға береді және дыбысты асинхронды түрде шығарады.

Мұндай жағдайда PlaySound API-функциясының мүмкіндіктері өте бай, ол кез келген дыбыстық клиптерді шығара алады.

Функцияны хабарлау:
function PlaySound(pszSound: PChar: hmod: HINST: fdwSound:Cardinal):Boolean;

Функция параметрлері төменде сипатталған:



  • pszSound - Ойнатылатын файл аты;

  • hmod -программаның данасы, егер дыбыс ресурстық файлдан алынса(кері жағдайда 0-ге ие болады);

  • fdwSound - ойнатуды анықтайтын параметр; оның мәні төмендегілерге ие болуы мүмкін:

    • SND_ASYNC–Дыбыс асинхронды шығарылады(оған хабарласқаннан кейін функция басқаруды қайтарады);

    • SND_LOOP–дыбыс функция pszSound =0 параметрімен шақырылғанша шығарылады;

    • SND_NOSTOP–егер құрылғы бос болмаса, функция дыбысты шығаруға тырысады; кері жағдай ешқандай дыбыс шығарылмайды(егер құрылғы бос болмаса, бірақ бұл параметр көрсетілмеген болса, онда функция алдындағы дыбыстын ойнатылуын тоқтатады және келесінің ойнатылуын бастайды)

    • SND_NOWAIT–Егер құрылғы бос болмаса, онда функция жаңа дыбысты шығармайды;

    • SND_PURGE–Берілген тапсырма үшін баолық дыбыстардың ойнатылуын тоқтатады;

    • SND_SYNC–дыбысты синхронды шығарады және басқаруды тек оны ойнатып болғаннан кейін қайтарады.


Ұсынылатын әдебиеттер:

  1. Информатика: Базовый курс Учебник/ под ред. Н.В. Макаровой. – СПб, Питер, 2001 г.

  2. Информатика: Практикум по технологии работы на компьютере. 3-е изд./ под ред. Н.В. Макаровой. – М.: Финансы и статистика, 2002

  3. Балапанов Е.К., Бөрібаев Б.Б., Дәулеткулов А. 30 сабақ информатикадан. Алматы: Жағамбек, 1999

  4. Информатика. для вузов. Под ред. Симоновича С.В. СПб, Питер, 2000 г.

  5. Информатика:Учеб. Пособие для стед. Пед. Вузов/ А.В.Могилев, Н.И. Пак, Е.К. Хеннер; - М.: Изд.центр «Академия»,2000г.

  6. Острейковский В.А. Информатика. Учебное пособие М, Высшая школа, 1999 г.


Студенттің өздік жұмысы №4
Тақырыбы: Менюмен жұмыс істеу
Мақсаты: Компьютерлік графика түсінігімен, мүмкіндіктерімен танысу. Компьютерлік графиканың қолдану сферасымен танысу.

Тапсырма: Қосымша №3 те келтірілген есептерге (өз нұсқаңыз бойынша) программа құрыңыз
Сұрақтар:

  1. Графикалық құралдары пайдалануға арналған кластарды атаңдар.

  2. Сызық қандай кластың көмегімен құралады?

  3. Толтыру қандай кластың көмегімен құралады?

  4. Қаламның қандай қасиеттері бар?

  5. Графикалық бетке мәтін қалай шығарылады?


Тапсыру формасы: СӨЖ дәптеріне берілген сұрақтарға жауаптар жазу. Өз нұсқаңыз бойынша есептерді шығарып, программа мәтінің СӨЖ дәптеріне жазып, электронды нұсқасын оқытушыға көрсету. Ауызша қорғау.

СӨЖ-ді орындауға әдістемелік нұсқаулар:

Терезеде файлдармен жұмыс істеуге арналған: файлды ашу, сақтау, жаңа терезе құру, жұмысты аяқтау әрекеттерінен тұратын File және көшіру, қиып алу, буфердегіні қою мен өшіру әрекеттерінен тұратын Edit және терезенің орналасуын басқаратын Windows меню командаларын құрайық. Терезе екі түрлі жағдайда орналасатын болсын: cascade және tile.

Ол үшін екі форма терезесін пайдаланамыз. Бірінші форма терезесіне MainMenu1, OpenDialog1 компоненттерін орналастырамыз. Сонымен бірге, File және Windows меню командаларын құрамыз. Мұндағы File: New, Open, Save, Exit командаларынан, ал Windows: cascade және tile командаларынан тұратын болса. Ал екінші форма терезесіне: SaveDialog1, RichEdit1 және MainMenu компоненттерін орналастырамыз (OpenDialog1 және SaveDialog1 компоненттері бетінде орналасқан). Бұл терезеде де екі меню командасы болады: File және Edit. Мұндағы File менюінің ішінде Сut, Copy, Paste, Delete командалары, ал Edit менюінің ішінде командалары орналасқан.

Алдымен бірінші форманың қасиеттерін тағайындайық. Объектілер тармағы терезесінен Form1–ді екпінді жасап, объектілер инспекторы терезесінен төмендегі қасиеттерді өзгертеміз:





FormStyle

fsMDIForm

WindowsMenu

Windows1

GroupIndex

9

Енді бірінші форма терезесіне меню командаларын құруды қарастырайық. Ол үшін алдымен MainMenu1 компонентін екпінді жасап, объектілер инспекторы терезесіндегі Items қасиетінің оң жақ бағанындағы жолды тышқанмен жылдам екі рет белгілейміз. Нәтижесінде Form1.MainMenu1 сұхбат терезесі ашылады. Курсорды Caption қасиетінің оң жақ бағанындағы жолға келтіріп, менюдің атын File деп жазамыз. File сөзі сұхбат терезесіндегі менюдің үстіне жазылады. Егер меню командаларын жалғастырып жазатын болсақ, онда курсорды тұрған орнында қалтырып, Caption қасиетіне менюдің аттарын жалғастырып жаза береміз. Ал менюдің ішкі командаларын құру қажет болса, курсорды File сөзінің астына түсіреміз, меню командасы жазылатын орын қара көк түспен ерекшеленеді. Курсорды объектілер инспекторы терезесіндегі Caption қасиетіне келтіріп, ішкі командалары дәл осындай ретпен орналастырамыз: New, Open, Save, Exit. Бұл терезедегі екінші меню Windows командасы оның ішкі: cascade және tile командаларын да осындай тәсілмен құрамыз. Бұдан кейін OpenDialog1 компонентін екпінді жасап, DefaultExt қасиетіне ашылатын файлдардың затын көрсету қажет:



DefaultExt

*.doc;*.txt;*.dat;*.*;*.rtf

Filter

File of word

(*.doc)│*.doc│File of word

(*.rtf)│*.rtf│File of text

(*.txt)│*.txt│File of dat

(*.dat)│*.dat│All files (*.*)│*.*

Одан кейін Объектілер инспекторы терезесіндегі Filter қасиетінің оң жағындағы үш нүктені (...) курсормен жылдам екі рет белгілеу арқылы ашылған Filter Editor сұхбат терезесіне (4.7-сурет) фильтрдің аты мен ашылатын файлдардың затын көрсетіп, ОК батырмасын басу қажет.



4.7-сурет. Filter Editor сұхбат терезесі.
Одан кейін Файл-Создать-Форма командалары арқылы екінші форма терезесін ашып, бұл форма терезесіне: RichEdit1, MainMenu1, SaveDialog1 компоненттерін орналастырамыз (RichEdit1 компоненті Win32 бетінде орналасқан). Сонымен бірге, File және Edit меню жолдары ішкі командаларымен орналастырамыз, оның құрылу тәртібі жоғарыда бірінші формада келтірілгеніндей.

Енді Form2 терезесі үшін тағайындалатын қасиеттерді қарастырайық. Ол үшін объектілер тармағы терезесінен –ні екпінді жасап, объектілер инспекторы терезесінен төмендегі қасиеттерді өзгерту қажет:




FormStyle

fsMDIChild

Ал, RichEdit1 компоненті үшін төмендегі қасиет тағайындалады:




Align

AllClient

Бірінші және екінші форманың сыртқы көрінісі 4.8-суретте келтірілген.





4.8-сурет. Меню құру терезесі.

Жоғарыда келтірілген компоненттерді орналастырып, қасиеттерін тағайындап болғанннан кейін программалар коды терезесіне көшіп, төмендегі программа мәтінін енгіземіз:


Unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,



Controls, Forms,

Dialogs, Menus;

type

TForm1=class(TForm)



MainMenu1:T MainMenu;

OpenDialog1:TOpenDialog;

file1:TMenuItem;

new1:TMenuItem;

open1:TMenuItem;

exit1:TMenuItem;

windows1:TMenuItem;

cascade1:TMenuItem;

tile1:TMenuItem;

procedure new1Click(Sender; TObject);

procedure open1Click(Sender; TObject);

procedure FormClick(Sender; TObject);


procedure tile1Click(Sender; TObject);

private

{Private declarations}

public


{Public declarations}

End;

var

Form1:TForm1;



Implementaion {$R *.dfm}

procedure TForm1.open1Click(Sender; TObject);

begin

with TForm2.Create(self) do



if opendialog1.Execute then

richEdit1.Lines.LoadFormFile(opendialog1.fileName);

end;

procedure TForm1.cascade1Click(Sender; TObject);



begin

cascade;


end;

procedure TForm1.tile1Click(Sender; TObject);

begin

tile;


end;
procedure TForm1.new1Click(Sender; TObject);

begin


TForm2.Create(self);

end;


end.
Екінші формаға арналған программа мәтіні:
Unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,



Controls, Forms,

Dialogs, Menus, StdCtrls, ComCtrls;

type

TForm2=class(TForm)



OpenDialog1:TOpenDialog;

RichEdit1:TRichEdit;

MainMenu1:T MainMenu;

file1:TMenuItem;

new1:TMenuItem;

open1:TMenuItem;

save1: TMenuItem;

exit1:TMenuItem;

cut1: TMenuItem;

cut2: TMenuItem;

copy1: TMenuItem;

paste1: TMenuItem;

delete1: TMenuItem;

procedure open1Click(Sender; TObject);

procedure new1Click(Sender; TObject);

procedure save1Click(Sender; TObject);

procedure close1Click(Sender; TObject);

procedure cut1Click(Sender; TObject);

procedure copy1Click(Sender; TObject);

procedure paste1Click(Sender; TObject);

procedure delete1Click(Sender; TObject);

private

{Private declarations}

public


{Public declarations}

end;

var

Form2:TForm2;



Implementaion {$R *.dfm}

procedure TForm2.open1Click(Sender; TObject);

begin

TForm1.Open1Click(Sender);



end;

procedure TForm2.new1Click(Sender; TObject);

begin

TForm1.New1Click(Sender);



end;

procedure TForm2.save1Click(Sender; TObject);

begin

if Savedialog1.Execute then



richEdit1.Lines.SaveToFile(savedialog1.fileName);

Form2.Caption:=savedialog1.fileName;

end;

procedure TForm2.close1Click(Sender; TObject);

begin

Action:=caFree;



end;

procedure TForm2.cut1Click(Sender; TObject);

begin

RichEdit1.CutToClipboard;



end;

procedure TForm2.Copy1Click(Sender; TObject);

begin

RichEdit1.CopyToClipboard;


end;

procedure TForm2.paste1Click(Sender; TObject);

begin

RichEdit1.PasteFromClipboard;


end;

procedure TForm2.delete1Click(Sender; TObject);

begin

RichEdit1.ClearSelection;


end; end.

Программаны орындағанда файлдармен жұмыс істеуге арналған терезе ашылады. Оның көрінісі 4.9-суретте келтірілген.




4.9-сурет. Файлдармен жұмыс істеуге арналған терезе.

Ұсынылатын әдебиеттер:

  1. Информатика: Базовый курс Учебник/ под ред. Н.В. Макаровой. – СПб, Питер, 2001 г.

  2. Информатика: Практикум по технологии работы на компьютере. 3-е изд./ под ред. Н.В. Макаровой. – М.: Финансы и статистика, 2002

  3. Балапанов Е.К., Бөрібаев Б.Б., Дәулеткулов А. 30 сабақ информатикадан. Алматы: Жағамбек, 1999

  4. Информатика. для вузов. Под ред. Симоновича С.В. СПб, Питер, 2000 г.

  5. Информатика:Учеб. Пособие для стед. Пед. Вузов/ А.В.Могилев, Н.И. Пак, Е.К. Хеннер; - М.: Изд.центр «Академия»,2000г.

  6. Острейковский В.А. Информатика. Учебное пособие М, Высшая школа, 1999 г.


ҚОСЫМШАЛАР

Қосымша №2



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың қосындысын есептеңіз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың арифметикалық ортасын есептеңіз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың геометриялық ортасын есептеңіз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен үлкенің табыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың кішісін табыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың көбейтіндісін табыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен 5тен кіші сандарды табыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың үштен кіші сандардың саның анықтаңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен теріс емес сандардың саның есептеңіз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен теріс сандарды нольмен аламсытырыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен екі ден үлкен сандарды екі санымен алмастырыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың арифметикалық ортасын есептеңіз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен арифметикалық ортасынан кіші сандарды анықтаңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен үлкенің табыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың кішісін табыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандарды екі еселеп жазыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен 3тен кіші сандарды табыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың үштен кіші сандардың саның анықтаңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен теріс емес сандардың саның есептеңіз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен теріс сандарды нольмен аламсытырыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.

    2. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың ішінен екі ден үлкен сандарды екі санымен алмастырыңыз



    1. Файлға мәліметтер енгізу. Файлға қолданушы күнделікті ауа райы туралы мәліметтерді енгізуі қажет.


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




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

    Басты бет