https://electroinfo.net

girniy.ru 1 ... 24 25 26 27 28

Дыбыстық сигналдарды Т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. Файлдан оқу. Файлда сандар тізбегі жазылған. Сол сандардың кішісін табыңыз



<< предыдущая страница   следующая страница >>