Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДОПОЛН ПРАКТИКА 104.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
176.41 Кб
Скачать

Лабораторная работа 1

Тема: Работа с компонентами вкладки Standard.

Цель работы:

Овладеть навыками работы с компонентами вкладки Standard и уметь применять их при создании приложения «Страница Стандартная».

Основная методика создания

  1. Сохранить новый проект в папке «Станица Стандартная» как My_Demo_VCL.dpr; файл Unit1.pas как Standart.pas

  2. Изменить заголовок формы (свойство Caption) на «Страница «Стандартная». Имя формы (свойство Name) заменить на StandartTab.

  3. В верхнюю часть формы добавить компонент Рanel (как показано на рисунке 17). Используем ее как заголовок для формы. Установить свойство Caption как «Демонстрация страницы VCL «Стандартная».

Рисунок 17 – Приложение «Страница Стандартная»

  1. Добавить компонент Label, переименовав его согласно рисунку 17.

  2. Ниже метки расположить компонент Edit, очистить его свойство Text.

  3. Добавить компонент Memo. Добавить компонент RadioGroup, изменить заголовок согласно рис. В свойство Items ввести названия 4-х кнопок. Свойство ItemIndex указывает на номер кнопки, выбранной по умолчанию (-1 ничего не выбрано, 0 – выбрана 1-ая и т.д.). В код обработчика события OnClick ввести:

procedure TStandartTab.RadioGroup1Click(Sender: TObject);

begin

if RadioGroup1.ItemIndex=0 Then StandartTab.Color:=clSilver;

if RadioGroup1.ItemIndex=1 Then StandartTab.Color:=clBlue;

if RadioGroup1.ItemIndex=2 Then StandartTab.Color:=clYellow;

if RadioGroup1.ItemIndex=3 Then StandartTab.Color:=clRed;

end;

  1. Добавить компонент ScrollBar. В событие OnChange дабавить код:

procedure TStandartTab.ScrollBar1Change(Sender: TObject);

begin

RadioGroup1.ItemIndex:=ScrollBar1.Position;

end;

  1. Добавить компонент СomboBox.

  2. Добавить компонент ListBox, установить свойство IntegralHeigt=True. Ввести несколько (>3 !) строк.

  3. Добавить компонент GroupBox. Добавить в группу четыре Button, две RadioButton, две CheckBox. Изменить заголовки этих компонентов согласно рис.

У одной из RadioButton установить свойство Checked=True.

  1. Для Button1 в код обработчика события OnClick ввести:

procedure TStandartTab.Button1Click(Sender: TObject);

var

x:integer;

begin

Memo1.Clear; //Очистка содержимого Memo

Memo1.Lines.Add(Edit1.Text); //скопировать в Memo текст из Edit1

Memo1.Lines.Add(ComboBox1.Text); //скопировать в Memo текст из ComboBox

//скопировать в Memo1 выбранный текст из окна списка ListBox1

Memo1.Lines.Add('ListBox Строка #'+IntToStr(ListBox1.ItemIndex+1));

if RadioButton1.Checked then Memo1.Color:=clWhite;

if RadioButton2.Checked Then Memo1.Color:=clAqua;

end;

  1. Для Button2 в код обработчика события OnClick ввести:

procedure TStandartTab.Button2Click(Sender: TObject);

begin

if CheckBox1.State=cbChecked then StandartTab.Font.Style:=[fsItalic]

else StandartTab.Font.Style:=[ ];

if CheckBox2.State=cbChecked then StandartTab.Font.Color:=clPurple

else StandartTab.Font.Color:=clBlack;

end;

  1. Для Button3 в код обработчика события OnClick ввести:

procedure TStandartTab.Button3Click(Sender: TObject);

begin

Close;

end;

  1. Код для Button4 пока отсутствует. Временно установить ее свойство Enable=False

  2. Добавить компонент MainMenu (невизуальный компонент). Двойным щелчком на свойстве Items запустить конструктор меню (либо из контекстного меню). Инспектор объектов при этом изменится. Установить свойство Caption=&Файл (амперсант & сообщает, что следующую за ним букву нужно подчеркнуть и включить ее в комбинацию быстрых клавиш. Здесь – Alt+Ф).

В выпадающем меню добавить пункт &Выход. Рядом с &Файл добавить пункт &Помощь с выпадающим списком из двух команд: По&мощь и &О программе… Разделить их между собой чертою, для чего добавить дефис (-) в свойство Caption строки меню сразу под По&мощь. Для пункта меню &Выход ввести код обработчика события Button3Click. Для команды &О программе… вывести окно сообщения со своими данными.

В изуальный компонент – компонент, который при запуске приложения виден на форме и выполняет в нем определенные функции.

Невизуальный компонент – компонент, который виден на форме только в процессе проектирования приложения, его функции реализуются через другие визуальные компоненты.

  1. Добавить компонент PopupMenu. Запустить конструктор меню, добавить команды «Готово» и «Обновить шрифты». Выбрать для них события, аналогичные событиям кнопок. Свяжите созданное меню с формой: в свойстве формы PopupMenu укажите PopupMenu1.

  2. Протестировать приложение.

3 . Самостоятельная работа

Самостоятельные задания к лабораторной работе.

Задание 1.

Самостоятельно создайте программный код для переключателей Белый цвет для Memo и Голубой цвет для Memo

Лабораторная работа 2

Тема: Создание улучшенного файлового менеджера

Цель работы:

Научиться создавать файловый менеджер, закрепить знания по работе с файлами и научиться работать со списком элементов.

Основная методика создания приложения

1. Создайте новый проект и добавьте на него два компонента: TreeView1 и ImageList1. В список картинок ImageList1 добавьте несколько картинок.

2. Добавьте четыре кнопки (Button):

  1. Для кнопки 1 в свойстве Name укажи AddButton.

  2. Для кнопки 2 в свойстве Name укажи AddChildButton.

  3. Для кнопки 3 в свойстве Name укажи DelButton.

  4. Для кнопки 4 в свойстве Name укажи EditButton.

В результате должна получиться следующая форма приблизительно такого вида, как показано на рисунке 26.

Рисунок 26 -. Форма будущей программы

3. Теперь нужно указать у нашего дерева в свойстве Images установленный набор картинок.

4. По нажатию кнопки «Добавить» добавляется в дерево новый элемент. Для этого напишете следующий код:

procedure TForm1.AddButtonClick(Sender: TObject);

var

CaptionStr:String;

NewNode:TTreeNode;

begin

CaptionStr := ' ';

if not InputQuery ('Ввод имени', 'Введите заголовок элемента', CaptionStr) then exit;

NewNode := TreeView1.Items.Add(TreeView1.Selected, CaptionStr);

if NewNode.Parent<>nil then NewNode.ImageIndex:=1;

end;

5. Для кнопки «Добавить элемент» создаем следующий код:

var

CaptionStr:String; NewNode:TTreeNode; begin

CaptionStr:=' ';

if not InputQuery('Ввод имени подэлемента', 'Введите заголовок подэлемента',CaptionStr) then exit;

NewNode:=TreeView1.Items.AddChild(TreeView1.Selected, CaptionStr);

if NewNode.Parent<>nil then NewNode.ImageIndex:=1;

Здесь код практически тот же, что и для кнопки «Добавить». Единственная разница в том, что при добавлении нового элемента мы используем метод AddChild. Отличие этого метода от просто Add заключается в том, что он добавляет дочерний элемент. Например, если вы выделили в списке какой-то элемент и передали его в качестве первого параметра в AddChild, то новый элемент будет как бы подчиняться выделенному. При использовании метода Add новый элемент будет находиться на одном уровне дерева с переданным в качестве первого параметра.

6. Теперь напишем код для кнопки «Добавить»:

if TreeView1.Selected<>nil then TreeView1.Items.Delete(TreeView1.Selected);

7. Для кнопки «Изменить заголовок» запишете следующий код:

procedure TTreeViewForm.EditButtonClick(Sender: TObject);

var

CaptionStr:String;

begin

CaptionStr:='';

if not InputQuery('Ввод имени', 'Введите заголовок элемента',CaptionStr) then exit;

TreeView1.Selected.Text:=CaptionStr;

end;

8. Теперь сделаем возможность сохранения и загрузки данных в наше дерево. Для этого создадим обработчик события OnClose для формы и напишем в нём следующее:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

TreeView1.SaveToFile(ExtractFilePath(Application.ExeName)+'tree.dat');

end;

Запустите приложение и протестируйте его работу.

9. Теперь нужно загрузить сохранённые данные. Для этого для события OnShow напишем следующее:

Procedure Form1.FormShow(Sender: TObject);

begin

if FileExists(ExtractFilePath(Application.ExeName)+'tree.dat') then TreeView1.LoadFromFile(ExtractFilePath(Application.ExeName)+'tree.dat');

end;

Рисунок 27- Результат работы программы

10. Запустите проект. На рисунке 27 показано окно работающего приложения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]