- •Палітра Компонентів Delphi
- •Редактор Коду Delphi
- •Конструктор Форм
- •Інспектор Об’єктів. Принцип візуальної розробки програм
- •Завершення роботи з проектом та створення нового проекту
- •Збереження проекту
- •Відкриття існуючого проекту
- •Робота з Delphi-програмою Структура Delphi-програм
- •Виконання Delphi-програми
- •Завершення виконання Delphi-програми
- •Лабораторна робота №1
- •Завдання
- •Теоретичні відомості
- •Лабораторна робота №2
- •Розробка проекту «Діалог»
- •Мал. Діалог Аналіз проекту
- •Хід роботи
- •Завдання для самостійного виконання
- •Лабораторна робота №3
- •Завдання
- •Теоретичні відомості
- •Лабораторна робота №4
- •Розробка проекту «Ваша вага»
- •Хід роботи
- •Розробка проекту «Обмін валюти»
- •Хід роботи
- •Лабораторна робота №5
- •Завдання
- •Хід роботи
- •Теоретичні відомості Оператори if і case мови Паскаль
- •Кнопки-перемикачі в Delphi|
- •Лабораторна робота №6
- •Завдання
- •Хід роботи
- •Теоретичні відомості Типи даних для роботи з|із| рядками Короткі рядки типу|типа| ShortString| і String|[n]
- •Довгий рядок типу|типа| String|
- •Компонент tComboBox|
- •Компонент tBitBtn|
- •Обробка подій
- •Лабораторна робота №7
- •Розробка проекту «Гороскоп»
- •Хід роботи
- •Розробка проекту «Фізичний конвектор»
- •Хід роботи
- •Лабораторна робота №8
- •Розробка проекту «Рейтинг країн за результатами олімпійських змагань»
- •Хід роботи
- •Лабораторна робота №9
- •Розробка проекту «Журнал олімпіади»
- •Хід роботи
- •Лабораторна робота №10
- •Завдання
- •Хід роботи
- •2. Установка
- •3. Тестування створеної компоненти
- •Лабораторна робота №11
- •Розробка проекту «Побудова графіка функції»
- •Хід роботи
- •Лабораторна робота №12
- •Розробка проекту «Графічний конструктор»
- •Хід роботи
- •Лабораторна робота №13
- •Розробка проекту «Чат для локальної та глобальної мережі»
- •Хід роботи
- •Розробка форми на настройок
- •Розробка програмного коду
- •Лабораторна робота №14.
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Етапи створення баз даних в Delphi.
- •Компонент тТаblе
- •Модуль даних
- •Лабораторна робота №15
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №16
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №17
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №18
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Список літератури
Теоретичні відомості Типи даних для роботи з|із| рядками Короткі рядки типу|типа| ShortString| і String|[n]
Короткі рядки мають фіксовану кількість символів. Рядок ShortString| може містити|утримувати| 255 символів. Рядок String|[N] може містити|утримувати| N символів, але|та| не більше 255. Перший байт цих змінних містить|утримує| довжину рядка.
Довгий рядок типу|типа| String|
При роботі з|із| цим типом даних пам'ять виділяється в міру необхідності (динамічно) і може займати|позичати| всю доступну програмі пам'ять. Спочатку компілятор виділяє для змінної 4 байти, в яких розміщується номер елементу пам'яті, починаючи|розпочинати| з|із| якої розташовуватиметься символьний рядок. На етапі виконання програма визначає необхідну довжину ланцюжка символів і звертається|обертається| до ядра операційної системи з|із| вимогою виділити необхідну пам'ять.
Процедури і функції для роботи з|із| короткими і довгими рядками.
Для роботи з|із| рядками застосовуються наступні|такі| процедури і функції (у квадратних| дужках указуються|вказують| необов'язкові параметри).
Процедури і функції для роботи з рядками |
|
Function Concat(S1 [, S2 ..., SN]: String): String; |
Повертає рядок, що є зчепленням рядків-параметрів S1, S2, .., SN |
Function Copy(St: String; Index, Count: Integer): String; |
Копіює з рядка St Count символів, починаючи з символу з номером Index |
Procedure Delete(St: String; Index, Count: Integers; |
Видаляє Count символів з рядка St починаючи з символу з номером Index |
Procedure Insert(SubSt: String; St, Index: Integer); |
Вставляє підрядок SubSt в рядок St починаючи з символу з номером Index |
Function Length(St: String): Integer; |
Повертає поточну довжину рядка St |
Function Pos(SubSt, St: String): Integer;
|
Відшукує в рядку St перше входження підрядка SubSt і повертає номер позиції, з якою вона починається. Якщо підрядок не знайдений, повертається нуль |
Procedure SetLength(St: String; NewLength: Integer);
|
Встановлює нову (меншу) довжину NewLength рядка St, якщо NewLength більше поточної довжини рядка, звернення до SetLength ігнорується |
Підпрограми перетворення рядків в інші типи т |
|
Function StrToCurr(St: String): Currency;
|
Перетворить символи рядка St в ціле число типу Currency. Рядок не повинен містити провідних або ведених пропусків |
Function StrToDate(St: String): TDateTime;
|
Перетворить символи рядка St в дату. Рядок повинен містити два або три числа, розділених правильним для Windows роздільником дати (у русифікованій версії таким роздільником є «.») Перше число - день, друге – місяць, якщо вказано третє число, воно задає рік |
Function StrToDateTime(St: String): TDateTime; |
Перетворить символи рядка St в дату і час. Рядок повинен містити дату і час, розділені пропуском |
Function StrToFloat(St: String): Extended; |
Перетворить символи рядка St в дійсне число. Рядок не повинен містити провідних або ведених пропусків |
Function StrToInt(St: String): Integer;
|
Перетворить символи рядка St в ціле число. Рядок не повинен містити провідних або ведених пропусків |
Function StrToIntDef(St: String; Default: Integer): Integer; |
Перетворить символи рядка St в ціле число. Якщо рядок не містить правильного представлення цілого числа, повертається значення Default |
Function StrToIntRange(St: String; Min, Max: Longint): Longint; |
Перетворить символи рядка St в ціле число і порушує виключення ERangeError, якщо число виходить із заданого діапазону Mm Max |
Function StrToTime(St: String): TDateTime; |
Перетворить символи рядка St в час
|
Procedure Val(St: String; var X; Code: Integer);
|
Перетворить рядок символів St у внутрішнє представлення цілої або речової змінної X, яке визначається типом цієї змінної. Параметр Code містить нуль, якщо перетворення пройшло успішно, і тоді в Х поміщається результат перетворення; інакше він містить номер позиції в рядку St, де виявлений помилковий символ, і в цьому випадку вміст X не міняється. У рядку St можуть бути провідні і (або) ведені пропуски |
Підпрограми зворотного перетворення |
|
Function DateToStr(Value: TDateTime): String; |
Перетворить дату з параметра Value в рядок символів
|
Function DateTimeToStr(Value: TDateTime): String; |
Перетворить дату і час з параметра Value в рядок символів
|
Procedure DateTimeToString (var St: String; Format: String; Value: TDataTime) ; |
Перетворить дату і час з параметра Value в рядок St
|
Function FormatDateTime (Format: String; Value: TDateTime): String; |
Перетворить дату і час з параметра Value в рядок символів
|
Function FloatToStr( Value: Extended): String; |
Перетворить речове значення Value в рядок символів
|
Function FloatToStrF(Value: Extended; Format: TFloatFor-mat; Precision, Digits: Integer): String; |
Перетворить речове значення Value в рядок символів з урахуванням параметрів Precision і Digits (див. пояснення нижчий) |
Function FormatFloat(Format: String; Value: Extended): String; |
Перетворить речове значення Value в рядок
|
Function IntToStr(Value: Integer): String; |
Перетворить ціле значення Value в рядок символів
|
Function TimeToStr(Value: TDateTime): String; |
Перетворить час з параметра Value в рядок символів |
Procedure Str(X [:width [:Decimals]]; var St: String);
|
Перетворить число Х будь-якого речового або цілого типу в рядок символів St; параметри Width і Decimals, якщо вони присутні, задають формат перетворення: Width визначає загальну ширину поля, виділеного під відповідне символьне представлення дійсного або цілого числа X, а Decimals –количество символів в дробовій частині (цей параметр має сенс тільки у тому випадку, коли Х - дійсне число) |
Правила використання параметрів функції FloatToStrF| показані нижче:
Значення Format |
Опис |
fFfExponent
|
Наукова форма уявлення з множником еХХ («помножити на 10 в ступені XX»). Precision задає загальну кількість десяткових цифр мантиси. Digits - кількість цифр в десятковому порядку XX. Число округляється з урахуванням першої відкиданої цифри: 3.1416Е+00 |
ffFixed
|
Формат з фіксованим положенням роздільника цілої і дробової частин. Precision задає загальну кількість десяткових цифр в представленні числа. Digits - кількість цифр в дробовій частині. Число округляється з урахуванням першої відкиданої цифри: 3,14 |
ffGeneral
|
Універсальний формат, що використовує найбільш зручну для читання форму представлення дійсного числа. Відповідає формату ffFixed, якщо кількість цифр в цілій частині менше або рівне Precision, а само число - більше або рівне 0,00001, інакше відповідає формату ffExponent: 3,1416 |
ffNumber
|
Відрізняється від ffFixed використанням символу - роздільника тисяч при виведенні великих чисел (для русифікованої версії Windows таким роздільником є пропуск). Для Value = (* 1000 отримаємо 3 141,60 |
ffCurrency
|
Грошовий формат. Відповідає ffNumber, але в кінці рядка ставиться символ грошової одиниці (для русифікованої версії Windows - символи «р.»). Для Value = (*1000 отримаємо: 3 141,60р |
Широкий рядок типу|типа| WideString|
Введена|запроваджувати| для забезпечення сумісності з|із| компонентами, заснованими на OLE-технології|. Від типу|типа| String| відрізняється тільки|лише| тим, що для представлення кожного символу використовується не один, а два байти.
Нуль-термінальний рядок типу|типа| PChar|
Є ланцюжком символів, обмеженим символом #0. Максимальна довжина рядка обмежена тільки доступній програмі пам'яттю. Нуль-термінальні рядка широко використовуються при зверненнях до API-функцій Windows (API – Application Program Interface – інтерфейс прикладних програм).
Представлення рядка у вигляді масиву символів
Рядок може бути описана як масив символів. Якщо масив має нульову межу|кордон|, він сумісний з типом PChar|.
Var| MASS| : array|[1.100] of| Char|;
На відміну від нуль-термінального| рядка тут довжина має фіксоване значення і не може мінятися в процесі виконання програми.
Компонент TListBox|
Компонентом TListBox| є список, елементи якого вибираються за допомогою клавіатури або миші. Список елементів задається властивістю Items|, методи Add|, Delete| і Insert| якого використовуються для додавання|добавляти|, видалення|віддалення| і вставки рядків. Об'єкт Items| (TString|) зберігає рядки, що знаходяться|перебувають| в списку. Для визначення номера виділеного елементу використовується властивість ItemIndex|.
