- •Лабораторна робота 1
- •Проект Delphi
- •Рекомендації по створенню нового проекту в Delphi7
- •Стандартні функції роботи з даними об’єктів
- •Використання поля Memo
- •Перелік подій об’єктів
- •Процедура реагування на подію натискання кнопки
- •Хід роботи
- •Порядок виконання приклада 3
- •Індивідуальні завдання
- •Контрольні запитання
Стандартні функції роботи з даними об’єктів
function FloatToStr(Value: Extended): string; - перетворює значення числової змінної у змінну типу string (необхідно для виведення результату у форму як текст деякого об’єкту). Виводить число у форматі 15 значимих цифр.
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; - повертає необхідне число з заданим форматом. Повертає NAN якщо задано не число, INF – якщо число – додатна нескінченність, - INF – від’ємна нескінченність.
Існує кілька видів формату виведення:
ffGeneral – змінна переводиться у найкоротшу змінну типу string
ffExponent - -d.ddd...E+dddd
ffNumber - -d,ddd,ddd.ddd...
ffFixed - -ddd.ddd... (рекомендований)
Precision – точність (всього цифр);
Digits – кількість знаків після коми.
Приклад 1. Використання формату для виведення даних у форматі з фіксованою позицією коми.
procedure TForm1.Button1Click(Sender: TObject);
var b:Extended ;
begin
b:= StrToFloat(edit1.Text);
edit2.Text:= FloatToStrF(b,ffFixed,7,2);
end;
function StrToInt(const S: string): Integer – перетворює текстові змінні у цілі числа (необхідно дотримуватися синтаксису, щоб введені користувачем числа були справді цілими).
function StrToFloat(const S: string): Extended – перетворює текстові змінні у числа дійсного типу (текст має вводитися користувачем так, щоб цілу частину від дробової відокремлювала кома).
Ceil(a:extended):integer – перетворює дробове число в ціле, округлюючи дробове до найближчого вищого цілого
Об'єкт Label
Об’єкти Label використовується для створення текстових полів (написів), зміст яких може бути змінений у процесі виконання програми (об’єкт може бути використаний для виведення результатів програми). Деякі властивості поля редагування Label наведені в табл.1.4. :
Таблиця 1.4. Властивості об’єктів Label
Властивість |
Опис |
Значення |
Layout |
Встановлює слой у якому знаходиться об’єкт (3 слою) |
tlBotton, tlCenter, tlTop |
Transparent |
Встановлює прозорість обєкту |
True, False |
WordWrap |
Дає можливість писати назву об’єкта у кілька рядків |
True, False |
Об'єкт Button
Об’єкти Button являється кнопкою. Деякі властивості поля редагування Label наведені в табл.1.5. :
Таблиця 1.5. Властивості об’єктів Button
Властивість |
Опис |
Значення |
Cancel |
Виконується процедура події OnClick, якщо користувач натисне Esc |
True, False |
Default |
Виконується процедура події OnClick, якщо користувач натисне Enter |
True, False |
ModalResult |
Якщо на діалоговому вікні натиснуто кнопку Ok, то ModalResult запам’ятає mrOk і не потрібно створювати процедуру обробки події OnClick |
mrNone, mrCancel, mrOk, mrNo, mrYes, mrIgnore, mrRetry |
TabOrder |
порядок доступу до об’єкту через табуляцію |
номер |
TabStop |
Встановлює активним TabOrder даного обєкту |
True, False |
Об'єкт Memo
Об’єкт Memo є текстовим полем, що містить більш ніж один рядок. Об’єкт Memo може використовуватися для виведення інформації під час виконання програми. Зверніть увагу на те, що в цьому вікні можна виконувати такі ж дії з текстом, як і в текстовому редакторі: виділяти фрагмент тексту, копіювати, переносити чи вилучати цей фрагмент. Окрім звичайних властивостей, поле редагування Memo володіє ще такими (табл.1.6).
Таблиця 1.6. Властивості об’єктів Memo
Властивість |
Опис |
Значення |
Lines |
Введення початкового тексту у полі редагування |
Комплексна властивість (задається у діалоговому вікні) |
ReadOnly |
Встановлює доступ лише для читання |
True, False |
HideSelection |
Збереження виділеного фрагмента тексту у момент втрати фокусу |
True (виділення не зберігається), False (зберігається) |
WantReturns |
Події клавіатури вносять зміни до об’єкту (можуть до клавіатури) |
True, False |
WantTabs |
Використання табуляції для Memo (можливе для форми – зміна активного об’єкту) |
True, False |
MaxLength |
Максимальна можлива кількість введених символів |
Наприклад, 50 - п’ятдесят символів, 0 - без обмежень |
Scrollbars |
Наявність смуг прокручування |
ssNone (відсутні), ssHorizontal (горизонтальна), ssBoth (обидві) |
Властивість Lines об'єкта типу Memo є комплексною, тобто також є об'єктом зі своїми властивостями та методами. Використовуючи цю властивість з відповідними методами у вікно Memo можна виводити декілька рядків. Щоб додати у поле Memo1 новий рядок треба змінити значення комплексної властивості Lines (рядки) за допомогою її метода Add (додати) з одним аргументом — символьним рядком, наприклад, Memo1.Lines.Add (‘Студент Садко’) виведе у поле Memo інформацію - Студент Садко. Для видалення тексту з поля Memo потрібно вибрати його властивість Lines та натиснути після цього відкривається вікно редактора багаторядкового поля String list editor, який використовується для редагування текстів у полі Memo, або викликати метод Memo1.Clear об'єкта Memo1, який очищає багаторядкове поле редагування.
Рис 1.4. Вікно редактора багаторядкового поля String list editor