Тема6. Введення даних.
Знайомство з об’єктами TEdit, TImage та їх властивостями. Способи введення даних при виконанні проекту.
Конспект.
Текстове поле Edit.
Будь-яка програма в своїй роботі використовує якісь вихідні дані.
1. Для організації введення даних можна використовувати компоненту Edit - поле введення (або–текстовое поле), яке на відміну від Label можна редагувати під час виконання проекту . |
Деякі властивості поля Edit
- Name - Ім'я компонента. Використовується в програмі для доступу до компоненту і його властивостей, зокрема для доступу до тексту, введеного в поле редагування.
- Text - Текст, що вводиться в текстове поле, зберігається як значення його властивості .
- Left - Відстань від лівої межі компоненту до лівої межі форми.
- Top - Відстань від верхньої межі компоненту до верхньої межі форми
- Width, Height - Ширина, висота поля.
- Font - Шрифт, використовуваний для відображення тексту, що вводиться.
- Enabled - Використовується для обмеження можливості змінити текст в полі редагування. Якщо значення властивості рівне, то текст в полі редагування змінити не можна.False
- Visible - Дозволяє приховати текст (False) або зробити його видимим (True).
У програмному коді текстове значення записується між символами одинарних лапок (').
Системна функція InputBox().
2. Інший спосіб організації введення даних - використання вбудованого діалогового вікна InputBox.
1) Це діалогове вікно не встановлюється програмістом на форму під час розробки. Оператор його активації потрібно вставляти в програмний код.
2) Функція InputBox () виводить на екран діалогове вікно, в якому можна ввести дані.
3) У загальному вигляді рядок програмного коду з використанням функції InputBox виглядає так:
Змінна : = InputBox ( 'Заголовок', 'Підказка', 'Значення за замовчуванням');
де:
Змінна - змінна строкового типу, значення якої повинно бути отримано від користувача( більш детально поняття змінної буде розглянуте пізніше, поки-що значення функції за допомогою команди присвоювання ми будемо надавати властивості Caption компонентів, наприклад Label, Form і т.д.);
Аргументами цієї функції є три рядки:
- Заголовок - текст заголовка вікна;
- Підказка - текст підказки повідомлення;
- Значення за замовчуванням - текст, який буде знаходитися в полі введення, коли вікно з'явитися на екрані.
Значенням функції є рядок, введений користувачем з клавіатури.
Завдання1. Після клацання на кнопці потрібно замінити текст в заголовку вікна на текст введений користувачем в текстове поле об'єкта Edit1.
I. Створіть додаток, розмістіть на формі компоненти: Buton1,Buton2, Edit1 так як показано на зразку.
Алгоритм виконання проекту. Створюючи проект ми плануємо наступне:
1. Під час запуску проекту слідуючим властивостям вікна форми повинні бути надані наступні значення:
Сaption -' текстове поле Edit - поле введення даних';
BorderIcons – bsMaximize – false;
BorderStyle - bsSingle;
Color – clDefault;
Height - 170;
Left – 550;
Top – 300;
Width - 370.
2. При виборі кнопки Button1 текст, який користувач вводить в текстове поле стає заголовком вікна форми.
3. При виборі кнопки Button2 заголовком вікна форми повинен стати таким, який він був при завантаженні форми. Текстове поле Edit повинне одержати фокус (в текстовому полі компонента повинен з'явитися текстовий курсор)
II. Для реалізації першого завдання виберемо подію OnCreate - відкриття форми (вікна) на початку виконання проекту.
1. Відкриваємо проект.
2. Виділяємо форму і до форми застосуємо подію – відкриття форми.
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Caption :=' текстове поле Edit - поле введення даних'; //текстові дані в команді присвоювання беруться в одинарні лапки
form1.BorderIcons:=[biMinimize,biSystemMenu]; //заборона змінювати розмір вікна форми кнопкою biMaximize
form1.BorderStyle := bsSingle; //заборона змінювати размір вікна форми мишкою
form1.Color :=clDefault;
form1.Height := 170;
form1.Left :=550 ;
form1.Top := 300 ;
form1.Width := 370;
end;
ІII. Для виконання другого пункту алгоритма виберемо подію OnClick для кнопки Button1.
Пишемо програмний код для процедури обробника події клацання на кнопці:
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Caption := edit1.Text; // текст, введенний користувачем з клавіатури в текстовий рядок об'єкта Edit набуває значення його властивості Text. Використовуючи команду присвоювання ми значення властивості Text об'єкта Edit надаємо властивості Caption об'єкта Form1.
end;
ІV. Для виконання третього пункту алгоритма виберемо подію OnClick для кнопки Button2.
Пишемо програмний код для процедури обробника події клацання на кнопці:
Рrocedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Text := '';
edit1.SetFocus; // метод SetFocus компонента edit1 встановлює текстовий курсор в текстовий рядок
form1.Caption:='текстове поле Edit - поле введення даних';
end;
підсумок
Виконайте програму. Це можна зробити одним з трьох способів:
1) натиснувши кнопку Run (Виконати) на панелі інструментів;
2) вибравши команду Run-Run в головному меню;
3) натиснувши клавішу <F9>.
Відбувається порівняно недовгий процес компіляції, в результаті якого в папці проекту створюється EXE файл. У вікні Повідомлення виводиться протокол збірки проекту. Далі цей файл, в разі успішного створення, запускається на виконання. У разі, якщо були допущені помилки, повідомлення про це з'являється в протоколі.
Збережіть всі файли проекту.
Завдання 2. Створення та виконання проекту з використанням об’єктів Edit, TImage. Використання в програмних кодах методів об’єктів, функції введення даних InputBox.
Ціль виконання завдання.
1. Призначення та властивості об’єкта TEdit.
2. Введення даних. Функція InputBox ()
3. Призначення та властивості об’єкта TImage.
4. Продовження зі знайомством поняття процедур, методів.
5. Закріпити навички використання способів введення даних при виконані проекту, використовуючи значення властивості Text об’єкту Edit та функції InputBox ()
Практична робота.
Увага! Під час роботи з комп'ютером дотримуйтеся правил безпеки та санітарно-гігієнічні норми.
1.Створіть папку для збереження проекту. Відкрийте середовище програмування Lazarus.
2. Задайте значення властивостям форми:
Caption = Введення та виведення даних.
Color = clGreen (англ. green -зеленый)
BorderIcons :
biMaximize = false (не дозволяє користувачеві змінювати розміри вікна з допомогою кнопок керування розмірами вікна)
BorderStyle = bsSingle (не дозволяє користувачеві змінювати розміри вікна мишкою )
Height = 270
Width = 480
Left = 500
Top = 150
І. Створення інтерфейсу проекту
1. Додайте на форму два текстових поля (TEdit), чотири написи (TLabel) , два об’єкти Image і дві кнопки(TButton) відповідно до малюнку.
Послідовність виконання.
1) Встановіть Label1, задайте значення властивостей:
AutoSize = false
Aligment = taCenter
Caption = ім’я першого цуценяти:
Font :
• Font.Name - вид шрифту - Times New Roman;
• Font.Size - розмір шрифту - 11;
• Font.Color - колір шрифту - білий.
2) Cкопіюйте Label1, та вставте три копії об’єкту, таким чином вам не доведеться для дублюючих компонентів задавати значення властивостей крім значення властивості Caption.
- Значенням властивості Caption Label3 та Label4 присвойте пустий текст, Label2.Caption - ім’я другого цуценяти:
3) Установіть текстове поле Edit1, задайте значення властивостей:
Aligment = taCenter
Font :
• Font.Name - вид шрифту - Arial;
• Font.Size - розмір шрифту - 9;
• Font.Color - колір шрифту - чорний.
Text = ‘’ (пустий техт)
- Cкопіюйте Edit1 та вставте копію текстового поля.
Підсумок
4) Розмістіть на формі компонент Image1: вкладка Additional – Timage
Встановіть наступні значення властивостям:
• властивість Picture – вікно діалогу загрузки зображень – вибір зображення, наприклад - з файлу dog1.jpg.
• Stretch = True (зображення займе всю область )
• Visible= true
- Додайте на формі ще одну область зображення - Image2. Розташуйте в області зображення малюнок, наприклад з файлу dog2.jpg.
5) Розташуйте на формі дві кнопки .
Підсумок:
І. Створення інтерфейсу проекту
1. Створіть процедурудля події onClick для кнопки Button1, під час виконання якої:
- користувач вводить текст з клавіатури в текстові поля об'єктів edit1, edit2;
- в label3, label4 зявлються імена цуценят
-
текстові поля: edit1, edit2, написи: label1 та label2- невидимі.
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Hide; edit2.Hide; label1.Hide; label2.Hide;
label3.Caption := 'Я - ' + edit1.text; label4.Caption :='Я - ' + edit2.text;
end;
Створіть процедуру події onClick для кнопки Button2, під час виконання якої тексти з текстових полів edit1, edit2 та написів label3, label4 затираються і можемо вводити інші .
procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.text := ''; edit2.Text :=''; edit1.Show;
edit2.Show; label1.Show; label2.Show;
label3.Caption := '' ; label4.Caption :=''; edit1.SetFocus;
end;
Створення та виконання проекту з використанням об’єктів Label, Button, TImage. Використання в програмних кодах для введення даних функції InputBox.
Ціль виконання завдання.
1. Введення даних. Функція InputBox ()
2. Продовження зі знайомством поняття процедур, методів.
3. Закріпити навички використання способів введення даних при виконані проекту, використовуючи значення властивості функції InputBox ()
Вносимо зміни в проект варіанту 1:
1. Інтерфейс проекту.
Об'єкти: Label1, Label2, Image1, Image2, Button1, Button2.
1) Початкові значення властивостей форми не змінюємо.
2) Встановіть Label1, задайте значення властивостей:
AutoSize = false
Aligment = taCenter
Caption = ''
Font :
• Font.Name - вид шрифту - Times New Roman;
• Font.Size - розмір шрифту - 11;
• Font.Color - колір шрифту - білий.
Створіть копію Label1, таким чином вам не доведеться для об’єкта Label2 знову задавати значення властивостей.
2. Послідовність створення програмного коду проекту
1. Створіть процедуру onClick для кнопки Button1, під час виконання якої користувач вводить текст з клавіатури в текстові поля вікна функції InputBoxі в написах 1,2 з’являються імена цуценят, наприклад:
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption := 'Я - ' + inputbox('Хто є хто','Введіть ім’я першого цуценяти:','');
label2.Caption :='Я - ' + inputbox('Хто є хто','Введіть ім’я другого цуценяти:','');
end;
2. Створіть процедуру onClick для кнопки Button2, під час виконання якої тексти написів 1, 2 затираються.
procedure TForm1.Button2Click(Sender: TObject);
begin
label1.Caption := '' ;
label2.Caption :='';
end;
Доповнення до інтерфейсу варіанта2 -доповнюємо інтерфейс проекту об'єктом Image3 :
Зміни в програмному коді проекту:
1. Подія onCreate - обробник події
procedure TForm1.FormCreate(Sender: TObject);
begin
image1.Hide;
image2.Hide;
image3.show;
end;
підсумок:
2. Зміни в програмному кодії обробника події onClick обєкта Button1:
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.show;
image2.show;
image3.Hide;
label1.Caption := 'Я - ' + inputbox('Хто є хто','Введіть ім’я першого цуценяти:','');
label2.Caption :='Я - ' + inputbox('Хто є хто','Введіть ім’я другого цуценяти:','');
end;
2. Зміни в програмному кодії обробника події onClick обєкта Button2:
procedure TForm1.Button2Click(Sender: TObject);
begin
image1.Hide;
image2.Hide;
image3.show;
label1.Caption := '' ;
label2.Caption :='';
end;