Главная:
Рефераты
Главная
Финансы деньги и налоги
Философия
Физика и энергетика
Управление
Схемотехника
Стратегический менеджмент
Статистика
Соцобеспечение
Семейное право
Программирование компьютеры и кибернетика
Охрана окружающей среды экология
Основы права
Медицина
Криминалистика и криминология
Коммуникации и связь
Кибернетика
Качество упр-е качеством
КСЕ
Информатика ВТ телекоммуникации
Журналистика
Государство и право
Биографии
Банковское дело
Карта сайта
Рефераты. Информационная система расчетов по договорам
curr:=curr^.next; // к следующему узлу
end;
if pre = NIL
then
begin
// новый узел в начало списка
node^.next:=head1;
head1:=node;
end
else
begin
// новый узел после pre, перед curr
node^.next:=pre^.next;
pre^.next:=node;
end;
i:=i+1;
end;
Kp.XDShow;
end;
procedure TKp.XDShow;
var
curr: TPSpisXD; // текущий элемент списка
//n:integer; // длина (кол-во элементов) списка
// st:string; // строковое представление списка
begin
n:=0;
st:='';
curr:=head1;
while curr <> NIL do
begin
n:=n+1;
st:=st+curr^.numb+' '+curr^.datzak+' '+curr^.datzav+' '+curr^.temadog+' '+curr^.namorg+' '+curr^.priznak+' '+curr^.stoimost+#13;
curr:=curr^.next;
end;
if n <> 0
then ShowMessage ('Список:'+#13+#13+st)
else ShowMessage ('В списке нет элементов.');
end;
procedure TKp.XD (AStringGrid:TStringGrid);
var
node: TPSpisXD; // новый узел списка
curr: TPSpisXD; // текущий узел списка
pre: TPSpisXD; // предыдущий, относительно curr, узел
i:integer; // counter
// n:integer; // длина (кол-во элементов) списка
// st:string; // строковое представление списка
begin
i:=1;
//repeat
while (i<11) do
begin
new(node);
node^.numb:={Edit1. Text;} AStringGrid. Cells [1, i];
node^.datzak:= {Edit2. Text;} AStringGrid. Cells [2, i];
node^.datzav:= {Edit3. Text;} AStringGrid. Cells [3, i];
node^.temadog:= {Edit4. Text;} AStringGrid. Cells [4, i];
node^.namorg:= {Edit5. Text;} AStringGrid. Cells [5, i];
node^.priznak:= {Edit6. Text;} AStringGrid. Cells [6, i];
node^.stoimost:= {Edit7. Text;} AStringGrid. Cells [7, i];
// подходящее место для узла
curr:=head1;
pre:=NIL;
while (curr <> NIL) and (node.numb > curr^.numb) do
begin
// введенное значение больше текущего
pre:= curr;
curr:=curr^.next; // к следующему узлу
end;
if pre = NIL
then
begin
// новый узел в начало списка
node^.next:=head1;
head1:=node;
end
else
begin
// новый узел после pre, перед curr
node^.next:=pre^.next;
pre^.next:=node;
end;
i:=i+1;
//until (i<11);
end;
ShowMessage (' ГОТОВО - СПИСОК ХД!');
end;
procedure TKp. FindXD (AEdit1:TEdit; AStringGrid:TStringGrid);
var
curr:TPSpisXD; // текущий, проверяемый узел
pre: TPSpisXD; // предыдущий узел
found:boolean; // TRUE - узел, который надо удалить
// st:string;
// a:integer;
begin
if head1 = NIL then
begin
MessageDlg ('Список пустой!', mtError, [mbOk], 0);
Exit;
end;
curr:=head1; // текущий узел - первый узел
pre:=NIL; // предыдущего узла нет
found:=FALSE;
// найти узел
=======
while (curr <> NIL) and (not found) do
begin
if (curr^.numb = {'13'} AEdit1. Text) xor (curr^.datzak = AEdit1. Text)
xor (curr^.datzav = AEdit1. Text) xor (curr^.temadog = AEdit1. Text)
xor (curr^.namorg = AEdit1. Text) xor (curr^.priznak = AEdit1. Text)
xor (curr^.stoimost = AEdit1. Text)
then found:=TRUE // нужный узел найден
else // к следующему узлу
begin
pre:=curr;
curr:=curr^.next;
end;
=======
end;
if found then
begin
Kp. Clear(AStringGrid);
Kp.XDGr(AStringGrid);
Kp. RowC(AStringGrid);
ShowMessage ('Элемент найден');
AStringGrid. Cells [1,1]:=''+curr^.numb;
AStringGrid. Cells [2,1]:=''+curr^.datzak;
AStringGrid. Cells [3,1]:=''+curr^.datzav;
AStringGrid. Cells [4,1]:=''+curr^.temadog;
AStringGrid. Cells [5,1]:=''+curr^.namorg;
AStringGrid. Cells [6,1]:=''+curr^.priznak;
AStringGrid. Cells [7,1]:=''+curr^.stoimost;
end
else // если искомого в списке нет
MessageDlg ('Элемент не найден', mtError, [mbOk], 0);
end;
5.
Руководство пользователя
Для старта программы нужно запустить файл project1.exe. Запуститься программа, после этого пользователь увидит окно представленное ниже.
Для навигации и управления проектом пользователя предоставлены многочисленные виджеты, такие как меню, кнопки управления, флажки и переключатели, а также многочисленные выпадающие окна.
Все органы управления имеют всплывающие подсказки.
Для поиска нужно нажать кнопку Поиск, а для удаления кнопку DEL, все операции программы дублированы пользовательским меню.
Для загрузки списков нужно перемещать переключатели в 3 разных положения, а для просотра списка необходимо вызвать одноименный пункт меню, или нажать соответствующую кнопку.
Заключение
В ходе работы над проектом были закреплены навыки работы с технологией ООП, были изучены структуры и то как они представлены в памяти компьютера. В ходе работы над проектом были доработаны и закреплены навыки работы в среде визуальной разработки приложений Delphi.
Данный проект очень интересен тем, что он дает студенту возможность попробовать себя в разработке простейшей базы данных, знания, полученные во время работы над проектом пригодятся в дальнейшей трудовой деятельности, а также в предметах курса, изучающих принципы построения и работы с базами данных.
Данный курсовой проект сможет пригодиться для изучения возможностей ООП использования структур данных
Литература
1. Бакнелл Д.М. Фундаментальные алгоритмы и структуры данных в Delphi. СПб: ООО «ДиаСофтЮП», 2003. 506 с.
2. Вирт Н. Алгоритмы и структуры данных. СПб: Невский диалект, 2001. - 352 с.
3. Гудрич М.Т. Структуры данных и алгоритмы в Java. / М.Т. Гудрич, Р. Тамассия. - Мн.: Новое знание, 2003. - 671 с.
4. Кормен Т.Х., Лейзерсон Ч.И., Ривест Р.Л., Штайн К. Алгоритмы: построение и анализ. - М.: Издательский дом «Вильямс», 2009. - 1296 с.
5. Круз Р.Л. Структуры данных и проектирование программ. - М.: БИНОМ. Лаборатория знаний, 2008. - 765 с.
6. Седжвик Р. Фундаментальные алгоритмы на С. Части 14: Анализ / Структуры данных / Сортировка / Поиск. К.: Издательство «ДиаСофт», 2003. 672 с.
Приложение
Текст главного модуля Unit1.pas
// ==============
// Created by Kamenev A.I.
// gr 417318
// Minsk 2010 MIDO BNTU
// ===================
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, XPMan, UnitCl, Menus, Unit2;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
Button2: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
XPManifest1: TXPManifest;
Button7: TButton;
Bevel1: TBevel;
CheckBox1: TCheckBox;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
Bevel2: TBevel;
Button3: TButton;
Button8: TButton;
FindDialog1: TFindDialog;
procedure Button6Click (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure RadioButton1Click (Sender: TObject);
procedure RadioButton2Click (Sender: TObject);
procedure RadioButton3Click (Sender: TObject);
procedure CheckBox1Click (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure N10Click (Sender: TObject);
procedure N8Click (Sender: TObject);
procedure Button5Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure Button7Click (Sender: TObject);
procedure N4Click (Sender: TObject);
procedure FormActivate (Sender: TObject);
Страницы:
1
, 2,
3
,
4
Апрель (48)
Март (20)
Февраль (988)
Январь (720)
Январь (21)
2012 © Все права защищены
При использовании материалов активная
ссылка на источник
обязательна.