Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Прикладна математика
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Методичні вказівки
Предмет:
Візуальне програмування

Частина тексту файла (без зображень, графіків і формул):

ПРОГРАМУВАННЯ У СЕРЕДОВИЩІ DELPHI 7.0 МЕТОДИЧНІ ВКАЗІВКИ до виконання лабораторних робіт з курсу “Візуальне програмування” для студентів базового напрямку 6.0802 “Прикладна математика” Програмування у середовищі DELPHI 7.0: Методичні вказівки до виконання лабораторних робіт з курсу “Візуальне програмування”/ Укл.: Строчик М.М. Лабораторна робота № 1 Інтегроване середовище розробки IDE При першому запуску Delphi відкриваються вікна, розміщені окремо на робочому столі Windows. У верхній частині розміщене вікно, в якому знаходяться панелі інструментів та меню Delphi. Воно називається головним вікном інтегрованого середовища проектування. В головному вікні відображаються шість панелей інструментів: Standard, View, Debug, Custom, Component Palette, Desktops. Панель Component Palette називається палітрою компонентів. Вона містить кнопки компонентів Delphi, тематично розподілені по 19 сторінках. Компоненти використовуються для створення графічного інтерфейсу користувача і утворюють т.зв. бібліотеку візуальних компонентів Delphi (VCL– бібліотеку). Одночасно з головним вікном Delphi відкриваються вікно провідника коду Code Explorer разом з вікном редактора коду, вікно інспектора об’єктів Object Inspector та вікно форми Form1. Вікно редактора коду містить вікно провідника коду Code Explorer і вікно для редагування коду. Редактор коду надає набір засобів Code Insight, налаштування яких зійснюється при виборі закладки Code Insight з меню Tools( Editor Options або з пункту контекстного меню Properties вікна редактора коду. Для відображення списку змінних, властивостей, методів і процедур обробки подій слід натиснути клавіші Ctrl+Space. Комбінація клавіш Ctrl+J відображає список шаблонів операторів. При вводі імені процедури і відкриваючої круглої дужки редактор коду автоматично відображає спливаючу підказку зі списком параметрів цієї процедури. У вікні Code Explorer відображається деревовидна діаграма, що містить типи, класи, властивості, методи, глобальні змінні і глобальні процедури, що визначені в поточному модулі. Вікно інспектора об’єктів Object Inspector дозволяє редагувати властивості компонент та визначати для них процедури обробки подій. Це вікно має дві закладки: властивостей (Properties) та подій (Events). У верхній частині інспектора об’єктів розміщений список всіх компонент, розміщених у формі. Цей список іноді називають ще селектором об’єктів. Закладка Properties містить у лівій частині список всіх доступних під час проектування властивостей для поточного об’єкта, а у правій частині — їх значення. Властивості можуть бути простими і складними (комплексними). Символ + перед іменем властивості вказує, що дана властивість містить вкладені властивості. Хід роботи Запустіть на виконання Delphi. Прогляньте і запишіть у звіті про роботу назви елементів середовища Delphi. Прогляньте закладки (сторінки) палітри інструментів. Перепишіть у звіт призначення елементів середовища розробки і палітри інструментів. Перепишіть у звіт з панелі елементів назви і зображення кількох елементів управління. Відкрийте вікно редагування коду для форми Form1. Які елементи вікна має це вікно? Виконайте налаштування параметрів вікна редактора коду (Tools( Editor Options). Ознайомтеся із закладками вікна Editor Properties. Активізуйте вікно форми і перегляньте у вікні властивостей її властивості. Запишіть у звіт назви кількох простих і комплексних властивостей. Збережіть форму і проект в особистій папці. Запишіть у звіт розширення файлів — складових проекту, які створюються середовищем Delphi . Опишіть у звіті пророблені дії. Здайте звіт. Лабораторна робота № 2 Налаштування інтерфейсу програми за допомогою стандартних засобів Delphi Delphi надає можливість створення готового шаблону прикладної програми, який може містити лінійку меню, роботу з набором стандартних діалогів та ін. Щоб створити стандартний шаблон, необхідно вибрати пункт меню File(New і на сторінці Projects вибрати потрібну піктограму. Для створення меню в інтегрованому середовищі розробки IDE використовується редактор меню. Виклик його здійснюється додаванням у форму компонентів типу TMainMenu або TPopupMenu. Хід роботи Відкрийте новий проект Delphi. (File( New Application). Відкрийте менеджер проектів (File( Project Manager = Ctrl+Alt+F11). Налаштуйте параметри проекту за допомогою команди Options контекстного меню менеджера проектів. Які закладки має вікно Project Options? Відкрийте File/ New/ Other і виберіть закладку Projects. Створіть шаблони з властивостями SDI та MDI-інтерфейсу. Налаштуйте можливості створеного шаблону за допомогою вікна Application Wizard. Прогляньте лістінги автоматично створених файлів шаблону. Проекспериментуйте з редактором зображень. (Tools( Image Editor). Проекспериментуйте з редактором меню. Задайте заголовки пунктів меню. Створіть діалогове вікно для вводу повідомлення. Створіть форму — годинник, яка відображає поточний час. Опишіть у звіті пророблені дії. Захистіть роботу і здайте звіт. Лабораторна робота № 3 Розробка інтерфейсу прикладних програм у середовищі Delphi Діалогові вікна та повідомлення Для зчитування прикладною програмою значень, що вводяться користувачем, можна, зокрема, використовувати функції InputBox та InputQuery: procedure TForm1.Button1Click(Sender: TObject); var InputString: String; begin InputString:=InputBox('Заголовок вікна', 'Повідомлення', 'Значення за замовчуванням'); end; procedure TForm1.Button1Click(Sender: TObject); var ClickOk: Boolean; mVal: String; begin mVal:='Значення'; ClickOk:=InputQuery('Заголовок вікна','Повідомлення',mVal); end; Приклад програмного коду для додавання нового вказівника миші (“курсора”) unit VCur; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; const crVcur=1; //Оголошення константи курсора implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin {У масив Cursors глобальної змінної Screen заносимо дескриптор нового курсору, наданий функцією LoadCursor (Windows API)} {'VBEAM' — ім’я нового курсора у файлі ресурсів} Screen.Cursors[crVcur]:=LoadCursor(hinstance,'VBEAM'); form1.Color:=clAqua; {Задаємо новий курсор для форми Form1 і текстового поля Memo1} Form1.Cursor:=crVcur; Memo1.Cursor:= crVcur; {Зміна курсора може відображатися не відразу, } {тому іноді корисно додати наступну стрічку:} //Application.ProcessMessages; //призупиняє виконання на час обробки подій {Задаємо нову піктограму для форми Form1} Form1.Icon.LoadFromFile('D:\...\Del\formicon.ico'); Memo1.Text:=CursorToString(Screen.Cursor)+chr(13)+chr(10)+ CursorToString(Form1.Cursor); end; end. Завдання для виконання: За допомогою діалогових вікон OpenDialog та SaveDialog (закладка Dialogs) створіть форму для перегляду файлів. Створіть форму для перегляду файлів за допомогою елементів керування FileListBox, DirectoryListBox та DriveComboBox (закладка Win 3.1). Створіть меню для відображення у формі кіл та прямокутників (фігури (Shapes) знаходяться на сторінці Additional). Створіть формукалендар з елементами керування Calendar та SpinEdit (сторінка Samples). Створіть форму для перегляду графічних файлів. Створіть форму з двома текстовими вікнами (і таймером) для відображення поточної позиції курсора. За допомогою редактора зображень Image Editor створіть власний курсор і відобразіть його на формі. Опишіть у звіті пророблені дії. Захистіть роботу і здайте звіт. Лабораторна робота № 4 Використання компонентів табличного і графічного відображення даних TStringGrid та TChart Компонент типу StringGrid Компонент типу StringGrid реалізує таблицю для відображення і редагування текстово-числових даних, надає методи для обробки даних і керування виглядом таблиці. Він є безпосереднім нащадком класу TDrawGrid, від якого успадковує більшість властивостей та методів. Таблиця StringGrid має дві частини — фіксовану і робочу. Фіксована частина служить для відображення заголовків стовпців та рядів і ручного керування їх розмірами. За замовчуванням фіксована частина займає крайній лівий стовпець та верхній ряд таблиці. Зміною значень властивостей FixedCols та FixedRows можна задати кількість фіксованих стовпців та рядів (якщо ці значення рівні 0, то таблиця не має фіксованої зони). Решта таблиці — це робоча частина. У властивості Cells зберігається двовимірний масив комірок таблиці, кожна з яких може містити довільне значення стрічкового типу. Таблиця 1. Властивості компонента StringGrid Ім’я та тип властивості Опис властивості  property Cells[ACol, ARow: Integer]: string; Визначає вміст комірки таблиці з табличними координатами (ACol, ARow)  property Col: Longint; Містить номер стовпця комірки, що має фокус  property Row: Longint; Містить номер рядка комірки, що має фокус  property ColCount: Longint; Містить кількість стовпців таблиці  property RowCount: Longint; Містить кількість рядків таблиці  property Cols[Index: Integer]: TStrings; Містить всі стрічки комірок, що знаходяться у колонці з індексом Index  property Rows[Index: Integer]: TStrings; Містить всі стрічки комірок, що знаходяться у рядку з індексом Index  property FixedCols: Integer; Визначає кількість стовпців фіксованої зони  property FixedRows: Integer; Визначає кількість рядків фіксованої зони  property LeftCol: Longint; Визначає номер крайнього лівого стовпця, видимого в зоні прокручування  property TopRow: Longint; Визначає номер верхнього рядка, видимого в зоні прокручування  property FixedColor: TColor; Визначає колір фіксованої зони  property DefaultRowHeight: Integer; Визначає висоту рядків за замовчуванням  property DefaultColWidth: Integer; Визначає ширину стовпців за замовчуванням  property EditorMode: Boolean; Дозволено/заборонено редагування комірок. Значення EditorMode ігнорується, якщо властивість goAlwaysShowEditor має значення True. Редагування забороняється, якщо властивість goEditing має значення False.  property ScrollBars: ScrollStyle; ssVertical — таблиця має вертикальну смугу прокручування; ssHorizontal — таблиця має горизонтальну смугу прокручування; ssNone — смуги прокручування відсутні; ssBoth — таблиця має обидві смуги прокручування.   Властивість Options Властивість Options має ряд підвластивостей (всі — типу Boolean), що визначають режими відображення і поведінку таблиці. type TGridOption = (goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected, goRowSizing, goColSizing, goRowMoving, goColMoving, goEditing, goTabs, goRowSelect, goAlwaysShowEditor, goThumbTracking: Boolean); TGridOptions = set of TGridOption; property Options: TGridOptions; [goFixedVertLine .. goThumbTracking] Таблиця 2. Значення прапорців властивості Options goFixedVertLine Відображуються вертикальні лінії, що розділяють стовпці фіксованої зони таблиці.  goFixedHorzLine Відображуються горизонтальні лінії, що розділяють рядки фіксованої зони таблиці.  goVertLine Відображуються вертикальні лінії, що розділяють стовпці в зоні прокручування.  goHorzLine Відображуються горизонтальні лінії, що розділяють рядки в зоні прокручування.  goRangeSelect Дозвіл на виділення діапазону комірок. Значення цієї властивості ігнорується, якщо goEditing = True.  goDrawFocusSelected Якщо goDrawFocusSelected = True, то комірка, що має фокус, виділяється кольором. В протилежному випадку комірка, що має фокус, виділяється лише прямокутною рамкою.  goRowSizing Дозволено ручне (за допомогою миші) змінювання висоти рядків.  goColSizing Дозволено ручне змінювання ширини стовпців.  goRowMoving Дозволено ручне переміщення рядків зони прокручування.  goColMoving Дозволено ручне переміщення стовпців зони прокручування.  goEditing Дозвіл на редагування вмісту комірки.  goTabs Можливість навігації у таблиці клавішами Tab та Shift+Tab.  goRowSelect Можливість виділення всього рядка.  goAlwaysShowEditor Для таблиці увімкнено режим редагування. Ігнорується, якщо значення властивості goEditing = False.  goThumbTracking Вміст таблиці оновлюється при прокручуванні, інакше оновлення відбувається тільки після відпускання бігунця смуги прокручування.   Методи компонента типу StringGrid Для навігації в таблиці StringGrid можуть бути використані методи CellRect, MouseToCell та MouseCoord. Метод function CellRect(ACol, ARow: Longint): TRect; повертає значення в пікселях меж клітинки, заданої значеннями ACol, Arow. Метод procedure MouseToCell(X, Y: Integer; var ACol, ARow: Longint); конвертує екранні координати (X,Y) в табличні координати (AСol, ARow ) — номер стовпця та номер тієї клітинки, в якій знаходиться вказівник миші, що має екранні координати (X,Y). Цей метод зручно використовувати в процедурах обробки подій миші, які автоматично повертають координати (X,Y). Метод function MouseCoord(X, Y: Integer): TGridCoord; повертає номери стовпця та рядка тієї клітинки, в якій знаходиться точка з екранними координатами (X,Y). Наприклад, наступна процедура реалізує занесення номерів стовпця (Column) та рядка (Row) у клітинку, над якою відпускається ліва клавіша миші. procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; AX, AY: Integer); var Column, Row: Longint; begin if Button=mbright then Column :=StringGrid1.MouseCoord(AX,AY).X; Row :=StringGrid1.MouseCoord(AX,AY).Y; StringGrid1.Cells[Column,Row]:='Col' + IntToStr(Column) + 'Row' + IntToStr(Row); end; Такого ж результату можна досягнути використанням методу MouseToCell: procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; AX, AY: Integer); var Column, Row: Longint; begin if Button=mbright then StringGrid1.MouseToCell(AX, AY, Column, Row); StringGrid1.Cells[Column,Row]:='Col' + IntToStr(Column) + 'Row' + IntToStr(Row); end; Компонент TChart Для графічного відображення числових даних у вигляді діаграм та графіків зручно використовувати компонент TChart.  Рис. 1 Цей компонент має великий набір специфічних властивостей, подій та методів. Загальна схема його використання є такою. Спочатку компонент TChart розміщується на формі. Натискання по ньому правою клавішею миші викликає допоміжне меню, з якого опцією Edit Chart викликається вікно редактора компонента діаграми із закладками Chart та Series (рис. 2). (Цей же редактор можна викликати подвійним клацанням на доданому до форми компоненті TChart.)  Рис. 2. Вікно редактора діаграми Для відображення даних необхідно мати принаймні одну серію даних. Натискання кнопки Add у вікні редактора діаграми (рис. 2) дозволяє вибрати потрібний тип графіка чи діаграми (рис. 3, 4):  Рис. 3  Рис. 4 Дані додаються до серії методами AddX, AddY та AddXY об’єкта TChartSeries: procedure TForm1.FormClick(Sender: TObject); var Theta, sinus: double; i: integer; ColWidth: array [1..100] of integer; const Pi=3.1415926535897932384626433832795; begin StringGrid1.RowCount:=100; StringGrid1.Cells[2,0]:=' Sin(Theta)'; //Заголовок стовпця for i:=1 to 100 do begin Theta:= 2*Pi*i/100; sinus:=sin(Theta); StringGrid1.Cells[0,i]:=' Theta = '; //Заголовки рядків stringgrid1.Cells[1,i] := floattostr(Theta); {Заповнюємо перший стовпець таблиці значеннями аргумента Theta} stringgrid1.Cells[2,i] := floattostr(sinus); {Заповнюємо другий стовпець таблиці значеннями функції} chart1.Series[0].AddY(strtofloat(stringgrid1.cells[1,i])) {Додаємо дані до серії} end; end;  Рис. 5. Табульовані значення та графік функції  Завдання для виконання Використовуючи компоненти TStringGrid та TChart, побудувати графіки функцій: . . . . . . . . Для параметрично заданих функцій побудувати графіки функцій , ,  та :       (для різних значень параметра ).  (для різних значень параметра ). Лабораторна робота № 5 Використання компонента TMediaPlayer Компонент типу TMediaPlayer реалізує мультимедійний пристрій для відтворення/запису аудіовізуальної інформації типу CDROMпрогравача, сканера, MIDIсеквенсера тощо. Компонент MediaPlayer дозволяє відтворювати звук (файли форматів *.wav та *.mid), а також переглядати відеокліпи та мультиплікацію, що зберігаються у форматі *.avi (AVI — скорочення від Audio Video Interleave — перемежовування звуку та відео, тобто AVI-файл містить як звукову, так і відеоінформацію) Спосіб використання компонента залежить від типу та можливостей пристрою, яким керує MediaPlayer, та набору необхідних функцій такого пристрою.  Рис. 6 Компонент типу TMediaPlayer містить набір кнопок (Play, Pause, Stop, Next, Prev, Step, Back, Record, Eject зі значеннями btPlay..btEject), які дозволяють керувати мультимедійним пристроєм. Керування пристроєм можна здійснювати також викликом відповідних однойменних методів Play, Pause, Stop, Next, Previous, Step, Back, StartRecording, Eject. Мультимедійний пристрій може бути реальним чи програмним. Тип мультимедійного пристрою вказується значенням властивості DeviceType: dtAutoSelect, dtAVIVideo, dtCDAudio, dtDAT, dtDigitalVideo, dtMMMovie, dtOther, dtOverlay, dtScanner, dtSequencer, dtVCR, dtVideodisc, dtWaveAudio. Властивість FileName дає можливість відтворювати аудіовізуальні дані, що зберігаються у файлах відповідного формату. Якщо значенням властивості DeviceType є dtAutoSelect, то визначення типу пристрою відбувається за розширенням імені файлу, заданого властивістю FileName. Властивості компонента MediaPlayer TMediaPlayer.AutoEnable Властивість TMediaPlayer.AutoEnable встановлює/вимикає режим автоматичного керування доступних кнопок медіапрогравачем. Якщо значення AutoEnable = True, медіапрогравач керує доступністю кнопок відповідно до значень властивостей Mode та DeviceType, і тоді ця властивість має пріоритет над значеннями властивості EnabledButtons. TMediaPlayer.AutoOpen Властивість TMediaPlayer.AutoOpen визначає, чи буде медіапрогравач намагатися відкрити мультимедійний пристрій, вказаний значенням властивості DeviceType (або значенням властивості FileName, якщо DeviceType = dtAutoSelect). Якщо значення AutoOpen = False, для відкривання пристрою потрібно використовувати метод Open. TMediaPlayer.Capabilities type TMPDevCaps = (mpCanStep, mpCanEject, mpCanPlay, mpCanRecord, mpUsesWindow); TMPDevCapsSet = set of TMPDevCaps; property Capabilities: TMPDevCapsSet; TMediaPlayer.DeviceType type TMPDeviceTypes = (dtAutoSelect, dtAVIVideo, dtCDAudio, dtDAT, dtDigitalVideo, dtMMMovie, dtOther, dtOverlay, dtScanner, dtSequencer, dtVCR, dtVideodisc, dtWaveAudio); property DeviceType: TMPDeviceTypes; TMediaPlayer.Display Властивість TMediaPlayer.Display (property Display: TWinControl) визначає віконний елемент керування — вікно виведення мультимедійного пристрою. Звичайно в ролі такого вікна використовують вікно форми або панель Panel. Вікна виведення потребують, зокрема, пристрої Animation, AVIVideo, DigitalVideo, Overlay та VCR. TMediaPlayer.DisplayRect Властивість TMediaPlayer.DisplayRect property DisplayRect: TRect; визначає прямокутну область виведення відеозображення у віконний елемент керування, визначений значенням властивості Display, наприклад MediaPlayer1.DisplayRect:=Rect(0,0,60,60); TMediaPlayer.EndPos Вказує позицію завантаженого носія, у якій зупинено відтворення чи запис у форматі, вказаному значенням властивості TimeFormat і використовується лише при наступному виклику методів Play та StartRecording. property EndPos: Longint; Завдання для виконання Використовуючи компонент TMediaPlayer, створити мультимедійний програвач для відтворення звукових файлів та перегляду файлів відеокліпів. Лабораторна робота № 6 Модифікація інтерфейсу мультимедійного програвача Завдання для виконання До мультимедійного програвача, створеного у попередній роботі, додати додаткові елементи інтерфейсу: Меню та діалогові вікна відкривання файлу та запису у файл. Рядок статусу (TStatusBar) з кількома панелями для відображення позиції читання та часу тривалості запису. Вибір формату відображення забезпечити відповідним пунктом меню. Бігунця (наприклад, типу TTrackBar чи TScrollBar) для прокручування вмісту файлу.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!