
- •Комп’ютерний практикум №2
- •Організація вводу та виводу даних у середовищі delphi
- •Мета роботи: ознайомитися зі стандартними типами даних, стандартними функціями, функціями перетворення і процедурами вводу/виводу в середовищі Delphi.
- •Теоретичні відомості
- •1 Стандартні типи даних
- •1.2 Дійсний тип
- •1.3 Символьний тип
- •1.4 Рядковий тип
- •1.5 Логічний тип
- •2 Стандартні функції
- •2.1 Математичні функції
- •2.2 Функції перетворення
- •2.3 Використання функцій
- •3 Організація вводу даних
- •3.1 Вікно вводу
- •3.2 Організація вводу з поля редагування
- •4 Організація виводу результатів
- •4.1 Вивод у вікно повідомлення
- •4.2 Організація виводу в полі діалогового вікна
- •Індивідуальні завдання
- •Контрольні питання
2.3 Використання функцій
Зазвичай функції використовують в якості операндів виразів. Параметром функції може бути константа, змінна або вираз відповідного типу.
Приклад 1
Використання стандартних функцій і функцій перетворення.
n:=Round((x2-x1)/dx);
x1:=(-b+Sqrt(d))/(2*а);
m:=Random(10);
cіna:=StrToInt(Edit1.Text);
Edit2.Text:=IntToStr(100);
mes:='x1= '+FloatToStr(x1);
3 Організація вводу даних
Найбільш просто програма може отримати вихідні дані з вікна вводу або з поля редагування (компонент Edit).
3.1 Вікно вводу
Вікно вводу – це стандартне діалогове вікно, яке з’являється на екрані в результаті виклика функції InputBox. Значення функції InputBox – рядок, який ввів користувач.
У загальному вигляді інструкція вводу даних з використанням функції InputBox виглядає так:
Змінна:=InputBox(Тема, Підказка, Значення);
де
Змінна – змінна рядкового типу, значення якої отримується від користувача;
Заголовок – текст заголовка вікна вводу;
Підказка – текст повідомлення-пояснення;
Значення – текст, який буде знаходитись в полі вводу, коли вікно вводу з’явиться на екрані.
Рисунок 1 – Приклад вікна вводу
Як приклад наведено інструкцію, використовуючи яку можна отримати вихідні дані для програми перерахунку ваги з фунтів у кілограми:
s:=InputBox('Фунти-кілограми','Введіть вагу в фунтах','0');
Вікно вводу, що відповідає цій інструкції, наведено на рисунку 1. Якщо під час роботи програми користувач введе рядок і натисне кнопку Оk, то значенням функції InputBox буде введений рядок. Якщо буде натиснуто на кнопку Cancel, то значенням функції буде рядок, що передана функції як параметр значення. Значення функції InputBox рядкового (string) типу. Тому якщо програмі треба отримати число, то введений рядок повинен бути перетворений в число за допомогою відповідної функції перетворення. Наприклад, фрагмент програми перерахунку ваги з фунтів у кілограми, який забезпечував би ввод вихідних даних з вікна вводу, може виглядати так:
s:=InputBox('Фунти - кілограми','Введіть вагу в фунтах','');
funt:=StrToFloat(s);
3.2 Організація вводу з поля редагування
Поле редагування – це компонент Edit. Ввод даних з поля редагування здійснюється зверненням до властивості Text.
На рисунку 2 приведений вид діалогового вікна програми перерахунку ваги з фунтів у кілограми. Компонент Edit1 використовується для вводу вихідних даних. Інструкція вводу даних в цьому випадку буде мати вигляд:
Funt:=StrToFloat(Edit1.Text);
Рисунок 2 – Компонент Edit1 використовується для вводу даних
4 Організація виводу результатів
Найбільш просто програма може вивести результат своєї роботи у вікно повідомлення або в поле виводу (компонент Label) діалогового вікна.
4.1 Вивод у вікно повідомлення
Вікна повідомлень використовуються для залучення уваги користувача. За допомогою вікна повідомлення програма може, приміром, проінформувати про помилку у вихідних даних або запросити підтвердження виконання незворотної операції, наприклад, видалення файлу. Вивести на екран вікно з повідомленням можна за допомогою процедури ShowMessage або функції MessageDlg.
Процедура ShowMessage виводить на екран вікно з текстом і командною кнопкою Оk. У загальному вигляді інструкція виклику процедури ShowMessage виглядає так:
ShowMessage(Повідомлення);
де Повідомлення – текст, який буде виведений у вікні.
На рисунку 3 наведено вид вікна повідомлення, отриманого в результаті виконання інструкції:
ShowMessage('Введіть вагу в фунтах.');
Слід звернути увагу на те, що в заголовку вікна повідомлення, яке виводиться процедурою ShowMessage, вказано назву додатку, який задається на вкладці Application вікна Project Options. Якщо назву програми не задано, то в заголовку буде ім’я файлу, що виконується.
Рисунок 3 – Приклад вікна повідомлення
Функція MessageDlg більш універсальна. Вона дозволяє помістити у вікно з повідомленням один із стандартних значків, наприклад "Увага", задати кількість і тип командних кнопок і визначити, яку з кнопок натиснув користувач. На рисунку 4 наведене вікно, яке виводиться в результаті виконання інструкції
r:=MessageDlg('Файл ' + FName + ' буде вилучено.', mtWarning, [mbOk, mbCancel], 0);
Значення функції MessageDlg – число, перевіривши значення якого, можна визначити, вибором якої командної кнопки був завершений діалог.
У загальному вигляді звернення до функції MessageDlg виглядає так:
Вибір:=MessageDlg(Повідомлення, Тип, Кнопки, КонтекстДовідки)
де
Повідомлення – текст повідомлення;
Тип – тип повідомлення. Повідомлення може бути інформаційним, застережливим або повідомленням про критичну помилку. Кожному типу повідомлення відповідає певний значок. Тип повідомлення задається іменованою константою (табл. 5);
Кнопки – список кнопок, що відображаються у вікні повідомлення. Список може складатися з декількох розділених комами іменованих констант (табл. 6). Весь список береться у квадратні дужки. Наприклад, для того щоб у вікні повідомлення з’явилися кнопки Оk і Cancel, список Кнопки має бути таким:
[mbOk, mbCancel]
КонтекстДовідки – параметр, що визначає розділ довідкової системи, який з’явиться на екрані, якщо користувач натисне клавішу <F1>. Якщо вивід довідки не передбачений, то значення параметра КонтекстДовідки має дорівнювати нулеві.
Значення, що повертається функцією MessageDlg (табл. 7), дозволяє визначити, яка з командних кнопок була натиснута користувачем.
Рисунок 4 – Приклад вікна повідомлення
Таблиця 5 – Константи функції MessageDlg
Константа |
Тип повідомлення |
Значок |
mtWarning |
Увага |
|
mtError |
Помилка |
|
mt Information |
Інформація |
|
mtConfirmation |
Підтвердження |
|
mtCustom |
Звичайне |
Без значка |
Таблиця 6 – Константи функції MessageDlg
Константа |
Кнопка |
Константа |
Кнопка |
mbYes |
Yes |
mb Abort |
Abort |
mbNo |
No |
mbRetry |
Retry |
mbOK |
Ok |
mblgnore |
Ignore |
mbCancel |
Cancel |
mbAll |
All |
mbHelp |
Help |
|
|
Крім наведених констант можна використовувати константи: mbOkCancel, mbYesNoCancel і mbAbortRetryIgnore. Ці константи визначають комбінації командних кнопок, які найбільш часто використовуються в діалогових вікнах.
Таблиця 7 – Значення функції MessageDlg
Значення функції MessageDlg |
Діалог завершено натисканням кнопки |
mrAbort |
Abort |
mrYes |
Yes |
mrOk |
Ok |
mrRetry |
Retry |
mrNo |
No |
mrCancel |
Cancel |
mrIgnore |
Ignore |
mrAll |
All |