Министерство транспорта Российской Федерации
Департамент Водного Транспорта
НГАВТ
Кафедра ИСА
ОТЧЕТ
По лабораторной работе №2
«Построение семантической сети с использованием алгоритмического языка программирования»
Выполнил: ст-ты группы ИТ-41Б
Проверил: преподаватель
Новосибирск - 2007
Цель работы.
Целью данной работы является изучение основных свойств и способов применения семантических сетей.
Листингпрограммы.
unit Lab;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables, ComCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
ListBox1: TListBox;
Edit1: TEdit;
Button1: TButton;
GroupBox2: TGroupBox;
ListBox2: TListBox;
Edit2: TEdit;
Button2: TButton;
GroupBox3: TGroupBox;
ListBox3: TListBox;
Edit3: TEdit;
Edit4: TEdit;
Button4: TButton;
btnViewClasses: TButton;
Query: TQuery;
btnAddAttr: TButton;
SubQuery: TQuery;
GroupBox4: TGroupBox;
TreeView1: TTreeView;
Button5: TButton;
Button8: TButton;
Button3: TButton;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ListBox2Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure btnViewClassesClick(Sender: TObject);
procedure btnAddAttrClick(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
C, O, A: Integer;
implementation
{$R *.DFM}
{Активация}
procedure TForm1.FormCreate(Sender: TObject);
var
S: string;
begin
S:=ExtractFilePath(paramstr(0))+'table';
Query.DatabaseName:=S;
SubQuery.DatabaseName:=S;
end;
{Просмотр Объектов в соотношении с выбранной Структурой ListBox2}
procedure TForm1.ListBox1Click(Sender: TObject);
var
i: integer;
begin
Query.SQL.Text:='select id from cllist where (name="'+ListBox1.Items[ListBox1.ItemIndex]+'")';
Query.Open;
Query.First;
C:=Query.FieldByName('id').AsInteger;
Query.Close;
ListBox3.Items.Clear;
ListBox2.Items.Clear;
Query.SQL.Text:=
'select name from objects'+
' inner join cllist on (cllist.id = objects.cl)'+
' where (cllist.name="'+ListBox1.Items[ListBox1.ItemIndex]+'")';
Query.Open;
Query.First;
for i:=0 to Query.RecordCount-1 do
begin
ListBox2.Items.Add(Query.FieldByName('name').AsString);
Query.Next;
end;
Query.Close;
end;
{Кнопка "ADD-Структуру"}
procedure TForm1.Button1Click(Sender: TObject);
var
id: String;
begin
if (Edit1.Text<>'') then
begin
ListBox1.Items.Add(Edit1.Text);
Query.SQL.Text:='select max(id) as max_id from ClList';
Query.Open;
Query.First;
id:=IntToStr(Query.FieldByName('max_id').AsInteger+1);
Query.Close;
Query.SQL.Text:='insert into ClList (id, name) values ('+id+', "'+Edit1.Text+'")';
Query.ExecSQL;
end;
end;
{Просмотр Атрибутов в соотношении с выбранной Объектом}
procedure TForm1.ListBox2Click(Sender: TObject);
var
i: integer;
begin
Query.SQL.Text:='select id from objects where (name="'+ListBox2.Items[ListBox2.ItemIndex]+'" and cl='+IntToStr(C)+')';
Query.Open;
Query.First;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.