Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Семотюк_текстКР.doc
Скачиваний:
1
Добавлен:
24.11.2018
Размер:
974.85 Кб
Скачать

Перелік використаних джерел та літератури

  1. Вендров А.М. Проектирование програмного обеспечения экономических информационных систем. – М., Финансы и статистика, 2000. – С.347.

  2. Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pascal & Delphi/ Навчальний посібник. Львів – 2003. – С.141.

  3. Митчелл К.Керман. Программирование и отладка в Delphi. Учебный курс. Москва – Санкт-Петербург – Киев - 2003. – С.669.

  4. Міжнародний стандарт ISO/IEC 12207: 1995-08-01.

  5. Орлов С.А.. Технологии разработки программного обеспечения. Учебник для ВУЗов. Москва-… 2002, - 463с.

  6. Пономаренко В.С. Проектування інформаційних систем. – К., ВЦ «Академія», 2002. – С.498.

  7. Пономаренко В.С. Інформаційні системи і технології в економіці. – К., ВЦ «Академія», 2002. – С.542.

ДОДАТОК

Програмний код

unit UnitMain;

{Головний модуль}

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, Buttons, ExtCtrls, XPMan;

type

TFormMain = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

XPManifest1: TXPManifest;

N7: TMenuItem;

procedure FormCreate(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N6Click(Sender: TObject);

end;

var FormMain: TFormMain;

root: string;

implementation

uses UnitVidd, UnitGryp, UnitSpec, UnitPilg, UnitStyd, UnitData;

{$R *.dfm}

{Визначення шляху до папки з проектом}

procedure TFormMain.FormCreate(Sender: TObject);

begin

root:=GetCurrentDir();

end;

{Відділення}

procedure TFormMain.N1Click(Sender: TObject);

begin

FormVidd.ShowModal;

end;

{Спеціальності}

procedure TFormMain.N2Click(Sender: TObject);

begin

FormSpec.ShowModal;

end;

{Групи}

procedure TFormMain.N3Click(Sender: TObject);

begin

FormGryp.ShowModal;

end;

{Пільги}

procedure TFormMain.N4Click(Sender: TObject);

begin

FormPilg.ShowModal;

end;

{Вихід}

procedure TFormMain.N6Click(Sender: TObject);

begin

close;

end;

end.

unit UnitVidd;

{Формування реєстру-довідника відділень}

interface

uses

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

type

TFormVidd = class(TForm)

Panel1: TPanel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

DBGrid1: TDBGrid;

procedure FormActivate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

end;

var FormVidd: TFormVidd;

implementation

uses UnitData, UnitViddDial;

{$R *.dfm}

{Встановлення початкових значень параметрів інтерфейсу}

procedure TFormVidd.FormActivate(Sender: TObject);

begin

DatMod.TabVidd_2.DisplayWidth:=50;

DatMod.TabSpecDSDesigner.Visible:=true;

end;

{Нове відділення}

procedure TFormVidd.BitBtn1Click(Sender: TObject);

begin

DatMod.TabVidd.Insert;

FormViddDial.ShowModal;

end;

{Редагувати назву відділення}

procedure TFormVidd.BitBtn3Click(Sender: TObject);

begin

if DatMod.TabVidd.RecordCount=0

then showmessage('Реєстр відділень порожній')

else FormViddDial.ShowModal;

end;

{Видалити відділення}

procedure TFormVidd.BitBtn2Click(Sender: TObject);

begin

if DatMod.TabVidd.RecordCount=0

then showmessage('Реєстр відділень порожній')

else

if DatMod.TabSpec.RecordCount=0 then DatMod.TabVidd.Delete

else showmessage('Видалення неможливе! Слід спочатку видалити всі закріплені за відділенням спеціальності');

end;

{Закриття вікна відділень}

procedure TFormVidd.BitBtn4Click(Sender: TObject);

begin

close;

end;

end.

unit UnitViddDial;

{Модуль редагування реєстру відділень}

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Mask, DBCtrls;

type

TFormViddDial = class(TForm)

Label1: TLabel;

DBEdit1: TDBEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

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

procedure DBEdit1Change(Sender: TObject);

end;

var FormViddDial: TFormViddDial;

implementation

uses UnitData, UnitVidd;

{$R *.dfm}

{Підтвердження змін в реєстрі відділень}

procedure TFormViddDial.BitBtn1Click(Sender: TObject);

begin

DatMod.TabVidd.Post;

end;

{Скасування змін в реєстрі відділень при натисканні однойменної кнопки}

procedure TFormViddDial.BitBtn2Click(Sender: TObject);

begin

DatMod.TabVidd.Cancel;

end;

{Скасування змін в реєстрі відділень при закритті вікна}

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

begin

DatMod.TabVidd.Cancel;

end;

{Керування доступом до кнопки "Зберегти"}

procedure TFormViddDial.DBEdit1Change(Sender: TObject);

begin

BitBtn1.Enabled:=DBEdit1.Text<>'';

end;

end.

unit UnitSpec;

{Формування реєстру-довідника спеціальностей}

interface

uses

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

type

TFormSpec = class(TForm)

Panel1: TPanel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

DBGrid1: TDBGrid;

Panel2: TPanel;

DBGrid2: TDBGrid;

procedure FormActivate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

end;

var FormSpec: TFormSpec;

implementation

uses UnitData, UnitSpecDial;

{$R *.dfm}

{Встановлення початкових значень параметрів інтерфейсу}

procedure TFormSpec.FormActivate(Sender: TObject);

begin

DatMod.TabVidd_2.DisplayWidth:=50;

DatMod.TabSpec_3.DisplayWidth:=50;

DatMod.TabSpecDSDesigner.Visible:=true;

DatMod.TabSpecDSDesigner2.Visible:=true;

end;

{Нова спеціальність}

procedure TFormSpec.BitBtn1Click(Sender: TObject);

begin

if DatMod.TabVidd.RecordCount=0

then showmessage('Реєстр відділень порожній')

else begin

DatMod.TabSpec.Insert;

FormSpecDial.ShowModal;

end;

end;

{Редагувати дані про спеціальність}

procedure TFormSpec.BitBtn3Click(Sender: TObject);

begin

if DatMod.TabSpec.RecordCount=0

then showmessage('Реєстр спеціальностей порожній')

else FormSpecDial.ShowModal;

end;

{Видалити спеціальність}

procedure TFormSpec.BitBtn2Click(Sender: TObject);

begin

if DatMod.TabSpec.RecordCount=0

then showmessage('Реєстр спеціальностей порожній')

else

if DatMod.TabGryp.RecordCount=0 then DatMod.TabSpec.Delete

else showmessage('Видалення неможливе! Слід спочатку видалити всі закріплені за спеціальністю групи');

end;

{Закриття вікна спеціальностей}

procedure TFormSpec.BitBtn4Click(Sender: TObject);

begin

close;

end;

end.

unit UnitSpecDial;

{Модуль редагування реєстру спеціальностей}

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Mask, DBCtrls;

type

TFormSpecDial = class(TForm)

Label1: TLabel;

DBEdit1: TDBEdit;

Label2: TLabel;

DBEdit2: TDBEdit;

Label3: TLabel;

DBEdit3: TDBEdit;

Label4: TLabel;

DBEdit4: TDBEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

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

procedure DBEdit2Change(Sender: TObject);

end;

var FormSpecDial: TFormSpecDial;

implementation

uses UnitData, UnitSpec;

{$R *.dfm}

{Підтвердження змін в реєстрі спеціальностей}

procedure TFormSpecDial.BitBtn1Click(Sender: TObject);

begin

DatMod.TabSpec.Post;

end;

{Скасування змін в реєстрі спеціальностей при натисканні однойменної кнопки}

procedure TFormSpecDial.BitBtn2Click(Sender: TObject);

begin

DatMod.TabSpec.Cancel;

end;

{Скасування змін в реєстрі спеціальностей при закритті вікна}

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

begin

DatMod.TabSpec.Cancel;

end;

{Керування доступом до кнопки "Зберегти"}

procedure TFormSpecDial.DBEdit2Change(Sender: TObject);

begin

BitBtn1.Enabled:=(DBEdit2.Text<>'') and (DBEdit3.Text<>'') and (DBEdit4.Text<>'') ;

end;

end.

unit UnitGryp;

{Формування реєстру-довідника груп}

interface

uses

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

type

TFormGryp = class(TForm)

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

Panel2: TPanel;

Panel1: TPanel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

DBGrid3: TDBGrid;

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

end;

var FormGryp: TFormGryp;

implementation

uses UnitData, UnitGrypDial;

{$R *.dfm}

{Встановлення початкових значень параметрів інтерфейсу}

procedure TFormGryp.FormCreate(Sender: TObject);

begin

DatMod.TabVidd_2.DisplayWidth:=50;

DatMod.TabSpec_3.DisplayWidth:=40;

DatMod.TabSpecDSDesigner.Visible:=false;

DatMod.TabSpecDSDesigner2.Visible:=false;

end;

{Нова група}

procedure TFormGryp.BitBtn1Click(Sender: TObject);

begin

if DatMod.TabSpec.RecordCount=0

then showmessage('Реєстр спеціальностей порожній')

else begin

DatMod.TabGryp.Insert;

FormGrypDial.ShowModal;

end;

end;

{Редагувати дані про групу}

procedure TFormGryp.BitBtn3Click(Sender: TObject);

begin

if DatMod.TabGryp.RecordCount=0

then showmessage('Реєстр груп порожній')

else FormGrypDial.ShowModal;

end;

{Видалити групу}

procedure TFormGryp.BitBtn2Click(Sender: TObject);

begin

if DatMod.TabGryp.RecordCount=0

then showmessage('Реєстр груп порожній')

else

if DatMod.TabStyd.RecordCount=0 then DatMod.TabGryp.Delete

else showmessage('Видалення неможливе! Слід спочатку видалити всі дані про студентів групи');

end;

{Закриття вікна груп}

procedure TFormGryp.BitBtn4Click(Sender: TObject);

begin

close;

end;

end.

unit UnitGrypDial;

{Модуль редагування реєстру груп}

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DBCtrls, Buttons, Mask;

type

TFormGrypDial = class(TForm)

Label1: TLabel;

Label2: TLabel;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label3: TLabel;

DBComboBox1: TDBComboBox;

Label4: TLabel;

DBEdit3: TDBEdit;

Label5: TLabel;

DBEdit4: TDBEdit;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

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

end;

var FormGrypDial: TFormGrypDial;

implementation

uses UnitData, UnitGryp;

{$R *.dfm}

{Підтвердження змін в реєстрі спеціальностей}

procedure TFormGrypDial.BitBtn1Click(Sender: TObject);

begin

DatMod.TabGryp.Post;

end;

{Скасування змін в реєстрі спеціальностей при натисканні однойменної кнопки}

procedure TFormGrypDial.BitBtn2Click(Sender: TObject);

begin

DatMod.TabGryp.Cancel;

end;

{Скасування змін в реєстрі спеціальностей при закритті вікна}

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

begin

DatMod.TabGryp.Cancel;

end;

end.

unit UnitPilg;

{Формування реєстру-довідника пільг}

interface

uses

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

type

TFormPilg = class(TForm)

Panel1: TPanel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

DBGrid1: TDBGrid;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

end;

var FormPilg: TFormPilg;

implementation

uses UnitData, UnitPilgDial;

{$R *.dfm}

{Нова пільга}

procedure TFormPilg.BitBtn1Click(Sender: TObject);

begin

DatMod.TabPilg.Insert;

FormPilgDial.ShowModal;

end;

{Редагувати назву пільги}

procedure TFormPilg.BitBtn3Click(Sender: TObject);

begin

if DatMod.TabPilg.RecordCount=0

then showmessage('Реєстр пільг порожній')

else FormPilgDial.ShowModal;

end;

{Видалити пільгу}

procedure TFormPilg.BitBtn2Click(Sender: TObject);

begin

if DatMod.TabPilg.RecordCount=0

then showmessage('Реєстр пільг порожній')

else

if DatMod.TabStyd.RecordCount=0 then DatMod.TabPilg.Delete

else showmessage('Видалення неможливе! Слід спочатку видалити всі записи про студентів, які мають цю пільгу');

end;

{Закриття вікна пільг}

procedure TFormPilg.BitBtn4Click(Sender: TObject);

begin

close;

end;

end.

unit UnitPilgDial;

{Модуль редагування реєстру пільг}

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Mask, DBCtrls;

type

TFormPilgDial = class(TForm)

Label1: TLabel;

DBEdit1: TDBEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

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

end;

var FormPilgDial: TFormPilgDial;

implementation

uses UnitData, UnitPilg;

{$R *.dfm}

{Підтвердження змін в реєстрі пільг}

procedure TFormPilgDial.BitBtn1Click(Sender: TObject);

begin

DatMod.TabPilg.Post;

end;

{Скасування змін в реєстрі пільг при натисканні однойменної кнопки}

procedure TFormPilgDial.BitBtn2Click(Sender: TObject);

begin

DatMod.TabPilg.Cancel;

end;

{Скасування змін в реєстрі пільг при закритті вікна}

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

begin

DatMod.TabPilg.Cancel;

end;

end.

unit UnitData;

{Модуль зв"язку з БД}

interface

uses

SysUtils, Classes, DB, ADODB, Dialogs;

type

TDatMod = class(TDataModule)

Connect: TADOConnection;

TabVidd: TADOTable;

TabSpec: TADOTable;

TabPilg: TADOTable;

TabStyd: TADOTable;

DSVidd: TDataSource;

DSSpec: TDataSource;

DSPilg: TDataSource;

DSStyd: TDataSource;

TabVidd_: TAutoIncField;

TabVidd_2: TWideStringField;

TabSpec_: TAutoIncField;

TabSpec_2: TIntegerField;

TabSpec_3: TWideStringField;

TabSpecDSDesigner: TWideStringField;

TabPilg_: TAutoIncField;

TabPilg_2: TWideStringField;

TabStyd_: TAutoIncField;

TabStyd_2: TWideStringField;

TabStyd_3: TIntegerField;

TabStyd_4: TIntegerField;

TabStyd__: TWideStringField;

TabStyd_5: TWideStringField;

TabStyd__2: TWideStringField;

TabStyd_6: TWideStringField;

TabStyd_8: TIntegerField;

TabStydDSDesigner: TWideStringField;

TabStydDSDesigner2: TWideStringField;

TabStyd_9: TWideStringField;

TabStydDSDesigner3: TWideStringField;

TabStydField: TStringField;

TabStyd_11: TWideStringField;

TabSpecDSDesigner2: TWideStringField;

TabGryp: TADOTable;

DSGryp: TDataSource;

TabGryp_: TAutoIncField;

TabGryp_2: TIntegerField;

TabGrypDSDesigner: TWideStringField;

TabGrypDSDesigner2: TWideStringField;

TabStydDSDesigner6: TWideStringField;

TabStyd_10: TMemoField;

TabStydDSDesigner4: TMemoField;

TabStydDSDesigner5: TMemoField;

TabStydDSDesigner7: TWideStringField;

TabGryp_3: TStringField;

TabGrypAB: TStringField;

procedure DataModuleCreate(Sender: TObject);

procedure TabGrypCalcFields(DataSet: TDataSet);

end;

var DatMod: TDatMod;

implementation

uses UnitStyd, UnitMain;

{$R *.dfm}

{}

procedure TDatMod.DataModuleCreate(Sender: TObject);

begin

try

{$I-}

Connect.Connected:=false;

Connect.ConnectionString:=Root+'\BDRStud.mdb';

Connect.Connected:=true;

TabVidd.Active:=true;

TabVidd.TableName:='Відділення';

TabSpec.Active:=true;

TabSpec.TableName:='Спеціальності';

TabGryp.Active:=true;

TabGryp.TableName:='Групи';

TabPilg.Active:=true;

TabPilg.TableName:='Пільги';

TabStyd.Active:=true;

TabStyd.TableName:='Реєстр_студентів';

{$I+}

except

showmessage('Порушення зв"язку з БД');

end;

end;

{Утворення назви групи з полів БД}

procedure TDatMod.TabGrypCalcFields(DataSet: TDataSet);

begin

TabGryp_3.AsString:=TabGrypAB.AsString+TabGrypDSDesigner.AsString+TabGrypDSDesigner2.AsString;

end;

end.