Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
іНФОРМАТИКА 1.doc
Скачиваний:
25
Добавлен:
15.08.2019
Размер:
14 Мб
Скачать
☆

Порядок виконання роботи

1. Завантажте систему візуального програмування Delphi.

2.Змініть заголовок форми “Оголошення про нараду” і збільшить розміри форми.

4. Змініть піктограму у лівому верхньому куті форми, задавши конкретний файл з рисунком піктограми як значення властивості Icon (піктограма) форми.

5. Назначте піктограму для значка програми (див. конспект лекцій).

  1. Збережіть виконану на даний момент форму у своїй особистій папці (File=>Save All).

  2. Розташуйте у формі компоненти:

  3. 4 текстових поля (Label)<= Standard

  4. 2 список (ListBox)- Standard

  5. 1 RadioGroup з 2 компонентами RadioButton)<= Standard

  6. 1 комбінований список(Combo-Box)<= Standard

  7. 1 фігура (Shape)<=Additional

  8. Змініть назви текстових полів та розмістіть їх на формі та інші компоненти як зображено на рис. 4.1 (4-е текстове поле має бути пустим, воно заповнюється програмно, встановити властивості Label4: AutoSize - false, розмір - на ширину форми, Caption - очистити, Font => Size = 10, Font => Style => [ fsBold, fsltalic ] ).

Рис.2.1 Формування оголошення про нараду

  1. Збережіть виконану на даний момент( Save all).

  2. Для об’єкту ListBox1 через властивість Items =>[…]=> діалогове вікно „String List Editor” додайте текстові рядки з днями тижня: понеділок, вівторок, середу, четвер, п'ятницю через кл. Enter. А також ListBoxl: Font => Size = 10, Font => Style => fsltalic;

  3. Для об’єкту ListBox2 через властивість Items =>[…]=> діалогове вікно „String List Editor” додайте текстові рядки з назвами кольорів: : зелений, синій, червоний, жовтий, салатовий.

  4. Для об’єкта Shape1 властивість Shape1. Shape встановити stEllipse (з списку).

  5. Для об’єкта ComboBox Встановити таті властивості: ComboBox1: Text - очистити, Font => Size = 10, Font => Style =>fsItalic; Властивість Items: натиснути на кнопку з трьома крапками і в String list editor набрати п'ять рядків: зранку, опівдні, по обіді, під час обідньої перерви, після закінчення роботи.

  6. Збережіть виконану на даний момент( Save all) і запустіть на виконання (під час роботи на формі можна вибрати потрібні значення в кожному з трьох списків незалежно.).

  7. Для зміни кольору еліпса при виборі відповідного елемента з списку ListBox2 необхідно визначити метод опрацювання OnClick

procedure TForml.ListBox2Click(Sender: TObject);

begin {змінюємо колір еліпса залежно від вибору в ListBox2}

case ListBox2.Itemlndex of

0: Shape1.Brush.Color:-clGreen;

1: Shapel.Brush.Color:=clBlue;

2: Shapel.Brush.Color:=clRed;

3: Shapel.Brush.Color:=clYellow;

4 : Shapel .Brush. Color:=clLime;

end;

end;

  1. Для зміни повідомлення у разі будь-якого вибору у верхніх двох списках (день, час – ListBox1, ComboBox1) та радіо кнопки необхідно визначити метод опрацювання події OnClick для ListBox1 та RadioButton1, а для ComboBox1 треба визначити метод опрацювання події OnChange, причому він є таким самим, як і OnClick для ListBox1. У цьому випадку можна вчинити так. В інспекторі об'єктів вибрати сторінку Events і в полі редактора імені методу для OnChange натиснути на кнопку списку імен процедур. Зі списку вибрати ListBox1.Click. Це означає, що подію OnChange буде опрацьовувати процедура ListBox1.Click. Для RadioButton1. OnClick та RadioButton2. OnClick виконайте такі ж дії.

procedure TForm1.ListBox1Click(Sender: TObject);

begin

if (ListBox1.ItemIndex>=0)

then {є виділений елемент) }

if RadioButton1.Checked then

Label4.Caption:='Чегова нарада в '+ListBox1.Items[ListBox1. ItemIndex]+' '+ComboBox1.Text;

else

Label4.Caption:='Позачергова нарада в '+ListBox1.Items[ListBox1. ItemIndex]+

' '+ComboBox1.Text;

{текст у ComboBox1 треба ввести до вибору дня}

end;

  1. Cписки можна формувати динамічно під час виконання програми, що і показано на прикладі нижче: додано шостий рядок до списку днів.

  2. procedure TForrnl .ForrnCreate (Sender: TObject);

  3. begin

  4. {списки можна формувати динамічно під час роботи програми}

  5. {додамо до списку ще один рядок перед першою появою форми на екрані}

  6. ListBox1.Items.Add('суботу');

  7. end;

  8. Виконайте програму і проекспериментуйте з різними значеннями. Закрийте вікно програми.

  9. 3бережіть створену програму у своїй особистій папці.

  10. Створіть exe-файл вашої програми.

  11. Закрийте Delphi, запустіть створену програму і виконайте для різних даних.

  12. Продемонструйте створену форму викладачеві.

  13. Зробіть висновки по роботі.

Контрольні питання

  1. Що таке список та правила його використання?

  2. Які існують типи списків, та чим вони відрізняються одне від одного?

  3. Яким чином можна програмно додати елемент до списку.

  4. Яким чином програмно аналізується активне значення списку?

Лабораторна робота №7.

Тема. Введення і виведення даних, робота зі змінними.

Мета роботи.

Навчитись вводити і виводити дані. Створити програму для табулювання функції заданої функції, яка має головне меню, контекстне меню; результат виводиться у багаторядковий редактор тексту; та управління проектом.

Теоретичні відомості

Компоненти класу Тmemo призначені для введення, редагування і/або відображення достатньо довгого тексту. Текст зберігається у властивості Lines класу TStrings і, таким чином, є пронумерованим набором рядків (нумерація починається з нуля). За допомогою властивостей І методів цього класу (Count, Add, Delete, Clear і т.д. ) можна динамічно формувати вміст компоненту.

Властивості аналогічні відповідним властивостям класу TEdit та TLabel. Інші специфічні властивості представлені нижчим:

property CaretPos: TPoint; Містить координати миготливого текстового курсора щодо меж клієнтської області компоненту

property Lines: TStrings; Містить рядки тексту Визначає наявність у вікні редактора смуг прокрутки: ssNone - немає смуг;ssHorizontal -есть горизонтальна смуга; ssVertical - є вертикальна смуга; ssBoth - є обидві смуги

property WantReturns: Boolean; Якщо містить True, натиснення Enter викликає перехід на новий рядок, інакше обробляється системою. Для переходу на новий рядок в цьому випадку слід натиснути Ctrl+Enter

property WantTabs: Boolean; Якщо містить True, натиснення Tab викликає введення в текст символу табуляції, інакше - обробляється системою. Для введення символу табуляції в цьому випадку слід натиснути Ctrl+Tab

Зауваження Якщо властивість ScrollBars містить ssHorizontal або ssBoth, властивість wordwrap ігнорується, і довгі рядки відсікатимуться межами компоненту без перенесення тексту на наступний рядок.

Специфічні методи класу аналогічні методам класу TEdit.

Оскільки компонент є нащадком TControl, він має також властивість Text, яка містить текст, що відображається компонентом, у вигляді одного довгого рядка. У цьому ланцюжку символів межі рядків багаторядкового тексту виділяються символами #13#10 (ознака eoln - кінець рядка). На відміну від цього властивість Lines містить пронумерований список рядків: перший рядок в цьому списку має індекс 0, друга - 1, а загальну кількість рядків можна дізнатися за допомогою Lines .count.

Для завантаження в компонент тексту з файлу і для збереження тексту у файлі зручно використовувати методи LoadFromFile І SaveToFile класу TStrings .