Информационная система расчетов по договорам

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

 

 

 

 

 

 

 

 

 

 

КУРСОВОЙ ПРОЕКТ

 

Тема:

Информационная система расчетов по договорам

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Минск 2010

Введение

 

Для разработки программы была выбрана среда визуального проектирования Borland Delphi 7.0. Она позволяет за короткий промежуток времени и с наименьшими затратами физических и умственных сил создавать прикладные программы различной направленности, обеспечивая при этом наличие дружественного оконного интерфейса. Указанные (а также ряд других) преимущества среды Delphi 7.0. обуславливают широкое её использование при создании программного обеспечения разнообразного назначения.

Представленная для разработки в качестве курсового проекта программа является учебной, и предназначена для демонстрации возможностей технологии ООП и представляет собой форму чем-то похожую на приложение Excel.

Данная программа вносит данные в специальные файлы, сортирует их, осуществляет поиск, внося все данные при этом в специально приготовленную структуру.

Данная программа напоминает базу данных, но написанную вручную, данное ПО может успешно применяться в качестве учебного пособия, но не может применяться в качестве коммерческого проекта.

 

 

1. Состав проекта Delphi

 

Проект содержит главную форму, форму осуществления поиска, форму осуществления сортировки, форму очистки строк, главная форма содержит такие элементы как кнопки, StringGrid, CheckBox, RadioButton, меню и манифест Windows.

Проект содержит модули Unit1, Unit2, Unit3, Uni4, UnitCl.

Unit1 головной файл программы

Unit2 файл формы очистки строк

Unit3 файл формы поиска

Unit4 файл формы сортировки

Все методы инкапсулированы в класс. Класс (UnitCl) имеет следующие методы:

procedure RowC (AStringGrid:TStringGrid); процедура разметки строк

procedure XDGr (AStringGrid:TStringGrid); процедура создания заголовка для ХД

procedure WTKGr (AStringGrid:TStringGrid); процедура создания заголовка для ВТК

procedure BANGr (AStringGrid:TStringGrid); процедура создания заголовка для БАНК

procedure Clear (AStringGrid:TStringGrid); процедура очистки формы

procedure WriteXD (AStringGrid:TStringGrid); процедура записи в файл ХД

procedure WriteWTK (AStringGrid:TStringGrid); процедура записи в файл ВТК

procedure WriteBAN (AStringGrid:TStringGrid); процедура записи в файл БАНК

procedure ReadXD (AStringGrid:TStringGrid); процедура чтения из файла ХД

procedure ReadWTK (AStringGrid:TStringGrid); процедура чтения из файла ВТК

procedure ReadBAN (AStringGrid:TStringGrid); процедура чтения из файла БАНК

procedure BANK (AStringGrid:TStringGrid); процедура внесения данных в структуру

procedure WTK (AStringGrid:TStringGrid); процедура внесения данных в структуру

procedure XD (AStringGrid:TStringGrid); процедура внесения данных в структуру

procedure XDShow; процедура просмотра структуры ХД

procedure WTKShow; процедура просмотра структуры ВТК

procedure BANKShow; процедура просмотра структуры БАНК

procedure null; процедура сброса начала списка

procedure FindXD (AEdit1:TEdit; AStringGrid:TStringGrid); процедура поиска в ХД

procedure FindWTK (AEdit1:TEdit; AStringGrid:TStringGrid); процедура поиска в ВТК

procedure FindBANK (AEdit1:TEdit; AStringGrid:TStringGrid); процедура поиска в БАНК

procedure MoySort1 (AStringGrid:TStringGrid); процедура сортировки списка ХД по атр. 1

procedure MoySort2 (AStringGrid:TStringGrid); процедура сортировки списка ХД по атр. 2

procedure MoySort5 (AStringGrid:TStringGrid); процедура сортировки списка ХД по атр. 5

procedure MoySort7 (AStringGrid:TStringGrid); процедура сортировки списка ХД по атр. 7

2. Статические данные и структуры

 

Запись линейного односвязного списка для данных хозяйственных договоров. В данной записи все поля являются строковыми, строковое поле имеет размер памяти 8 байт, следовательно, запись ХД будет иметь размер 56 байт. Поле Next во всех трех структурах означает адрес следующего элемента в списке. Поскольку в задании предлагался линейный односвязный список то переход от одного элемента к другому возможен только вперед, в отличие от двухсвязного списка, где можно перемещаться как вперед так и назад. В квадратных скобках указано количество символов, которое может входить в строку данного поля.

type

TPSpisXD=^TSpisXD;

TSpisXD = record

numb:string[20];// номер

datzak:string[20];// дата заключения

datzav:string[20];// дата завершения

temadog:string[40];// тема

namorg:string[20];// наименование организации

priznak:string[15];// признак

stoimost:string[10];// стоимость в тыс руб.

next: TPSpisXD;// следующий элемент списка

end;

Запись линейного односвязного списка для данных о временных трудовых коллективах. В данной записи все поля являются строковыми, строковое поле имеет размер памяти 8 байт, следовательно, запись ВТК будет иметь размер 80 байт.

type

TPSpisWTK=^TSpisWTK;

TSpisWTK=record

fam:string[20];// фамилия

name:string[20];// имя

otc:string[20];// отчество

god:string[40];// дата рождения

kod:string[20];// код договора

prznak:string[15];// признак

zarplat:string[20];// зарплата

adres:string[20];// адрес

banknum:string[20];// номер банка

rasschet:string[40];// Р/С

next: TPSpisWTK;

end;

Запись линейного односвязного списка для данных с атрибутами банка. В данной записи все поля являются строковыми, строковое поле имеет размер памяти 8 байт, следовательно, запись БАНК будет иметь размер 40 байт.

type

TPSpisBAN=^TSpisBAN;

TSpisBAN=record

numotd:string[20];// фамилия

gorod:string[20];// имя

adress:string[20];// отчество

naim:string[40];// дата рождения

kod:string[20];// код отделения

next: TPSpisBAN;

end;

глобальные переменные, содержащие адреса головы списка для трех разных структур.

var

head1: TPSpisXD;// начало (голова) списка XD

head2: TPSpisWTK;// голова списка WTK

head3: TPSpisBAN;// голова списка BAN

Ни