
- •Розділ 1. Об’єктно-орієнтоване програмування
- •Тема 1.1. Візуальне програмування.
- •Тема 1.2. Приклади та застосування інкапсуляції, успадкування, поліморфізму.
- •Тема 1.3. Бібліотека візуальних компонентів vcl та її базові класи.
- •1. Клас tWinControl.
- •2. Клас tСustomControl.
- •3. Клас tGraphicControl.
- •Тема 1.4. Обробка виняткових ситуацій.
- •1. Використовування виняткових ситуацій.
- •2. Протоколювання виняткових ситуацій.
- •3. Коди помилок у виняткових ситуаціях.
- •4. Виняткова ситуація eAbort. Функція Assert.
- •Розділ 2. Мова програмування Object Pascal.
- •Тема 2.1. Середовище Delphi.
- •Тема 2.2. Елементи мови Object Pascal.
- •1. Коментарі.
- •2. Логічні вирази.
- •Тема 2.3. Типи даних, процедури та функції.
- •1. Вказівники та динамічна пам'ять. Динамічна пам'ять
- •Вказівники
- •Виділення і звільнення динамічної пам'яті
- •Процедури і функції для роботи з динамічною пам'яттю
- •Тема 2.4. Управляючі структури Object Pascal.
- •Розділ 3. Програмування в середовищі Delphi.
- •Тема 3.1. Застосування списків. Способи запису/читання зі списків.
- •Є списком CheckBox елементів.
- •Тема 3.2. Масиви.
- •1. Пошук мінімального (максимального) елементу масиву.
- •2. Пошук в масиві заданого елементу.
- •Тема 3.3. Робота з файлами.
- •Тема 3.4. Типи даних визначені програмістом.
- •1. Показники.
- •2. Динамічні змінні.
- •Тема 3.5. Графічні програми.
- •1. Бітові образи.
- •2. Мультиплікація.
- •Властивості компоненту Timer
- •Тема 3.6. Приклади застосування анімацій у Delphi.
- •Тема 3.7. Рекурсія.
- •1. Крива Гільберта.
- •2. Пошук шляху.|колії|
- •Значення властивостей компоненту stringGrid1
- •3. Пошук найкоротшого шляху.|колії|
- •Тема 3.8. Компоненти для інтернету. Компонента tSocketConnection
- •Розділ 4. Бази даних.
- •Тема 4.1. Види баз даних. Структура та зв’язки між таблицями. Бази даних
- •Класифікація баз даних
- •Структура бази даних
- •Модель бази даних в Delphi
- •Тема 4.2. Модифікація структури таблиці в bde.
- •1. Зміна структури таблиці.
- •2. Встановлення перевірок правильності даних.
- •3. Завдання вторинних індексів.
- •Тема 4.3. Об’єкти відображення даних бази даних Delphi.
- •1. Класифікація компонентів відображення даних.
- •2. Елемент керування тdbGrid.
- •3. Компонент tdbEdit.
- •4. Компонент tdNavigator.
- •Тема 4.4. Обчислювальні поля і поля підстановки в Delphi.
- •1. Створення поля підстановки (поля синхронного перегляду).
- •2. Обчислювальні поля.
- •Тема 4.5. Компонента tdbEdit.
- •Тема 4.6. Переміщення по записам таблиці. Набір методів і властивостей tDataSet. Огляд
- •Клас tDataSet
- •Відкриття і закриття DataSet
- •Тема 4.7. Налаштування фільтрів.|
- •Тема 4.8. Приклади застосування пошуку.
- •Тема 4.9. Поєднання різних видів пошуку.
- •Тема 4.10. Типи даних та пошук в діапазоні.
- •Список літератури
Розділ 3. Програмування в середовищі Delphi.
Тема 3.1. Застосування списків. Способи запису/читання зі списків.
ListBox
Є вікном списку. Має два варіанти вибору: вибрано один або декілька елементів.
Властивість |
Опис |
BorderStyle |
bsSingle– одинарна рамка; bsNone – не має рамки |
Columns |
кількість стовпців (за замовченням 0) |
ExtendedSelect |
True – при виділенні можна користуватися кл. Ctrl, Shift |
IntegralHeight |
True – всі рядки вікна повністю видимі(не обрізаються) |
ItemIndex |
номер виділеного елемента списку (нумерація з нуля) при багатовибірному режимі – номер виділеного елемента, що має фокус |
Items |
рядки списку |
MultiSelect |
True – багатовибірний режим |
SelCount |
кількість одночасно вибраних елементів списку |
Selected[Index] |
визначає масив, який вказує виділено елемент, чи ні |
Sorted |
True – елементи списку сортуються |
Style |
визначає вид та функціональність списку: lbStandard – елементи є текстовими рядками lbOwnerDrawFixed – елемент є рядок або зображення, всі елементи мають однакову висоту lbOwnerDrawVariable – елемент є рядок або зображення, всі елементи можуть мати різну висоту (Для самовідображення списків потрібно задати обробники подій: OnDrawItem для lbOwnerDrawFixed; OnDrawItem і OnMeasureItem для lbOwnerDrawVariable) |
TopIndex |
номер ел. списку, який відображено першим у вікні |
Програмні фрагменти:
вставляння рядків: ListBox1.Items.Add(S);
доступ до рядків: ListBox1.Items[3]
обмін даними з файлом: ListBox1.Items.LoadFromFile(); та ListBox1.Items.SaveToFile();
доповнення списку1 рядками списку2: ListBox1.Items.AddStrings(ListBox2.Items);
поміняти місцями 2 елементи списку: ListBox1.Items.Exchange(2,6);
вилучення елементу списку: ListBox1.Items.Delete(3);
пошук елемента: Index := ListBox1.Items.IndexOf(S);
вилучення всього списку: ListBox1.Items.Clear;
CheckListBox
Є списком CheckBox елементів.
Властивість |
Опис |
AllowGrayed |
True – елемент може бути: відмічений, не відмічений, відмічений але недоступний; |
Checked[Index] |
Визначає стан кожного елемента (True, False) |
State[Index] |
Указує стан кожного елемента |
Flat |
вид елемента: плоский, об’ємний |
ItemEnabled[Index] |
Указує доступність елемента |
|
|
ComboBox.
Властивість |
Опис |
CharCase |
зміна регістру символів: ecNormal – звичайний режим ecUpperCase – верхній регістр ecLowerCase – нижній регістр |
MaxLength |
скільки символів дозволено ввести |
SelLength |
кількість виділених символів |
SelStart |
номер першого виділеного символу |
SelText |
містить виділений текст |
DropDownCount |
найбільша кількість елементів, які відображаються у вікні |
DroppenDown |
указує, чи відображається в даний момент список |
ItemHeight |
висота елементів списку (пк) |
ItemIndex |
указує номер виділеного елемента списку (-1 якщо не має виділених) |
Items |
масив елементів списку |
Sorted |
сортування елементів списку |
Style |
стиль відображення списку: csDropDown – всі елементи списку є рядками однакової висоти, в полі редагування можна змінювати виділений елемент списку csSimple – поле редагування і список постійно видимі, висота комбінованого списку визначається властивістю Height, у полі редагування можна вводити нові значення (але заносити їх до списку потрібно в обробниках подій); всі елементи є рядками однакової висоти csDropDownList – всі елементи є рядками однакової висоти, в полі редагування не можна модифікувати виділений елемент csOwnerDrawFixed – самовідображуючий випадаючий список, у полі редагування можна вводити текст, висота кожного елемента визначається властивістю ItemHeight csOwnerDrawVariable – самовідображуючий випадаючий список, у полі редагування можна вводити текст, висота кожного елемента може бути різною |
Комбінований список, який складається з поля редагування і, візуально приєднаного до нього, списку.
TreeView
Є вікном списку, у якому відображується ієрархічний список елементів. Це може бути дерево каталогів і файлів, зміст документу і т.п. Список подається як ієрархія вузлів. Кожен вузол дерева складається з мітки і номера відображення (необов’язкового). Кожен вузол може містити асоційований з ним список підвузлів. При активізації вказівника миші на вузлі, список підвузлів може розкриватися або закриватися.
Властивість |
Опис |
AutoExpand |
визначає автоматичне розкриття та закриття списку підвузлів |
BorderStyle |
визначає стиль рамки навколо елемента управління |
DragMode |
визначає режим автоматичного перенесення вузлів |
Images |
визначає список зображень, який асоціюється з компонентом. Зображення виводяться ліворуч вузла |
Items |
список вузлів |
Select |
вказує на поточний вузол; якщо виділеного вузла не має, то приймає значення Nil |
Питання для самоконтролю:
Що таке список?
Які можливості надають списки?
Що собою представляє простий список?
Яким компонентом в Delphi представлений простий список?
Яке призначення властивості Columns ?
Яка властивість управляє номером елемента, який виділений у списку?
Яким чином задати стиль списку?
Яка властивість визначає наявність рамки?
Що таке комбінований список?
Яким компонентом він представляється?
Яка властивість визначає кількість рядків, які одночасно відображаються в списку, що розкривається?
Які події генеруються при роботі з комбінованим списком?
Яка властивість визначає сортування елементів списку?
Які методи використовують для додавання елементів до списку?
Яке призначення властивості MultiSelect?
Як визначити номер вибраного рядка списку?