2.2 Описание алгоритма реализации
Во время запуска программы произойдёт вызов первой формы.
Далее возможен переход в другие формы приложения, которое поддерживает навигацию по всем пунктам меню. Имеется возможность удалять, добавлять и редактировать записи в таблицах.
Для реализации операции добавления данных в документ MSWordбыли назначены стандартные закладки :
WORD.free;
WORD:=TWordApplication.Create(First_form);
WORD.connectkind:=ckNewInstance;
docname:='results\'+FAMILY.text+' '+F_NAME.Text+'.doc';
deletefile(docname);
copyfile(pchar(getcurrentdir+'\forms\T2.doc'),pchar(docname),errorcode);
file_name:=getcurrentdir+'\'+docname;
WORD.Documents.Open(file_name,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
bookmark_out ('Org_name',curent_org.orgname);
Для добавления данных на место закладок использовался следующий код:
if Sl_table.RecordCount<>0 then Sl_table.FindFirst;
move_to:='sl';
WORD.ActiveDocument.Bookmarks.Item(move_to).Select;
for i:=1 to Sl_table.RecordCount do
begin
Word.Selection.Text:=Sl_table.FieldByName('Наименование льгот').AsString;
Word.Selection.MoveRight(Unit_,count,EmptyParam);
Вывод всех остальных данных в документ производится также при помощи данных функций, изменяется лишь сама языковая структура.
Добавление, удаление и изменение данных будет проводиться при помощи компонента DBNavigator.
Так же при помощи стандартных SQL-запросов будет происходить отбор данных по необходимым критериям, пример запроса на выборку данных:
SELECT Pers.*
FROM Pers
WHERE ([Имя] like(First_name))
AND ([Фамилия] like(Family_name))
AND ([Должность] like(Dolg))
Для контроля дат используется следующий программный код:
procedure TForm1.FormActivate(Sender: TObject);
var
i:integer;
begin
ADOTable1.First;
if (DBGrid1.DataSource.DataSet.Fields[1].AsString<>'') then
Begin
for i:=1 to ADOTable1.RecordCount do
begin
dayz:=DBGrid1.DataSource.DataSet.Fields[1].AsString;
srok:=StrToDate(dayz)- Date;
If (srok>0)then
begin
ADOTable1.Edit;
ADOTable1.FieldByName('srokOD').Value:=FloatToStr(srok);
ADOTable1.Post;
end;
end;
end;
begin
ADOTable2.First;
if (DBGrid2.DataSource.DataSet.Fields[1].AsString<>'') then
Begin
for i:=1 to ADOTable2.RecordCount do
begin
dayzf:=DBGrid2.DataSource.DataSet.Fields[1].AsString;
srokf:=StrToDate(dayzf)- Date;
If (srokf>0)then
begin
ADOTable2.Edit;
ADOTable2.FieldByName('srokOF').Value:=FloatToStr(srokf);
ADOTable2.Post;
end;
end.
Программа решения задачи
Для проектирования системы были использованы UML-диаграммы.
UML позволяет разработчикам программного обеспечения достигнуть соглашения в графических обозначениях для представления общих понятий (таких как класс, компонент, обобщение, объединение и поведение), и больше сконцентрироваться на проектировании и архитектуре.
3.1 Логическая структура
Для представления логической структуры системы использовались следующие диаграммы:
Диаграмма классов (Class diagram) — статическая структурная диаграмма, описывающая структуру системы, она демонстрирует классы системы, их атрибуты, методы и зависимости между классами.[5]
Существуют разные точки зрения на построение диаграмм классов в зависимости от целей их применения:
концептуальная точка зрения (диаграмма классов описывает модель предметной области, в ней присутствуют только классы прикладных объектов);
точка зрения спецификации (диаграмма классов применяется при проектировании информационных систем);
точка зрения реализации (диаграмма классов содержит классы, используемые непосредственно в программном коде–объектно-ориентированные языки программирования). [5]
Рисунок 3.1 - Диаграмма классов
Диаграмма деятельности (Activity diagram) — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью (англ. activity) понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий (англ. action), соединённых между собой потоками, которые идут от выходов одного узла ко входам другого. [5]
Рисунок 3.2 - Диаграмма деятельности
Диаграмма последовательности (Sequence diagram) — диаграмма, на которой изображено упорядоченное во времени взаимодействие объектов. В частности, на ней изображаются участвующие во взаимодействии объекты и последовательность сообщений, которыми они обмениваются. [5]
Рисунок 3.3 - Диаграмма последовательности