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-файл келесі түрде құрылады. Алдымен дыбыстың қайнар көзін анықтау керек. Ол үшін Параметры менюінен Свойства командасын алып Регулятор громкости таңдау керек. Сонан соң Запись айырғышын таңдап Отображаемые регуляторы громкости тізіміндегі керекті сигналдарды орнату үшін жалаушаларды таңдау керек. Енді дыбысты жазуға көшуге болады.
Свойства диалогтық терезес
Уровень записи диалогтық терезе
Чтобы записать музыкальный или речевой фрагмент, надо запустить программу Звукозапись, активизировать диалоговое окно Уровень, выбрать устройство-источник звука,
Процессті тоқтату үшін Стоп батырмасын басу жеткілікті.
2.4. Видеороликтер мен анимацияны қарап шығу
MediaPlayer-ді қолдану программасының терезесі
MediaPlayer1 компонентінің қасиеттерінің мәні
|
Қаситет
|
Мән
|
|
|
Name
|
MediaPlayer1
|
|
|
FileName
|
delphi.avi
|
|
|
DeviceType
|
dtAVIVideo
|
|
|
AutoOpen
|
True
|
|
|
Display
|
Panel1
|
|
|
Visible
|
False
|
|
Листинг:
uses
Windows, Messages, SysUtils,
Classes, Graphics, Controls,
Forms, Dialogs, MPlayer, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel; Panel1: TPanelButton1: TButtonMediaPlayer1: TMediaPlayer; procedure ButtonlClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations ) public
{ Public declarations } end;
var
Form1: TForm1 ;
implementation
($R *.DFM}
procedure TForm1.ButtonlClick(Sender: TObject);
begin
MediaPlayer1.Play;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MediaPlayer1.DisplayRect:=Rect(0,0,60,60);
end;
end.
3
4
5
6
7 ...
37
Бұл есепті шешу үшін Macromedia Flash 5 программасын қолдануға болады.
Movie терезесі
Movie Propertiesтерезесіндегі мінездемелер
Бірінші кадрды жәй ғана салу керек. Ол үшін : қарындаш, өшіргіш сияқты стандартты құралдарды пайдаланса жеткілікті. .
Келесі кадрды құру үшін Insert менюінен Keyframe командасын таңдау керек. Нәтижесінде алдыңғы кадрге келесі кадр қосылады. Енді екінші кадрды салуға болады. Тура осылайша келесі кадрлер құрылады.
Шығарылатын анимация дыбыспен байланысуы үшін алдыменен сәйкес дыбыстық файлды қолдануға мүмкіншілік алк керек. Ол үшін File менюінен Import командасын таңдап алу керек те оны дыбыстық файлдың проектіне қосу керек.:
Дыбыстық файлды импорттау
Сонан соң Timeline терезесінде кадрды таңдап алу керек. Количество повторов нужно ввести в поле Loops өрісінде қайталану санын көрсету керек.
Анимация мысалы
Export Windows AVI терезе
III. Объектілі - бағдарлы программалаудың элементтері
3.1 Объектілі- бағдарлы тәсілдердің негіздері.
Объектілі - бағдарлы (ОББ) тәсілдерінің негізінде берілгендерді және оларға орындалатын іс - әрекеттердің жиынын бір құрылымға біріктіру ойы жатыр. Берілгендерді өрістерi, орындалатын әрекеттерді іске асыратын ішкі программаларды әдістері деп атайды.
Object Pascal құрамына өрістерді, әдістерді және қасиеттерді біріктіретін арнайы түр - класс ендірілген. Класс құрамына берілгендер мен берілгендерге орындалатын әрекеттер жиыны кіреді.
ОББ тәсілдері инкапсуляция, иемдену және полиморфизм ұғымдарына негізделген.
Инкапсуляция, дегеніміз - берілгендерді оларды басқаратын процедура және функциялармен қатар қолдану. Осындай қатарластырудың нәтижесінде берілгендердің жаңа түрі - объект пайда болады.
Иемдену - алдын ала анықталған объектілерді пайдалану арқылы олардың туындыларын құрастыру мүмкіндігі. Кез келген класс алғы буын класының туындысы ретінде анықталуы мүмкін. Осындай туынды алғы буынның өрістерін, әдістерін және қасиеттерін иемденеді. Осы сәтте иемденген берілгендерді, әдістерді және қасиеттерді анықтаудың қажеті жоқ, оларды бірден пайдалануға болады.
Полиморфизм - кластың барлық объектілеріне қолдануға болатын аты бірдей әрекетті анықтаудың мүмкіндігі, сонымен бірге әр объект осы әрекетті өзінше орындайды. Объектке - бағдарлы тәсілдері айтарлықтай күрделі есептердің программаларын құрастыруды жеңілдетеді және программаның кодын қайталап қолдануға мүмкіндік туғызыды.
Кластың құрылымы және оны жариялау
Жалпы ОББ тәсілдерінің ерекшелігі - алдын ала құрылып қойылған объектілерді қолдану және де сол объектілердің көптеген туындыларын пайдалану болатындығы.
Кластың құрамындағы өрістер кез келген түрде болуы мүмкін. Кластың құрылымы арнайы бекітілген Class сөзімен басталады, сонан кейін жақшада осы кластың тікелей алғы буыны көрсетіледі. Ары бөлек жол түрінде өрістері, әдістері және қасиеттері келтіріледі және соңында End тұрады.
Классқа сәйкес типті объекті тип деп атайтын боламыз:
type
TMyObject = class(TObject)
MyField: Integer;
function MyMethod: Integer;
end;
Объект
Объектке жадыдан орын бөлу арнайы кластың құрастырушы әдісі арқылы орындалады, әдетте оның аты Create. Құрастырушының маңызын және бет алысын көрсету үшін кластың сипттамасында procedure сөзінің орнына Consructor деген сөзді көрсетеді.
Мысалы, жоғарыдағы сипаттаманы өзгертейік:
TPerson = class // TPerson - кластың аты
Достарыңызбен бөлісу: |