Автор работы: Пользователь скрыл имя, 01 Мая 2012 в 13:29, лабораторная работа
Цель работы: Построение иерархии объектов
Задание: Необходимо создать иерархическое дерево объектов с использованием виртуальных правил, статических и динамических методов. Программа должна содержать дерево объектов с отображением их свойств в таблице, в зависимости от того, какой элемент дерева выбран. Дерево объектов должно заполняться динамически (в конструкторе формы). Каждый класс должен содержаться в отдельном модуле.
Тема: изучение компонентов Delphi
Цель работы: Построение иерархии объектов
Задание:
Необходимо создать иерархическое дерево
объектов с использованием виртуальных
правил, статических и динамических методов.
Программа должна содержать дерево объектов
с отображением их свойств в таблице, в
зависимости от того, какой элемент дерева
выбран. Дерево объектов должно заполняться
динамически (в конструкторе формы). Каждый
класс должен содержаться в отдельном
модуле.
Основным инструментом Delphi при проектировании приложений является палитра компонентов. Она занимает правую часть главного окна и имеет закладки, обеспечивающие быстрый поиск нужного компонента. Под компонентом понимается некий функциональный элемент, содержащий определенные свойства и размещаемый программистом в окне формы. С помощью компонентов создается каркас программы.
Button - командная кнопка. Обработчик события OnClick этого компонента обычно используется для реализации некоторой команды. Обладает такими же основными свойствами, что и метка: Caption, Color, Font, Visible, кроме того координаты расположения и размер командной кнопки задаются с помощью свойств height, left, top и width.
RadioButton - позволяет выбрать только одну опцию из нескольких. Если Вы опять откроете диалог Options | Project и выберете страницу Linker Options, то Вы можете видеть, что секции Map file и Link buffer file состоят из наборов RadioButton.
Label – метка. Этот компонент используется для размещения в окне не очень длинных однострочных надписей. Он имеет такие основные свойства как:
Caption (название) - изменяет название компонента;
Color (цвет) – изменяет цвет компонента;
Font – позволяет изменить шрифт текста, начертание, размер, видоизменение, цвет;
Visible (видимость )- позволяет сделать объект невидимым на форме при запуске программы.
MainMenu - позволяет поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют "невидимыми компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: (1) помещение TMainMenu на форму, (2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, (3) определение пунктов меню в Дизайнере Меню.
Panel - управляющий элемент, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него. Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel
Bevel
- элемент для рельефного оформления
интерфейса.
Порядок выполнения:
Входные данные:
Общий вид приложения до компиляции
Наименование | Свойства | Значение |
TreeView | ColorFont | Дерево иерархии |
Button (кнопка) | Caption | Название кнопки |
Image(картинка) | Picture | Указываем путь к изображению |
TStringGrid | Hint
Color |
Свойство
Цвета |
Выходные данные:
Общий вид
приложения после компиляции
Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
Buttons, ExtCtrls, ImgList, ComCtrls, Grids, jpeg;
type
TForm1 = class(TForm)
grp1: TGroupBox;
tv1: TTreeView;
btn3: TBitBtn;
grp3: TGroupBox;
strngrd1: TStringGrid;
btn4: TBitBtn;
Img1: TImage;
img2: TImage;
Img3: TImage;
Img4: TImage;
Img5: TImage;
Img6: TImage;
Img7: TImage;
procedure btn3Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure tv1Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
var i:integer;
implementation
{$R *.dfm}
procedure TForm1.btn3Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.btn2Click(Sender: TObject);
begin
img1.Visible:=False;
img2.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False;
img7.Visible:=False;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
nd,nd1:TTreeNode;
begin
Strngrd1.cells[0,0]:='
Strngrd1.Cells[1,0]
:='Значение';
if nd.Text = 'Лёгкие фигуры' then begin
img2.Visible:=false;
img1.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'конь' then begin
img1.Visible:=True;
img2.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'слон' then begin
img2.Visible:=True;
img1.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'Тяжёлые фигуры' then begin
img2.Visible:=false;
img1.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'ладья' then begin
img3.Visible:=True;
img1.Visible:=False;
img2.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'ферзь' then begin
img4.Visible:=True;
img1.Visible:=False;
img2.Visible:=False;
img3.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'Главная' then begin
img2.Visible:=false;
img1.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'король' then begin
img5.Visible:=True;
img1.Visible:=False;
img2.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'побочная' then begin
img4.Visible:=false;
img1.Visible:=False;
img2.Visible:=False;
img3.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'пешка' then begin
img6.Visible:=True;
img1.Visible:=False;
img2.Visible:=False;
img3.Visible:=False;
img5.Visible:=False;
img4.Visible:=False ;
img7.Visible:=False ;
end;
end;
procedure TForm1.btn1Click(Sender: TObject);
var nd:TTreeNode;
begin
nd:=tv1.Selected;
if nd.Text = 'Лёгкие фигуры' then begin
img2.Visible:=false;
img1.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'конь' then begin
img1.Visible:=True;
img2.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'слон' then begin
img2.Visible:=True;
img1.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'ладья' then begin
img3.Visible:=True;
img1.Visible:=False;
img2.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'Тяжёлые фигуры' then begin
img2.Visible:=false;
img1.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'ферзь' then begin
img4.Visible:=True;
img1.Visible:=False;
img2.Visible:=False;
img3.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'Главная' then begin
img2.Visible:=false;
img1.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'король' then begin
img5.Visible:=True;
img1.Visible:=False;
img2.Visible:=False;
img3.Visible:=False;
img4.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'побочная' then begin
img4.Visible:=false;
img1.Visible:=False;
img2.Visible:=False;
img3.Visible:=False;
img5.Visible:=False;
img6.Visible:=False ;
img7.Visible:=False ;
end;
if nd.Text = 'пешка' then begin
img6.Visible:=True;