- •Лабораторная работа 1
- •Цель работы:
- •Основная методика создания
- •3 . Самостоятельная работа
- •1. Создание графического улучшенного интерфейса.
- •3 . Самостоятельная работа
- •1 Задание. Усовершенствование программы
- •Практическая работа №6 «Многострочные окна редактирования Memo и RichEdit»
- •Практическая работа № 7 «Системные диалоги»
Лабораторная работа 1
Тема: Работа с компонентами вкладки Standard.
Цель работы:
Овладеть навыками работы с компонентами вкладки Standard и уметь применять их при создании приложения «Страница Стандартная».
Основная методика создания
Сохранить новый проект в папке «Станица Стандартная» как My_Demo_VCL.dpr; файл Unit1.pas как Standart.pas
Изменить заголовок формы (свойство Caption) на «Страница «Стандартная». Имя формы (свойство Name) заменить на StandartTab.
В верхнюю часть формы добавить компонент Рanel (как показано на рисунке 17). Используем ее как заголовок для формы. Установить свойство Caption как «Демонстрация страницы VCL «Стандартная».
Рисунок 17 – Приложение «Страница Стандартная»
Добавить компонент Label, переименовав его согласно рисунку 17.
Ниже метки расположить компонент Edit, очистить его свойство Text.
Добавить компонент 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;
Добавить компонент ScrollBar. В событие OnChange дабавить код:
procedure TStandartTab.ScrollBar1Change(Sender: TObject);
begin
RadioGroup1.ItemIndex:=ScrollBar1.Position;
end;
Добавить компонент СomboBox.
Добавить компонент ListBox, установить свойство IntegralHeigt=True. Ввести несколько (>3 !) строк.
Добавить компонент GroupBox. Добавить в группу четыре Button, две RadioButton, две CheckBox. Изменить заголовки этих компонентов согласно рис.
У одной из RadioButton установить свойство Checked=True.
Для 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;
Для 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;
Для Button3 в код обработчика события OnClick ввести:
procedure TStandartTab.Button3Click(Sender: TObject);
begin
Close;
end;
Код для Button4 пока отсутствует. Временно установить ее свойство Enable=False
Добавить компонент MainMenu (невизуальный компонент). Двойным щелчком на свойстве Items запустить конструктор меню (либо из контекстного меню). Инспектор объектов при этом изменится. Установить свойство Caption=&Файл (амперсант & сообщает, что следующую за ним букву нужно подчеркнуть и включить ее в комбинацию быстрых клавиш. Здесь – Alt+Ф).
В выпадающем меню добавить пункт &Выход. Рядом с &Файл добавить пункт &Помощь с выпадающим списком из двух команд: По&мощь и &О программе… Разделить их между собой чертою, для чего добавить дефис (-) в свойство Caption строки меню сразу под По&мощь. Для пункта меню &Выход ввести код обработчика события Button3Click. Для команды &О программе… вывести окно сообщения со своими данными.
В
изуальный
компонент – компонент, который при
запуске приложения виден на форме и
выполняет в нем определенные функции.
Невизуальный компонент – компонент, который виден на форме только в процессе проектирования приложения, его функции реализуются через другие визуальные компоненты.
Добавить компонент PopupMenu. Запустить конструктор меню, добавить команды «Готово» и «Обновить шрифты». Выбрать для них события, аналогичные событиям кнопок. Свяжите созданное меню с формой: в свойстве формы PopupMenu укажите PopupMenu1.
Протестировать приложение.
3
.
Самостоятельная работа
Самостоятельные задания к лабораторной работе.
Задание 1.
Самостоятельно создайте программный код для переключателей Белый цвет для Memo и Голубой цвет для Memo
Лабораторная работа 2
Тема: Создание улучшенного файлового менеджера
Цель работы:
Научиться создавать файловый менеджер, закрепить знания по работе с файлами и научиться работать со списком элементов.
Основная методика создания приложения
1. Создайте новый проект и добавьте на него два компонента: TreeView1 и ImageList1. В список картинок ImageList1 добавьте несколько картинок.
2. Добавьте четыре кнопки (Button):
Для кнопки 1 в свойстве Name укажи AddButton.
Для кнопки 2 в свойстве Name укажи AddChildButton.
Для кнопки 3 в свойстве Name укажи DelButton.
Для кнопки 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 показано окно работающего приложения.
