Построение семантической сети с использованием алгоритмического языка программирования. Основные свойства и способы применения семантических сетей

Страницы работы

Содержание работы

Министерство транспорта Российской Федерации

Департамент Водного Транспорта

НГАВТ

Кафедра ИСА

ОТЧЕТ

По лабораторной работе №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;

Похожие материалы

Информация о работе