Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Розділ II. Розробка проекту




 

Опис програми

Постановка завдання:

Необхідно написати програму, яка буде являти собою електронний синтезатор. Також, для спрощення роботи з програмою, необхідно створити інтуїтивно зрозумілий інтерфейс. Також у програмі має бути змога змінити тон мелодії.

Опис:

Дана програма («Синтезатор») являє собою синтезатор у електронному вигляді. Вона дає змогу грати мелодії як це можна робити на справжньому синтезаторі, але за допомогою клавіатури комп’ютера.

Програма створювалась в навчальних цілях і тому не є досконалою, але вона зможе зацікавити багатьох людей. У ній є можливість змінити тон мелодії. Також можна переглянути інструкцію і дізнатись яка клавіша на клавіатурі комп’ютера відповідає клавіші на синтезаторі.

 

Мал. 1 Вигляд програми «Синтезатор»

Використані компоненти

Button - являє собою стандартну кнопку windows, ініціює якусь дію.

ADOConnection - використовується для з'єднання з різними джерелами ADO і

являє собою версію об'єкта ADO Connection для Delphi.

астосування компонента ADOConnection дає розробнику ряд переваг:

- всі компоненти доступу до даних ADO звертаються до сховища даних через одне з'єднання;

- можливість безпосередньо задати об'єкт провайдера з'єднання;

- рядок підключення зберігається в одному місці, замість того щоб зберігатися в декількох

- різних компонентах;виконання транзакцій;

- можливість виконувати команди ADO;

- розширене управління з'єднанням за допомогою методів-обробників подій.

ADOQuery -забезпечує застосування запитів SQL при роботі з даними через ADO. За своєю функціональністю він подібний стандартному компоненту запиту.

DataSource - являє собою джерело даних, який забезпечує зв'язок між набором даних і компонентами відображення і редагування даних.

ADOTable - забезпечує використання в додатках Delphi таблиць БД, підключених через провайдери OLE DB. За своїми функціональними можливостями і застосуванню він подібний стандартному табличному компоненту.

ImageList - являє собою набір зображень однакових розмірів, на які можна посилатися за індексами, що починається з 0. У багатьох розглянутих раніше компонентах (меню, списках тощо) зустрічалися властивості, що представляють собою посилання на компонент ImageList.Цей компонент дозволяє організувати ефективне і економне управління безліччю піктограм і бітових матриць.

 

DBEdit – пов'язаний з даними аналог звичайного вікна редагування Edit. Він дозволяє відображати і редагувати дані полів різних типів: рядок, число, булева величина.

DBGrid - призначений для перегляду і редагування всіх записів пов'язаного з ним набору даних в розгорнутому вигляді. Дані структуровані в табличному форматі, уявлення полів і розташування колонок залежить від значень властивостей компонентів типу TField набору даних.

Label - мітка. Цей компонент використовується для розміщення у вікні не дуже довгих однорядкових написів.

Edit - рядок введення. Призначена для вводу, відображення або редагування однієї текстового рядка.

Panel - цей компонент - панель - є несучою конструкцією для розміщення інших елементів управління. На відміну від простої рамки (TBevel) панель сама є віконним елементом управління і батьком для всіх розміщених на ній компонентів. Часто її використовують для створення панелей інструментів, рядків стану і т. п.

SpeedButton - піктографічним кнопка. Зазвичай використовується для швидкого доступу до тих чи інших опцій головного меню.

Image - малюнок. Цей компонент призначений для відображення малюнків, в тому числі піктограм і метафайлів.

Для більш приємного зовнішнього вигляду програми було використано

Компонент XPManifest.

Опис процедур програми:

В нижче приведеному фрагменті коду є оператори, що дозволяють програти мелодію, інтерфейс (див. мал. 2.).

begin

Pause:= false;

Stop:= false;

Player.Visible:= true;

BPM:= 350;

Instrument:= '00';

Melodie;

Melodie;

Player.Visible:= false;

end;

Мал. 2. Можливість програти готову мелодію

 

Перехід до інструкції (Мал. 3.)

begin

Form2.Show;

end;

Мал. 3. Перегляд інструкції

 

Перехід до форми Про програму (Мал. 4.)

begin

About.Show;

end;

Мал. 4. Інформація про розробника

 

Зміна тону мелодії (Мал. 5.)

var

InstrumentINT: integer;

begin

lblInstrument.Caption:= IntToStr(UpDown1.Position);

if Length(lblInstrument.Caption)=1 then lblInstrument.Caption:= '0' + lblInstrument.Caption;

Instrument:= lblInstrument.Caption;

end;

Мал. 5. Можливість змінити тон мелодії

 

Гарячі клавіші на клавіатурі (Мал. 3.)

type

TKeys = Record

Key: Word;

Note: string;

Down: boolean;

end;

 

var

// Налаштування параметрів клавіатури QWERTY (Ля2->Mi4)

Keys: Array[0..19] of TKeys =(

// Клавіші клавіатури:

(Key:81; Note:'La2'; Down:false), // q

(Key:87; Note:'Si2'; Down:false), // w

(Key:69; Note:'Do3'; Down:false), // e

(Key:82; Note:'Re3'; Down:false), // r

(Key:84; Note:'Mi3'; Down:false), // t

(Key:89; Note:'Fa3'; Down:false), // y

(Key:85; Note:'Sol3'; Down:false), // u

(Key:73; Note:'La3'; Down:false), // i

(Key:79; Note:'Si3'; Down:false), // o

(Key:80; Note:'Do4'; Down:false), // p

(Key:219; Note:'Re4'; Down:false), // [

(Key:221; Note:'Mi4'; Down:false), // ]

 

(Key:65; Note:'La2d'; Down:false), // a

(Key:68; Note:'Do3d'; Down:false), // d

(Key:70; Note:'Re3d'; Down:false), // f

(Key:72; Note:'Fa3d'; Down:false), // h

(Key:74; Note:'Sol3d'; Down:false), // j

(Key:75; Note:'La3d'; Down:false), // k

(Key:186; Note:'Do4d'; Down:false), //;

(Key:222; Note:'Re4d'; Down:false) // '

);

 

 

implementation

 

end.

 

Ноти всіх клавіш

type

TNotes = Record

Note: string;

SonMidi: string;

Down: boolean;

end;

 

var

Notes: Array[0..60] of TNotes =(

 

(Note:'Do1'; SonMidi:'24'; Down: false;),

(Note:'Do1d'; SonMidi:'25'; Down: false;),

(Note:'Re1'; SonMidi:'26'; Down: false;),

(Note:'Re1d'; SonMidi:'27'; Down: false;),

(Note:'Mi1'; SonMidi:'28'; Down: false;),

(Note:'Fa1'; SonMidi:'29'; Down: false;),

(Note:'Fa1d'; SonMidi:'2A'; Down: false;),

(Note:'Sol1'; SonMidi:'2B'; Down: false;),

(Note:'Sol1d'; SonMidi:'2C'; Down: false;),

(Note:'La1'; SonMidi:'2D'; Down: false;),

(Note:'La1d'; SonMidi:'2E'; Down: false;),

(Note:'Si1'; SonMidi:'2F'; Down: false;),

 

(Note:'Do2'; SonMidi:'30'; Down: false;),

(Note:'Do2d'; SonMidi:'31'; Down: false;),

(Note:'Re2'; SonMidi:'32'; Down: false;),

(Note:'Re2d'; SonMidi:'33'; Down: false;),

(Note:'Mi2'; SonMidi:'34'; Down: false;),

(Note:'Fa2'; SonMidi:'35'; Down: false;),

(Note:'Fa2d'; SonMidi:'36'; Down: false;),

(Note:'Sol2'; SonMidi:'37'; Down: false;),

(Note:'Sol2d'; SonMidi:'38'; Down: false;),

(Note:'La2'; SonMidi:'39'; Down: false;),

(Note:'La2d'; SonMidi:'3A'; Down: false;),

(Note:'Si2'; SonMidi:'3B'; Down: false;),

 

(Note:'Do3'; SonMidi:'3C'; Down: false;),

(Note:'Do3d'; SonMidi:'3D'; Down: false;),

(Note:'Re3'; SonMidi:'3E'; Down: false;),

(Note:'Re3d'; SonMidi:'3F'; Down: false;),

(Note:'Mi3'; SonMidi:'40'; Down: false;),

(Note:'Fa3'; SonMidi:'41'; Down: false;),

(Note:'Fa3d'; SonMidi:'42'; Down: false;),

(Note:'Sol3'; SonMidi:'43'; Down: false;),

(Note:'Sol3d'; SonMidi:'44'; Down: false;),

(Note:'La3'; SonMidi:'45'; Down: false;),

(Note:'La3d'; SonMidi:'46'; Down: false;),

(Note:'Si3'; SonMidi:'47'; Down: false;),

 

(Note:'Do4'; SonMidi:'48'; Down: false;),

(Note:'Do4d'; SonMidi:'49'; Down: false;),

(Note:'Re4'; SonMidi:'4A'; Down: false;),

(Note:'Re4d'; SonMidi:'4B'; Down: false;),

(Note:'Mi4'; SonMidi:'4C'; Down: false;),

(Note:'Fa4'; SonMidi:'4D'; Down: false;),

(Note:'Fa4d'; SonMidi:'4E'; Down: false;),

(Note:'Sol4'; SonMidi:'4F'; Down: false;),

(Note:'Sol4d'; SonMidi:'50'; Down: false;),

(Note:'La4'; SonMidi:'51'; Down: false;),

(Note:'La4d'; SonMidi:'52'; Down: false;),

(Note:'Si4'; SonMidi:'53'; Down: false;),

 

(Note:'Do5'; SonMidi:'54'; Down: false;),

(Note:'Do5d'; SonMidi:'55'; Down: false;),

(Note:'Re5'; SonMidi:'56'; Down: false;),

(Note:'Re5d'; SonMidi:'57'; Down: false;),

(Note:'Mi5'; SonMidi:'58'; Down: false;),

(Note:'Fa5'; SonMidi:'59'; Down: false;),

(Note:'Fa5d'; SonMidi:'5A'; Down: false;),

(Note:'Sol5'; SonMidi:'5B'; Down: false;),

(Note:'Sol5d'; SonMidi:'5C'; Down: false;),

(Note:'La5'; SonMidi:'5D'; Down: false;),

(Note:'La5d'; SonMidi:'5E'; Down: false;),

(Note:'Si5'; SonMidi:'5F'; Down: false;),

 

(Note:'Do6'; SonMidi:'60'; Down: false;)

);

 

implementation

 

end.

 

Висновки

Мова програмування Delphi дуже широко використовується і має дуже велику кількість розроблених елементів та засобів, що значно полегшують розробку додатків. У Delphi, використовується багато передових ідей і концепцій, закладених в графічному інтерфейсі Windows. У середовищі програмування Delphi є всі необхідні інструменти для того, щоб створювати повноцінні програми. Писати, компілювати і тестувати програму – все це можна робити, не виходячи з Delphi.

Завдяки можливості вбудови в програму ассемблерних вставок, програміст отримує змогу створювати програми з інтерфейсом Windows та дуже високою швидкодією, характерною для низькорівневих мов програмування.

Ця програма («Синтезатор») дуже легка у своєму використанні і нею може користуватися людина з малими навичками роботи з комп’ютером.

До переваг програми можна віднести приємний на вигляд і інтуїтивно зрозумілий інтерфейс, можливість програти готову мелодію, яка може послужити мотивацією, можливість скористатися інструкцією для швидшого вивчення клавіш, мінімальна затрата ресурсів компютера.

Недоліками програми є те що вона не дає змогу записати і зберегти мелодію, яку грає користувач.

 





Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 447 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Так просто быть добрым - нужно только представить себя на месте другого человека прежде, чем начать его судить. © Марлен Дитрих
==> читать все изречения...

2442 - | 2196 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.