Читать курсовая по информатике, вычислительной технике, телекоммуникациям: "Хэш поиск" Страница 7

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

реализация HESH-поиска.';

form1.OperationGroup.ItemIndex:=0;

form1.AddGroup.ItemIndex:=1;

end; procedure TForm1.CloseButtonClick(Sender: TObject);

begin

if MessageDlg('Сохранить изменения?',mtConfirmation,[mbYes, mbNo],0)=mrYes then

begin

SaveClick(Sender);

NewClick(Sender);

Close; end else

begin

Hesh.DeleteAll;

Close;

end;

end; procedure TForm1.InicialClick(Sender: TObject);

var i,j,count:integer;

begin

if Hesh=nil then

begin

MessageDlg('HESH-таблица не создана. Создаю таблицу.',MtError,[mbok],1);

Hesh:=TMas.Create(''); end else

case OperationGroup.ItemIndex of

0:begin {Add}

If Edit1.Text= '' then MessageDlg('Введите значение!',MtError,[mbOK],1) else

if AddGroup.ItemIndex=0 then

begin {AddFirst}

j:=Hesh.Add(Edit1.Text,0);

if j0 then MessageDlg('Конфликт в ячейке '+inttostr(j),MtInformation,[mbok],1);

MessageDlg('Ключ с значением '+Edit1.Text+' добавлен.',MtInformation,[mbok],1);

end else

begin {AddLast}

j:=Hesh.Add(Edit1.Text,1);

if j0 then MessageDlg('Конфликт в ячейке '+inttostr(j),MtInformation,[mbok],1);

MessageDlg('Ключ с значением '+Edit1.Text+' добавлен.',MtInformation,[mbok],1);

end;

Output;

end;

1:begin {Search}

If Edit1.Text= '' then MessageDlg('Введите значение!',MtError,[mbOK],1) else

if Hesh.Search(Edit1.Text,Count)='0' then

MessageDlg('Элемент не найден!',MtError,[mbok],1) else

begin

MessageDlg('Элемент найден со значением '+Edit1.Text,MtInformation,[mbok],1);

StatusBar1.Panels.Clear;

StatusBar1.Panels.Add.Text:='Количество сравнений : '+inttostr(Count);

end;

end;

2: begin {Clear}

NewClick(Sender);

end;

end;{end case}

Edit1.SetFocus;

end; procedure TForm1.FormCreate(Sender: TObject);

begin

Hesh:=TMas.Create('');

end; procedure TForm1.SaveClick(Sender: TObject);

begin

if SaveDialog1.Execute then

if HeshNil then begin

Hesh.SaveHesh(SaveDialog1.FileName);

NewClick(Sender); end else

MessageDlg('HESH-таблица не создана.',MtError,[mbok],1);

end; procedure TForm1.LoadClick(Sender: TObject);

begin

NewClick(Sender);

if OpenDialog1.Execute then

begin

Hesh.LoadHesh(OpenDialog1.FileName);

Output;

end;

end; procedure TForm1.CloseMenuClick(Sender: TObject);

begin

CloseButtonClick(Sender);

end; procedure TForm1.NewClick(Sender: TObject);

var i,j:integer;

begin

if Heshnil then

begin

Hesh.DeleteAll;

for i:=0 to 10 do for j:=1 to 10 do

begin

stringgrid1.Cells[i,j]:='';

end;

end;

end; procedure TForm1.OperationGroupClick(Sender: TObject);

begin

case OperationGroup.ItemIndex of

0:begin

Inicial.Caption:='Добавить';

Edit1.Text:='';

end;

1:begin

Inicial.Caption:='Найти';

Edit1.Text:='';

end;

2:begin

Inicial.Caption:='Очистить';

Edit1.Text:='';

end;

end;

end; procedure TForm1.SavaBtnClick(Sender: TObject);

begin

SaveClick(Sender);

end; procedure TForm1.LoadBtnClick(Sender: TObject);

begin

LoadClick(Sender);

end; end.

7. Список использованной литературы.

    Иванов А.Г., Карпова А.В., Семик В.П., Филинов Ю.Е. Объектно-ориентированная среда программирования. Системы и средства информатики. Вып.2. М.: Наука, 1991. Иванова Г.С., Ничушкина Т.Н., Пугачев Е. «Объектно-ориентированное программирование: Учебник для вузов Изд. 2-е», М: МГТУ им. Н.Э.Баумана

3. Фаронов В.В. Delphi 2005. Язык, среда, разработка приложений. – СПб.: Питер, 2005 г.

4. Вирт Н. Алгоритмы и структуры данных. – Изд. Невский Диалект, 2001 г.

5. Козин А. Н. «Структуры и алгоритмы обработки данных» ТИСБИ, 2003


Интересная статья: Быстрое написание курсовой работы