Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_Малий.doc
Скачиваний:
3
Добавлен:
11.09.2019
Размер:
1.6 Mб
Скачать

7 Словарь терминов программной инженерии

Абстракция - способность отделить существенные черты предмета (объекта) от второстепенных, видеть идею, которая будет реализована.

Актеры - действующие лица, которые управляют работой системы.

Анализ требований - отображения функций системы и ее ограничений в модели предметной области.

Архитектура программной системы - структура системы в терминах подсистем (компонентов) и интерфейсов между ними, отображающая правила декомпозиции проблемы.

Ассоциация - наиболее общее и существенное отношение, которое устанавливает наличие связей между понятиями без уточнения их содержания и размеров.

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

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

Инженерия требований - сбор, анализ, оформление условий и ограничений на разработку системы в виде спецификации, согласованной как заказчиком, так и исполнителем.

Информационная система - система, которая выполняет сбор, обработку, сохранение и производство информации с использованием автоматизированных процессоров и людей.

Информационное обеспечение - набор средств для предоставления информации пользователям о содержании и условиях ее применения.

Качество программного обеспечения - совокупность свойств, которые определяют пригодность программного обеспечения удовлетворить требования заказчика.

Компонент - тип, класс, проектное решение, документация или иной продукт программной инженерии, приспособленный для практического использования.

Конечные пользователи системы - профессиональные лица, которые заказывают компьютерную систему и пользуются ею.

Критерий - количественная или качественная характеристика системы, позволяющая оценить степень достижения цели и сформулировать правила выбора необходимых средств (способов, технологий).

Критерий эффективности - критерий, позволяющий оценить степень достижения цели с учетом произведенных затрат различных ресурсов.

Модель ЖЦ - типовая схема последовательности работ на процессах разработки некоторого типа программного продукта.

Модель процесса - определенная последовательность действий, сопровождающая изменение состояния программного объекта.

Модель состояний - отображение динамики изменения состояния объекта класса, которое изменяет его поведение.

Надежность программной системы - это способность системы сохранять свои свойства (безотказность, устойчивость и др.) в процессе преобразования исходных данных в результаты в течение определенного промежутка времени при определенных условиях эксплуатации.

Нефункциональные требования - требования, которое характеризуют организационные, исполнительские, операционные аспекты работы программной системы в среде реализации.

Наследование - конкретизация в подклассе отдельных свойств, которыми могут пользоваться другие объекты суперкласса.

Отладка - проверка программы на наличие в ее описании ошибок и их устранение без внесения новых.

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

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

Объект сущность - долго живущие объекты, которые отвечают реальным предметам мира предметной области и сохраняют свое состояние после выполнения работы согласно сценарию.

Объектно-ориентированная модель - структура из совокупности объектов, которые взаимодействуют между собой, обладают свойствами и поведением.

Оценивание качества - действия, направленные на определение степени удовлетворения программного обеспечения требованиям, соответствующим его предназначению.

Пакет - программная структура с общим механизмом организации элементов (объектов, классов) в группы, начиная от системы (стереотип "система") и к ее подсистемам различного уровня детализации.

Принципы - базовые концепции, лежащие в основе всей области программирования.

Программная инженерия - система методов, средств и дисциплины планирования, разработки, эксплуатации и сопровождения программного обеспечения, способного к массовому воспроизводству.

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

Процесс сдачи - действия по передаче разработанного продукта покупателю.

Процесс эксплуатации - действия по обслуживанию системы пользователем.

Процесс сопровождения - действия по решению задач системы, поддержкой системы в актуальном состоянии для выполнения функций системы, управлению модификациями или изъятию системы из употребления.

Проектирование - преобразования требований в последовательность проектных решений и в архитектуру системы.

Проектирование архитектурное - определение структурных особенностей строящейся системы.

Проектирование техническое - отображение требований среды функционирования и разработки системы путем определения всех конструктивных элементов и их композиций.

Проектирование детальное - определение подробностей реализации функций для заданной среды и связей между соответствующими компонентами системы.

Реализация программной системы - преобразования проектных решений в работающую систему (синонимы: кодирование, конструирование).

Семейство прикладных систем - множество прикладных систем с общими функциональными свойствами и управлением.

Связь (Relationship) - поименованная ассоциация между двумя сущностями, имеющая значение для рассматриваемой предметной области.

Спецификация - описание алгоритма, правил, ограничений действий объектов с учетом стандартов, критериев качества и др.

Спиральная модель ЖЦ - модель процессов разработки системы, с возможностью возвращаться к любому предыдущему процессу с целью переработки элементов сделанного продукта.

Состояние (домена, системы, объекта и тому подобных) - фиксация определенных свойств на определенный момент или интервал времени.

Сопровождение - выполнение реализованных в системе задач, работы по внесению в нее изменений после того, как она передана пользователям для эксплуатации.

ЗАКЛЮЧЕНИЕ

В дипломном проекте разработано программное обеспечение по формированию ведомости «Учебного рабочего плана» ММК ПГТУ: определена структура входной и выходной информации. Разработана блок-схема алгоритма работы программы по ведению баз данных «Тарификация»; Созданы UML диаграммы.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1 ГОСТ 19.003-80. ЕСПД. Схемы алгоритмов и программ. Обозначения условные графические.

2 ГОСТ 19.101-77. ЕСПД. Виды программ и программных документов.

3 ГОСТ 19.102-77. ЕСПД. Стадии разработки.

4 ГОСТ 19.103-77. ЕСПД. Обозначение программ и программных документов.

5 ГОСТ 19.106-78. ЕСПД. Требования к программным документам, выполненным печатным способом.

6 ГОСТ 19.301-79. ЕСПД. Программа и методика испытаний. Требования к содержанию и оформлению.

7 ГОСТ 34.602-90 Информационная технология. Техническое задание на создание автоматизированной системы

8 Вирт Н. Алгоритмы и структуры данных. М.: Мир, 1989.-360с.

9 Вирт Н. Алгоритмы + данные = программы. М.: Мир, 1985.-257с.

10 Кнут Д. Искусство программирования для ЭВМ. Т 1. М.: Мир, 1976.-453с

11 Кнут Д. Искусство программирования для ЭВМ. Т 3. М.: Мир, 1978.-

12 Ройс. У. Управление проектами по созданию программного обеспечения. М., Лори, 2002.453с

13 Соммервилл. И. Инженерия программного обеспечения. Вильямс, 2002.

14 Флорес Э. Структура и управление данными. М.: Мир, 1987.-244с

15 Инструкция N 102 от 15.04.93 «Об утверждении Инструкции о порядке вычисления заработной платы работников образования». МИНИСТЕРСТВО ОБРАЗОВАНИЯ УКРАИНЫ.

16 Горбоконь А.В. Методичні рекомендації по розробці розділу “Охорона праці” у дипломному проекті для студентів спеціальності «Розробка програмного забезпечення». Маріуполь 2011.

17. Михайлов Г.А. Руководство по дипломному проектированию для специальности 5.050103 «Разработка программного обеспечения» Мариупольского машиностроительного колледжа ГВУЗ «ПГТУ».-Мариуполь. ММК, 2011, 69с.

18. Суходолова Н.С. Методическое пособие по применению стандартов Украины при оформлении документов студентами и преподавателями колледжа. Мариуполь

ПРИЛОЖЕНИЕ А

ФОРМЫ ВЕДОМОСТЕЙ

«НАВЧАЛЬНИЙ ПЛАН»

Міністерство освіти і науки, молоді та спорту України

Маріупольський машинобудівний коледж

Державного вищого навчального закладу

«Приазовський державний технічний університет»

НАВЧАЛЬНИЙ ПЛАН

підготовки молодшого спеціаліста

Спеціальність 5.05010301 «Розробка програмного забезпечення»

Напрям підготовки 5.050103 «Програмна інженерія»

Галузь знань 0501 «Інформатика та обчислювальна техніка»

Денне відділення

Графік навчального процесу

Курси

Вересень

Жовтень

Листопад

Грудень

Січень

Лютий

Березень

Квітень

Травень

Червень

01.09 -07.09

08.09 – 14.09

15.09 - 21.09

22.09 – 28.09

29.09 - 05.10

06.10 – 12.10

13.10 - 19.10

20.10 – 26.10

27.10 - 02.11

03.11 – 09.11

10.11 - 16.11

17.11 – 23.11

24.11 - 30.11

01.12 – 07.12

08.12 – 14.12

15.12 – 21.12

22.12 – 28.12

29.12 – 04.01

05.01 – 11.01

12.01 – 18.01

19.01 – 25.01

26.01 – 01.02

02.02 – 08.02

09.02 – 15.02

16.02 – 22.02

23.02 – 01.03

02.03 – 08.03

09.03 – 15.03

16.03 – 22.03

23.03 – 29.03

30.03 – 05.04

06.04 – 12.04

13.04 – 19.04

20.04 – 26.04

27.04 – 03.05

04.05 – 10.05

11.05 – 17.05

18.05 – 24.05

25.05 – 31.05

01.06 – 07.06

08.06 – 14.06

15.06 – 21.06

22.06 – 28.06

29.06 – 05.07

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

І

15

Е

Е

=

=

16

Е

Е

ІІ

15

Е

Е

=

=

16

Е

Е

ІІІ

10

Е

Е

=

=

12

Е

Е

С

Е

П

=

Позначення: Теоретичне навчання Екзаменаційна сесія Державна атестація А Канікули Святковий тиждень

П

Д

Н

Т

Дипломне проектування Практика: Навчальна Технологічна Преддипломна

Рисунок А.1 - Вид ведомости «НАВЧАЛЬНИЙ ПЛАН»

Зведений Графік

навчального процесу на РІК - РІК навчальний рік

Маріупольський машинобудівний коледж ПДТУ

денне відділення

Курси

Групи

Вересень

Жовтень

Листопад

Грудень

Січень

Лютий

Березень

Квітень

Травень

Червень

01.09 -07.09

08.09 – 14.09

15.09 - 21.09

22.09 – 28.09

29.09 - 05.10

06.10 – 12.10

13.10 - 19.10

20.10 – 26.10

27.10 - 02.11

03.11 – 09.11

10.11 - 16.11

17.11 – 23.11

24.11 - 30.11

01.12 – 07.12

08.12 – 14.12

15.12 – 21.12

22.12 – 28.12

29.12 – 04.01

05.01 – 11.01

12.01 – 18.01

19.01 – 25.01

26.01 – 01.02

02.02 – 08.02

09.02 – 15.02

16.02 – 22.02

23.02 – 01.03

02.03 – 08.03

09.03 – 15.03

16.03 – 22.03

23.03 – 29.03

30.03 – 05.04

06.04 – 12.04

13.04 – 19.04

20.04 – 26.04

27.04 – 03.05

04.05 – 10.05

11.05 – 17.05

18.05 – 24.05

25.05 – 31.05

01.06 – 07.06

08.06 – 14.06

15.06 – 21.06

22.06 – 28.06

29.06 – 05.07

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

I

15

Е

Е

=

=

16

Е

Е

Е

II

15

Е

Е

=

=

16

Е

Е

III

10

Е

Е

=

=

12

Е

Е

Е

А

=

С

Теоретичне навчання Екзаменаційна сесія Державна атестація Канікули Святковий тиждень

Д

Н

Т

П

Дипломне проектування Навчальна практика Виробнича практика Преддипломна практика

Рисунок А.2 - Вид ведомости «Зведений Графік»

ПРИЛОЖЕНИЕ Б

ЛИСТИНГ ИСХОДНОГО КОДА ПРОГРАММЫ

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2},

Unit3 in 'Unit3.pas' {Form3},

Unit4 in 'Unit4.pas' {Form4},

Unit5 in 'Unit5.pas' {Form5},

Unit6 in 'Unit6.pas' {Form6};

{$R *.res}

begin

Application.Initialize;

Application.MainFormOnTaskbar := True;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm4, Form4);

Application.CreateForm(TForm5, Form5);

Application.CreateForm(TForm6, Form6);

Application.Run;

end.

UNIT2.pas

unit Unit2;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, ActiveX, Grids,DateUtils, ExtCtrls;

type

TForm2 = class(TForm)

mem: TMemo;

Panel1: TPanel;

StringGrid1: TStringGrid;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Panel2: TPanel;

Label2: TLabel;

Edit1: TEdit;

ComboBox1: TComboBox;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

Label3: TLabel;

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

Datez: array[1..2,1..53] of string;

prizn,prn:string;

implementation

uses Unit1;

{$R *.dfm}

Procedure goExcel;

var

Row, Col: integer;

DestRange: OleVariant;

//Selection: OleVariant;

Excel: Variant;

Selection: OleVariant;

i:integer;

sline: String;

//mem: TMemo;

begin

form1.SPR_VSPEC.Locate('KOD_SPEC', Form1.UCHEB_GRAF.Fields[0].Value,[]);

Excel := CreateOleObject('Excel.Application');

if prn = '001' then

Excel.Visible := false

else

Excel.Visible := True;

Excel.WorkBooks.Add; //Создать новую таблицу

{

//Можно помещать текст и значения в диапазон ячеек

//Поместить слово тест в диапазон ячеек

Excel.ActiveSheet.Range['A2', 'B3'].Value := 'Тест';

//Или число

Excel.ActiveSheet.Range['A4', 'B5'].Value := 42;

//А вот так задаётся формула

Excel.ActiveSheet.Range['A10', 'A11'].Formula := '=RAND()';

//Можно задавать номера ячеек и столбцов

Excel.ActiveSheet.Cells.Item[1, 1].Value := 'Первая ячейка';

Excel.ActiveSheet.Range['A1'].Orientation := 90;

Row:=1;

Col:=3;

Excel.ActiveSheet.Cells.Item[Row, Col].Value := 'Другая ячейка';

//Можно скопировать данный из одного диапазона ячеек в другой

DestRange := Excel.Range['D6', 'F10'];

Excel.Range['A1', 'C5'].Copy(DestRange);

//Можно задавать параметры шрифта в определённой ячейке

Excel.Range['A2', 'A2'].Font.Size := 20;

Excel.Range['A2', 'A2'].Font.FontStyle := 'Bold';

Excel.Range['A2', 'A2'].Font.Color := clFuchsia;

Excel.Range['A2', 'A2'].Font.Name := 'Arial';

//Можно ещё и так изменить цвет диапазона ячеек

Excel.Range['B2', 'C6'].Interior.Color := RGB(223, 123, 123);

}

//Настройка листа

Excel.ActiveSheet.PageSetup.Orientation := 2;

Excel.ActiveSheet.PageSetup.PaperSize := 9; //9-A4 a 8-A3

Excel.ActiveSheet.PageSetup.LeftMargin := Excel.InchesToPoints(0.25);

Excel.ActiveSheet.PageSetup.RightMargin := Excel.InchesToPoints(0.25);

Excel.ActiveSheet.PageSetup.TopMargin := Excel.InchesToPoints(0.75);

Excel.ActiveSheet.PageSetup.BottomMargin := Excel.InchesToPoints(0.75);

Excel.ActiveSheet.PageSetup.HeaderMargin := Excel.InchesToPoints(0.3) ;

Excel.ActiveSheet.PageSetup.FooterMargin := Excel.InchesToPoints(0.3);

//настройка ячеек таблицы

Excel.ActiveSheet.Columns.select;

Excel.Selection.ColumnWidth := 107/form1.ucheb_graf.Fields[4].AsInteger;

Excel.ActiveSheet.Range['A1', 'AX1'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A1'].Value := 'Міністерство освіти і науки, молоді та спорту України';

Excel.ActiveSheet.Range['A2', 'AX2'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A2'].Value := 'Маріупольський машинобудівний коледж';

Excel.ActiveSheet.Range['A3', 'AX3'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A3'].Value := 'Державного вищого навчального закладу';

Excel.ActiveSheet.Range['A4', 'AX4'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A4'].Value := '«Приазовський державний технічний університет»';

Excel.ActiveSheet.Range['A5', 'AX5'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A5'].Value := 'НАВЧАЛЬНИЙ ПЛАН';

Excel.ActiveSheet.Range['A6', 'AX6'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A6'].Value := 'підготовки молодшого спеціаліста';

Excel.ActiveSheet.Range['G7', 'AX7'].select;

Excel.Selection.Merge;

Excel.ActiveSheet.Range['G7'].Value := 'Спеціальність';

Excel.ActiveSheet.Range['N7'].Value := form1.SPR_VSPEC.Fields[0].asstring + ' ' + form1.SPR_VSPEC.Fields[1].asstring;

Excel.ActiveSheet.Range['G8', 'AX8'].select;

Excel.Selection.Merge;

Excel.ActiveSheet.Range['G8'].Value := 'Напрям підготовки ' + form1.SPR_VSPEC.Fields[2].asstring;

Excel.ActiveSheet.Range['N8'].Value := form1.SPR_VSPEC.Fields[2].asstring;

Excel.ActiveSheet.Range['G9', 'AX9'].select;

Excel.Selection.Merge;

Excel.ActiveSheet.Range['G9'].Value := 'Галузь знань ' + form1.SPR_VSPEC.Fields[3].asstring;

Excel.ActiveSheet.Range['N9'].Value := form1.SPR_VSPEC.Fields[3].asstring;

Excel.ActiveSheet.Range['A10', 'AX10'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A10'].Value := 'Денне відділення';

Excel.ActiveSheet.Range['C11'].Value := 'Графік навчального процесу';

//вывод этой гадости

//form2.mem.Visible := false;

form2.mem.Clear;

sline := #9;

for i := 1 to form1.ucheb_graf.Fields[4].AsInteger do

if i < form1.ucheb_graf.Fields[4].AsInteger then

sline := sline + Datez[2,i] + #9

else

sline := sline + Datez[2,i];

form2.mem.Lines.Add(sline);

sline := #9;

for i := 1 to form1.ucheb_graf.Fields[4].AsInteger do

if i < form1.ucheb_graf.Fields[4].AsInteger then

sline := sline + Datez[1,i] + #9

else

sline := sline + Datez[1,i];

form2.mem.Lines.Add(sline);

sline := '';

for row := 0 to form2.stringGrid1.RowCount-1 do

begin

sline := '';

for col := 0 to form2.stringGrid1.colCount-1 do

if (col = 0) and (row = 0) then

sline := sline + 'Курси' + #9

else if col < form2.stringGrid1.colCount-1 then

sline := sline + form2.stringGrid1.Cells[col,row] + #9

else if col = form2.stringGrid1.colCount-1 then

sline := sline + form2.stringGrid1.Cells[col,row];

form2.mem.Lines.Add(sline);

// DBGrid1.DataSource.DataSet.Next;

end;

form2.mem.SelectAll;

form2.mem.CopyToClipboard;

Excel.ActiveSheet.Range['A13'].select;

Excel.ActiveSheet.Paste;

Excel.Selection.Borders[7].LineStyle:=1;

Excel.Selection.Borders[8].LineStyle:=1;

Excel.Selection.Borders[9].LineStyle:=1;

Excel.Selection.Borders[10].LineStyle:=1;

Excel.Selection.Borders[11].LineStyle:=1;

Excel.Selection.Borders[12].LineStyle:=1;

Excel.ActiveSheet.Rows['14'].Select;

Excel.Selection.Orientation := 90;

Excel.ActiveSheet.Rows['14'].RowHeight := 63;

//Excel.ActiveSheet.Range('A13', 'A15').Select;

Excel.ActiveSheet.Range['A13', 'A15'].select;

Excel.Selection.Merge;

Excel.Selection.Orientation := 90;

if prn = '001' then

begin

Excel.ActiveSheet.PrintOut;

if not VarIsEmpty(Excel) then

begin

Excel.Quit;

Excel := Unassigned;

end;

end;

end;

Procedure goExcel2;

var

Row, Col: integer;

DestRange: OleVariant;

//Selection: OleVariant;

Excel: Variant;

Selection: OleVariant;

i:integer;

sline: String;

//mem: TMemo;

begin

form1.SPR_VSPEC.Locate('KOD_SPEC', Form1.UCHEB_GRAF.Fields[0].Value,[]);

Excel := CreateOleObject('Excel.Application');

if prn = '001' then

Excel.Visible := false

else

Excel.Visible := True;

Excel.WorkBooks.Add; //Создать новую таблицу

{

//Можно помещать текст и значения в диапазон ячеек

//Поместить слово тест в диапазон ячеек

Excel.ActiveSheet.Range['A2', 'B3'].Value := 'Тест';

//Или число

Excel.ActiveSheet.Range['A4', 'B5'].Value := 42;

//А вот так задаётся формула

Excel.ActiveSheet.Range['A10', 'A11'].Formula := '=RAND()';

//Можно задавать номера ячеек и столбцов

Excel.ActiveSheet.Cells.Item[1, 1].Value := 'Первая ячейка';

Excel.ActiveSheet.Range['A1'].Orientation := 90;

Row:=1;

Col:=3;

Excel.ActiveSheet.Cells.Item[Row, Col].Value := 'Другая ячейка';

//Можно скопировать данный из одного диапазона ячеек в другой

DestRange := Excel.Range['D6', 'F10'];

Excel.Range['A1', 'C5'].Copy(DestRange);

//Можно задавать параметры шрифта в определённой ячейке

Excel.Range['A2', 'A2'].Font.Size := 20;

Excel.Range['A2', 'A2'].Font.FontStyle := 'Bold';

Excel.Range['A2', 'A2'].Font.Color := clFuchsia;

Excel.Range['A2', 'A2'].Font.Name := 'Arial';

//Можно ещё и так изменить цвет диапазона ячеек

Excel.Range['B2', 'C6'].Interior.Color := RGB(223, 123, 123);

}

//Настройка листа

Excel.ActiveSheet.PageSetup.Orientation := 2;

Excel.ActiveSheet.PageSetup.PaperSize := 9; //9-A4 a 8-A3

Excel.ActiveSheet.PageSetup.LeftMargin := Excel.InchesToPoints(0.25);

Excel.ActiveSheet.PageSetup.RightMargin := Excel.InchesToPoints(0.25);

Excel.ActiveSheet.PageSetup.TopMargin := Excel.InchesToPoints(0.75);

Excel.ActiveSheet.PageSetup.BottomMargin := Excel.InchesToPoints(0.75);

Excel.ActiveSheet.PageSetup.HeaderMargin := Excel.InchesToPoints(0.3) ;

Excel.ActiveSheet.PageSetup.FooterMargin := Excel.InchesToPoints(0.3);

//настройка ячеек таблицы

Excel.ActiveSheet.Columns.select;

Excel.Selection.ColumnWidth := 100/(form1.ucheb_graf.Fields[4].AsInteger+2);

Excel.ActiveSheet.Columns[2].select;

Excel.Selection.ColumnWidth := 7;

Excel.ActiveSheet.Range['A1', 'AX1'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A1'].Value := 'Зведений Графік';

Excel.ActiveSheet.Range['A2', 'AX2'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A2'].Value := 'навчального процесу на ' + form2.edit1.text +

' - ' + inttostr(strtoint(form2.edit1.text)+1)+ ' навчальний рік';

Excel.ActiveSheet.Range['A3', 'AX3'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A3'].Value := 'Маріупольський машинобудівний коледж ПДТУ';

Excel.ActiveSheet.Range['A4', 'AX4'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A4'].Value := 'денне відділення';

{Excel.ActiveSheet.Range['A5', 'AX5'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A5'].Value := 'НАВЧАЛЬНИЙ ПЛАН';

Excel.ActiveSheet.Range['A6', 'AX6'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A6'].Value := 'підготовки молодшого спеціаліста';

Excel.ActiveSheet.Range['G7', 'AX7'].select;

Excel.Selection.Merge;

Excel.ActiveSheet.Range['G7'].Value := 'Спеціальність';

Excel.ActiveSheet.Range['N7'].Value := form1.SPR_VSPEC.Fields[0].asstring + ' ' + form1.SPR_VSPEC.Fields[1].asstring;

Excel.ActiveSheet.Range['G8', 'AX8'].select;

Excel.Selection.Merge;

Excel.ActiveSheet.Range['G8'].Value := 'Напрям підготовки ' + form1.SPR_VSPEC.Fields[2].asstring;

Excel.ActiveSheet.Range['N8'].Value := form1.SPR_VSPEC.Fields[2].asstring;

Excel.ActiveSheet.Range['G9', 'AX9'].select;

Excel.Selection.Merge;

Excel.ActiveSheet.Range['G9'].Value := 'Галузь знань ' + form1.SPR_VSPEC.Fields[3].asstring;

Excel.ActiveSheet.Range['N9'].Value := form1.SPR_VSPEC.Fields[3].asstring;

Excel.ActiveSheet.Range['A10', 'AX10'].select;

Excel.Selection.Merge;

excel.Selection.HorizontalAlignment := -4108;

Excel.ActiveSheet.Range['A10'].Value := 'Денне відділення';

Excel.ActiveSheet.Range['C11'].Value := 'Графік навчального процесу'; }

//вывод этой гадости

//form2.mem.Visible := false;

form2.mem.Clear;

sline := #9 + #9;

for i := 1 to form1.ucheb_graf.Fields[4].AsInteger do

if i < form1.ucheb_graf.Fields[4].AsInteger then

sline := sline + Datez[2,i] + #9

else

sline := sline + Datez[2,i];

form2.mem.Lines.Add(sline);

sline := #9 + #9;

for i := 1 to form1.ucheb_graf.Fields[4].AsInteger do

if i < form1.ucheb_graf.Fields[4].AsInteger then

sline := sline + Datez[1,i] + #9

else

sline := sline + Datez[1,i];

form2.mem.Lines.Add(sline);

sline := '';

for row := 0 to form2.stringGrid1.RowCount-1 do

begin

sline := '';

for col := 0 to form2.stringGrid1.colCount-1 do

if (col = 0) and (row = 0) then

sline := sline + 'Курси' + #9

else if col < form2.stringGrid1.colCount-1 then

sline := sline + form2.stringGrid1.Cells[col,row] + #9

else if col = form2.stringGrid1.colCount-1 then

sline := sline + form2.stringGrid1.Cells[col,row];

form2.mem.Lines.Add(sline);

// DBGrid1.DataSource.DataSet.Next;

end;

form2.mem.SelectAll;

form2.mem.CopyToClipboard;

Excel.ActiveSheet.Range['A5'].select;

Excel.ActiveSheet.Paste;

Excel.Selection.Borders[7].LineStyle:=1;

Excel.Selection.Borders[8].LineStyle:=1;

Excel.Selection.Borders[9].LineStyle:=1;

Excel.Selection.Borders[10].LineStyle:=1;

Excel.Selection.Borders[11].LineStyle:=1;

Excel.Selection.Borders[12].LineStyle:=1;

Excel.ActiveSheet.Rows[6].select;

Excel.Selection.Orientation := 90;

Excel.ActiveSheet.Rows[6].RowHeight := 63;

//Excel.ActiveSheet.Range('A13', 'A15').Select;

Excel.ActiveSheet.Range['A5', 'A7'].select;

Excel.Selection.Merge;

Excel.Selection.Orientation := 90;

Excel.ActiveSheet.Range['B5', 'B7'].select;

Excel.Selection.Merge;

Excel.Selection.Orientation := 90;

// Excel.ActiveSheet.Columns['B'].ColumnWidth := 5;

if prn = '001' then

begin

Excel.ActiveSheet.PrintOut;

if not VarIsEmpty(Excel) then

begin

Excel.Quit;

Excel := Unassigned;

end;

end;

end;

procedure TForm2.Button1Click(Sender: TObject);

var

I,z:integer;

Dat1,dat2: string;

bstring,god:string;

date1,date2:tdate;

mon:string;

begin

if (edit1.Text <> '') and (combobox1.Text <> '') then

begin

with form1 do

begin

UCHEB_GRAF.Filtered:= false;

UCHEB_GRAF.Filter:= 'KOD_SPEC = ''' + form2.combobox1.Text + '''';

Ucheb_graf.Filtered:= true;

Ucheb_graf.First;

date1:=strtodate('01.09.'+form2.edit1.Text);

for i := 1 to ucheb_graf.Fields[4].AsInteger do

begin

date2:= date1 + 6;

bstring := datetostr(date1);

dat1:= '';

for z:= 1 to 5 do

dat1:= dat1 + bstring[z];

bstring := datetostr(date2);

dat2:= '';

for z:= 1 to 5 do

dat2:= dat2 + bstring[z];

Datez[1,i] := dat1+ '-' + dat2 ;

case MonthOfTheYear(Date1) of

9:

Datez[2,i] := 'Вересень ';

10:

Datez[2,i] := 'Жовтень ';

11:

Datez[2,i] := 'Листопад ';

12:

Datez[2,i] := 'Грудень ';

1:

Datez[2,i] := 'Січень ';

2:

Datez[2,i] := 'Лютий ';

3:

Datez[2,i] := 'Березень ';

4:

Datez[2,i] := 'Квітень ';

5:

Datez[2,i] := 'Травень ';

6:

Datez[2,i] := 'Червень ';

end;

if Datez[2,i] = mon then

Datez[2,i]:= ''

else

mon:= Datez[2,i];

if i=1 then

mon:= Datez[2,i];

date1 := date1 + 7;

end;

stringgrid1.ColCount:= ucheb_graf.Fields[4].AsInteger + 1;

stringgrid1.ROWCount:=4;

stringgrid1.Cells[0,0]:= 'Курс/№нед.';

for i := 1 to ucheb_graf.Fields[4].AsInteger do

begin

stringgrid1.Cells[i,0]:= inttostr(i);

end;

while not ucheb_graf.Eof do

begin

for i := ucheb_graf.Fields[7].AsInteger to (ucheb_graf.Fields[7].AsInteger + ucheb_graf.Fields[6].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'E';

for i := ucheb_graf.Fields[12].AsInteger to (ucheb_graf.Fields[12].AsInteger + ucheb_graf.Fields[11].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'E';

for i := ucheb_graf.Fields[24].AsInteger to (ucheb_graf.Fields[24].AsInteger + ucheb_graf.Fields[23].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'А';

for i := ucheb_graf.Fields[18].AsInteger to (ucheb_graf.Fields[18].AsInteger + ucheb_graf.Fields[17].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'Д';

for i := ucheb_graf.Fields[9].AsInteger to (ucheb_graf.Fields[9].AsInteger + ucheb_graf.Fields[8].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := '=';

for i := ucheb_graf.Fields[22].AsInteger to (ucheb_graf.Fields[22].AsInteger + ucheb_graf.Fields[21].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'С';

for i := ucheb_graf.Fields[20].AsInteger to (ucheb_graf.Fields[20].AsInteger + ucheb_graf.Fields[19].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'П';

for i := ucheb_graf.Fields[14].AsInteger to (ucheb_graf.Fields[14].AsInteger + ucheb_graf.Fields[13].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'Н';

for i := ucheb_graf.Fields[16].AsInteger to (ucheb_graf.Fields[16].AsInteger + ucheb_graf.Fields[15].AsInteger - 1) do

stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'Т';

// for i := ucheb_graf.Fields[14].AsInteger to (ucheb_graf.Fields[14].AsInteger + ucheb_graf.Fields[13].AsInteger - 1) do

// stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'Н';

stringgrid1.Cells[0,ucheb_graf.Fields[3].AsInteger]:= inttostr(Ucheb_graf.Fields[3].AsInteger);

ucheb_graf.next;

end;

end;

Prizn:= '01';

//goexcel;

prizn:='02';

panel2.Visible:= false;

panel1.Visible:= true;

form2.Width:= 809 ;

form2.Height:= 342 ;

end

else

showmessage('Заполнить все необходимые поля');

end;

procedure TForm2.Button2Click(Sender: TObject);

var

I,z,k,line:integer;

Dat1,dat2: string;

bstring,god:string;

date1,date2:tdate;

mon:string;

begin

if (edit1.Text <> '') then

begin

line:=0;

stringgrid1.ROWCount:=2;

for k := 1 to 3 do

begin

with form1 do

begin

UCHEB_GRAF.Filtered:= false;

UCHEB_GRAF.Filter:= 'NOM_KURS = ''' + Inttostr(k) + '''';

Ucheb_graf.Filtered:= true;

Ucheb_graf.First;

date1:=strtodate('01.09.'+form2.edit1.Text);

for i := 1 to ucheb_graf.Fields[4].AsInteger do

begin

date2:= date1 + 6;

bstring := datetostr(date1);

dat1:= '';

for z:= 1 to 5 do

dat1:= dat1 + bstring[z];

bstring := datetostr(date2);

dat2:= '';

for z:= 1 to 5 do

dat2:= dat2 + bstring[z];

Datez[1,i] := dat1+ '-' + dat2 ;

case MonthOfTheYear(Date1) of

9:

Datez[2,i] := 'Вересень ';

10:

Datez[2,i] := 'Жовтень ';

11:

Datez[2,i] := 'Листопад ';

12:

Datez[2,i] := 'Грудень ';

1:

Datez[2,i] := 'Січень ';

2:

Datez[2,i] := 'Лютий ';

3:

Datez[2,i] := 'Березень ';

4:

Datez[2,i] := 'Квітень ';

5:

Datez[2,i] := 'Травень ';

6:

Datez[2,i] := 'Червень ';

end;

if Datez[2,i] = mon then

Datez[2,i]:= ''

else

mon:= Datez[2,i];

if i=1 then

mon:= Datez[2,i];

date1 := date1 + 7;

end;

stringgrid1.ColCount:= ucheb_graf.Fields[4].AsInteger + 2;

stringgrid1.Cells[0,0]:= 'Курс/№нед.';

stringgrid1.Cells[1,0]:= 'Група';

for i := 1 to ucheb_graf.Fields[4].AsInteger+1 do

begin

stringgrid1.Cells[i+1,0]:= inttostr(i);

end;

while not ucheb_graf.Eof do

begin

inc(line);

stringgrid1.RowCount := line +1;

for i := ucheb_graf.Fields[7].AsInteger to (ucheb_graf.Fields[7].AsInteger + ucheb_graf.Fields[6].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := 'E';

for i := ucheb_graf.Fields[12].AsInteger to (ucheb_graf.Fields[12].AsInteger + ucheb_graf.Fields[11].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := 'E';

for i := ucheb_graf.Fields[24].AsInteger to (ucheb_graf.Fields[24].AsInteger + ucheb_graf.Fields[23].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := 'А';

for i := ucheb_graf.Fields[18].AsInteger to (ucheb_graf.Fields[18].AsInteger + ucheb_graf.Fields[17].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := 'Д';

for i := ucheb_graf.Fields[9].AsInteger to (ucheb_graf.Fields[9].AsInteger + ucheb_graf.Fields[8].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := '=';

for i := ucheb_graf.Fields[22].AsInteger to (ucheb_graf.Fields[22].AsInteger + ucheb_graf.Fields[21].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := 'С';

for i := ucheb_graf.Fields[20].AsInteger to (ucheb_graf.Fields[20].AsInteger + ucheb_graf.Fields[19].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := 'П';

for i := ucheb_graf.Fields[14].AsInteger to (ucheb_graf.Fields[14].AsInteger + ucheb_graf.Fields[13].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := 'Н';

for i := ucheb_graf.Fields[16].AsInteger to (ucheb_graf.Fields[16].AsInteger + ucheb_graf.Fields[15].AsInteger - 1) do

stringgrid1.Cells[i+1,line] := 'Т';

// for i := ucheb_graf.Fields[14].AsInteger to (ucheb_graf.Fields[14].AsInteger + ucheb_graf.Fields[13].AsInteger - 1) do

// stringgrid1.Cells[i,ucheb_graf.Fields[3].AsInteger] := 'Н';

stringgrid1.Cells[0,line]:= inttostr(Ucheb_graf.Fields[3].AsInteger);

stringgrid1.Cells[1,line]:= Ucheb_graf.Fields[2].Asstring;

//stringgrid1.RowCount := stringgrid1.RowCount +1;

ucheb_graf.next;

end;

end;

end;

//goexcel2;

prizn:='02';

panel2.Visible:= false;

panel1.Visible:= true;

form2.Width:= 809 ;

form2.Height:= 342 ;

end

else

showmessage('Заполнить все необходимые поля');

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

Panel1.Visible:= false;

Panel2.visible:= true;

edit1.Text:= '';

combobox1.Text:= '';

form2.Height:= 184;

form2.Width:= 271;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

prn:= '001';

if prizn = '02' then

goExcel2;

if prizn = '01' then

goExcel;

end;

procedure TForm2.Button5Click(Sender: TObject);

begin

prn:= '';

if prizn = '02' then

goExcel2;

if prizn = '01' then

goExcel;

end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

form1.Ucheb_graf.Filtered:= false;

end;

procedure TForm2.FormShow(Sender: TObject);

begin

Panel1.Top:=0;

PAnel1.Left:= 0;

Panel2.Top:=0;

PAnel2.Left:= 0;

Panel1.Visible:= false;

panel2.Visible:= true;

form2.Height:= 184;

form2.Width:= 271;

//combobox1.Items.Clear;

//combobox1.Visible:= false;

combobox1.Items.Clear;

form1.SPR_VSPEC.First;

while not form1.SPR_VSPEC.Eof do

begin

combobox1.Items.Add(form1.SPR_VSPEC.Fields[0].asstring);

form1.SPR_VSPEC.Next;

end;

form1.SPR_VSPEC.First;

while not form1.SPR_VSPEC.Eof do

begin

combobox1.Items.Add(form1.SPR_VSPEC.Fields[0].asstring);

form1.SPR_VSPEC.Next;

end;

end;

end.

UNIT3.pas

unit Unit3;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids;

type

TForm3 = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

form3.Close;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

if dbgrid1.DataSource = form1.KontingentSource then

with form1 do

begin

Uch_plan.Fields[0].Value:=Konting.Fields[0].Value;

Uch_plan.Fields[1].Value:=Konting.Fields[2].Value;

Uch_plan.Fields[2].Value:=Konting.Fields[1].Value;

Uch_plan.Fields[3].Value:=Konting.Fields[4].Value;

Uch_plan.Fields[4].Value:=Konting.Fields[3].Value;

//Uch_plan.Fields[5].Value:=Konting.Fields[0].Value;

end

else if dbgrid1.DataSource = form1.SPR_PrepSource1 then

with form1 do

begin

Uch_plan.Fields[5].Value:=form1.SPR_PREP.Fields[0].Value;

//Uch_plan.Fields[1].Value:=Konting.Fields[2].Value;

//Uch_plan.Fields[2].Value:=Konting.Fields[1].Value;

//Uch_plan.Fields[3].Value:=Konting.Fields[4].Value;

//Uch_plan.Fields[4].Value:=Konting.Fields[3].Value;

//Uch_plan.Fields[5].Value:=Konting.Fields[0].Value;

end

else if dbgrid1.DataSource = form1.Spr_CiklSource1 then

with form1 do

begin

Uch_plan.Fields[6].Value:=form1.SPR_Cikl.Fields[0].Value;

//Uch_plan.Fields[1].Value:=Konting.Fields[2].Value;

//Uch_plan.Fields[2].Value:=Konting.Fields[1].Value;

//Uch_plan.Fields[3].Value:=Konting.Fields[4].Value;

//Uch_plan.Fields[4].Value:=Konting.Fields[3].Value;

//Uch_plan.Fields[5].Value:=Konting.Fields[0].Value;

end;

form3.Close;

end;

end.

UNIT4.pas

unit Unit4;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Mask, ExtCtrls;

type

TForm4 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

ComboBox1: TComboBox;

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

MaskEdit1: TMaskEdit;

ComboBox2: TComboBox;

Label3: TLabel;

Label4: TLabel;

MaskEdit2: TMaskEdit;

Label5: TLabel;

ComboBox3: TComboBox;

Button2: TButton;

Panel1: TPanel;

Label6: TLabel;

ComboBox4: TComboBox;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

var

c: integer;

begin

if (maskedit1.Text <> '____-____') or (combobox1.Text = '') then

begin

c:=0;

with form1 do

begin

spr_prep.First;

while not spr_prep.Eof do

begin

inc(c);

uch_ped_nag.Filtered := false;

uch_ped_nag.Filter:= 'FIO_POLN = ''' + spr_prep.Fields[1].asstring + ''' and UCH_GOD = ''' + form4.maskedit1.Text + '''';

uch_ped_nag.filtered := true;

uch_ped_nag.First;

tabel.Append;

tabel.Fields[0].Value:= c;

tabel.Fields[1].Value:= spr_prep.Fields[1].asstring;

tabel.Fields[2].Value:= 0;

tabel.Fields[3].Value:= 0;

tabel.Fields[4].Value:= form4.combobox1.Text;

tabel.Fields[5].Value:= form4.maskedit1.Text;

while not uch_ped_nag.Eof do

begin

if uch_ped_nag.Fields[4].Value = 'Б' then

begin

tabel.Fields[2].Value:= tabel.Fields[2].Value + uch_ped_nag.fields[20+form4.ComboBox1.itemindex].Value;

end

else if uch_ped_nag.Fields[4].Value = 'К' then

begin

tabel.Fields[3].Value:= tabel.Fields[3].Value + uch_ped_nag.fields[20+form4.combobox1.itemindex].Value;

end;

uch_ped_nag.Next;

end;

spr_prep.Next;

end;

tabel.Post;

end;

form1.RvProject2.Execute;

end

else showmessage('Запоните все необходимые поля');

end;

procedure TForm4.Button2Click(Sender: TObject);

var

c: integer;

s: string;

begin

if (maskedit2.Text <> '____-____') or (combobox2.Text = '') then

begin

c:=0;

with form1 do

begin

uch_ped_nag.Filtered := false;

s:= 'FIO_POLN = ''' + form4.combobox2.Text + ''' and UCH_GOD = ''' + form4.maskedit2.Text + ''' and FORM_OPL = '''+ form4.combobox3.Text + ''' and KOD_OTD = ''' + form4.combobox4.Text + '''';

uch_ped_nag.Filter:= s;

uch_ped_nag.filtered := true;

uch_ped_nag.First;

while not uch_ped_nag.Eof do

begin

forma3.Append;

forma3.Fields[0].Value:= uch_ped_nag.Fields[6].Value;

spr_prep.Locate('FIO_Poln', form4.ComboBox2.Text,[]);

forma3.Fields[1].Value := spr_prep.fields[2].value;

forma3.Fields[2].Value := uch_ped_nag.Fields[3].Value;

if uch_ped_nag.Fields[0].Value = 'ДН' then

forma3.Fields[3].Value:= 'Дневное'

else if uch_ped_nag.Fields[0].Value = 'ЗО' then

forma3.Fields[3].Value:= 'Звочное'

else if uch_ped_nag.Fields[0].Value = 'ПК' then

forma3.Fields[3].Value:= 'Подг.курсы'

else if uch_ped_nag.Fields[0].Value = 'ТУ' then

forma3.Fields[3].Value:= 'Тех.группы';

if uch_ped_nag.Fields[4].Value = 'Б' then

forma3.Fields[4].Value:= 'бюджет';

if uch_ped_nag.Fields[4].Value = 'К' then

forma3.Fields[4].Value:= 'контракт';

//forma3.Fields[4].Value := uch_ped_nag.Fields[4].Value;

forma3.Fields[5].Value := uch_ped_nag.Fields[2].Value;

forma3.Fields[6].Value := uch_ped_nag.Fields[5].Value;

forma3.Fields[7].Value := uch_ped_nag.Fields[7].Value;

forma3.Fields[8].Value := uch_ped_nag.Fields[9].Value;

forma3.Fields[9].Value := uch_ped_nag.Fields[12].Value;

forma3.Fields[10].Value := uch_ped_nag.Fields[15].Value;

forma3.Fields[11].Value := uch_ped_nag.Fields[10].Value;

forma3.Fields[12].Value := uch_ped_nag.Fields[11].Value;

forma3.Fields[13].Value := uch_ped_nag.Fields[13].Value;

forma3.Fields[14].Value := uch_ped_nag.Fields[14].Value;

forma3.Fields[15].Value := uch_ped_nag.Fields[8].Value;

forma3.Fields[16].Value := uch_ped_nag.Fields[16].Value;

forma3.Fields[17].Value := uch_ped_nag.Fields[17].Value;

forma3.Fields[18].Value := uch_ped_nag.Fields[18].Value;

forma3.Fields[19].Value := uch_ped_nag.Fields[19].Value;

forma3.Fields[20].Value := uch_ped_nag.Fields[20].Value;

forma3.Fields[21].Value := uch_ped_nag.Fields[21].Value;

forma3.Fields[22].Value := uch_ped_nag.Fields[22].Value;

forma3.Fields[23].Value := uch_ped_nag.Fields[23].Value;

forma3.Fields[24].Value := uch_ped_nag.Fields[24].Value;

forma3.Fields[25].Value := uch_ped_nag.Fields[25].Value;

forma3.Fields[26].Value := uch_ped_nag.Fields[26].Value;

forma3.Fields[27].Value := uch_ped_nag.Fields[27].Value;

forma3.Fields[28].Value := uch_ped_nag.Fields[28].Value;

forma3.Fields[29].Value := uch_ped_nag.Fields[29].Value;

forma3.Fields[30].Value := uch_ped_nag.Fields[30].Value;

{ if uch_ped_nag.Fields[4].Value = 'Б' then

begin

tabel.Fields[2].Value:= tabel.Fields[2].Value + uch_ped_nag.fields[20+form4.ComboBox1.itemindex].Value;

end

else if uch_ped_nag.Fields[4].Value = 'К' then

begin

tabel.Fields[3].Value:= tabel.Fields[3].Value + uch_ped_nag.fields[20+form4.combobox1.itemindex].Value;

end; }

forma3.post;

uch_ped_nag.Next;

end;

// spr_prep.Next;

end;

form1.RvProject3.Execute;

end

else showmessage('Запоните все необходимые поля');

end;

end.

ПРИЛОЖЕНИЕ В

ДИАГРАММА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ

Рисунок В.1 - Диаграмма вариантов использования

ПРИЛОЖЕНИЕ Г

ДИАГРАММА КЛАССОВ

Рисунок Г.1 - Диаграмма классов

ПРИЛОЖЕНИЕ Д

ДИАГРАММА КОМПОНЕНТОВ

Рисунок Д.1 - Диаграмма компонентов