If ColorDialog1.Execute Then
Завдання
Завдання №1.
Створити програму яка б могла б продемонструвати роботу властивостей компонентів Owner, ComponentCount, Components.
Хід роботи
1. Створимо новий проект який містить чотири кнопки Tbutton та компонент Tmemo:
2.Компоненти Tbutton містять написи – „Вивести власника”, „Кількість компонентів форми”, „Вивести список”, „Знищити компонент Memo1”. Для зміни напису на кнопці потрібно змінити її властивість Caption на відповідний текст.
3.Для того щоб вивести власника першої кнопки потрібно в обробнику її події onClisk написати наступний код:
Memo1.Text:=Button1.Owner.Name;
4.Друга кнопка повинна містити в своїй події onClisk наступний код:
Var
N:integer;
Begin
N:=Form1.ComponentCount; //Визначаємо кількість компонентів якими володіє форма.
Memo1.Text:=IntToStr(N); //Перетворюємо тип Integer в тип String – функція IntToStr().
//Виводимо це число в компоненті Memo1.
end;
5.Для виводу списку компонентів якими володіє форма потрібно використати наступний код:
Var
I,N:integer;
Begin
N:=Form1.ComponentCount; //Визначаємо кількість компонентів якими володіє форма.
Memo1.Lines.Clear; //Очищуємо вміст компонента Memo1.
for I:=0 to N-1 do Memo1.Lines.Add(Form1.Components[i].Name);
//Memo1.Lines.ADD( ) – додає рядок тексту який знаходиться в дужках.
// Form1.Components[i].Name – Повертає ім’я компонента під номером і.
end;
6.Для знищення компонента шукаємо його і використовуємо метод Free:
Form1.FindComponent('Memo1').free;
Аналогічно можна було б знищити компонент не шукаючи його:
Memo1.Free;
7.Збережіть програму на диску С в папці Practugna3Z1.
Виконавши завдання заповніть таблицю відповідними даними: ім’я компонента що міститься в списку Components форми та його номер в цьому списку.
Ім’я | № |
Завдання №2.
Створити програму за допомогою якої можна вибирати нестандартний колір, і відображати його значення в шістнадцятирічному та десятинному вигляді.
Хід роботи
Якщо розглянути властивість Color компонента TForm в інспекторі об’єктів то побачимо що дана властивість може приймати ряд стандартних кольорів описаних константами: clBlack, clMaroon, clGreen, clOlive … Дана властивість може приймати значення нестандартного кольору у вигляді числової константи розміром чотири байти, тобто 0..4294967295 в десятеричній системі або $00000000..$FFFFFFFF в шістнадцятирічній системі числення. Використаємо це.
1.Створіть новий проект.
2.Помістіть на пусту форму кнопку TButton і діалог TColorDialog (даний компонент знаходиться на сторінці Dialogs палітри компонентів). В властивості Caption кнопки помістіть рядок Вибір кольору. Для виведення числа помістіть компонент TLabel із сторінки Standart. І зітріть значення яке знаходиться в властивості Caption:
3.Напишіть наступний обробник події onClisk кнопки:
If ColorDialog1.Execute Then
Begin
Form1.Color:=ColorDialog1.Color; //Змінюємо колір форми відповідно до вибраного кольору.
Form1.Caption:=IntToStr(ColorDialog1.Color); //Виводимо значення кольору в десятирічній
//системі в заголовок форми.
Label1.Caption:=IntToHex(ColorDialog1.Color,8);//Виводимо значення кольору в
//шістнадцятирічній формі в компонент Label1.
end;
ColorDialog1.Execute – викликає діалог вибору кольору, даний метод повертає значення True якщо користувач вибрав деякий колір.
Конструкція If ColorDialog1.Execute Thenперевіряє чи користувач вибрав якийсь колір, і якщо це так, то виконується код який знаходиться між Begin ….end;
Функція IntToNext має такий синтаксис. IntToHex(Value: Integer; Digits: Integer): string;
Вона перетворює ціле десятичне число в тексовий рядок що містить шістнадцятирічне дане число, другим параметром вказується мінімальна кількість шістнадцятирічних цифр.
4.Перевірте програму і збережіть її в папку Practugna3Z2.
Після виконання завдання заповніть таблицю:
Колір | ||
Зелений | $00008000 | |
Червоний | ||
Синій | ||
Білий | ||
Чорний |
Дати письмову відповідь на запитання
1.Яка властивість вказує на власника компонента?
_____________________________________
2.Як називається масив який містить список усіх компонентів, якими володіє даний компонент?
_____________________________________
3.Задопомогою якої властивості можна сховати компонент, і якого вона типу?
_____________________________________
4.Задопомогою якого методу можна сховати компонент?
_____________________________________
5.Задопомогою якого методу можна показати схований компонент?
_____________________________________
Переведіть числа з шістнадцятирічної системи числення в десятеричну та навпаки:
$00000D | ||||
$2A000D | ||||
$DDDDDD | ||||
$123456 | ||||
$000064 | ||||
$0003E8 | ||||
$000521 | ||||
$0013BA | ||||
$00FFFF | ||||
$0000FF | ||||
$FFFFFF |
Завдання
Дано форма на якій міститься кнопка TButton та компонент TEdit. Напишіть код який повинний бути щоб при натисканні на кнопку число яке знаходиться в компоненті TEdit в десятеричному форматі перетворювалося в шістнадцятирічний.
procedure TForm1.Button1Click(Sender: TObject);
Begin
end;