Розробка гнучкої системи автоматизації розрахунку учбового навантаження

База даних як складова частина інформаційної системи. Загальні принципи створення контролерів автоматизації MS Office. Розробка гнучкої комп'ютеризованої системи, призначеної для автоматизації розрахунку учбового навантаження. Моделі представлення даних.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 26.10.2012
Размер файла 4,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Dialogs, ComCtrls, Grids, DBGrids, ExtCtrls, DBCtrls,data_module, DB,

StdCtrls, Buttons,comobj;

type

Tsem_plan = class(TForm)

TabControl1: TTabControl;

TabControl2: TTabControl;

DBGrid1: TDBGrid;

DataSource1: TDataSource;

Panel1: TPanel;

BitBtn2: TBitBtn;

StatusBar1: TStatusBar;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

Panel2: TPanel;

BitBtn1: TBitBtn;

BitBtn5: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

procedure TabControl2Change(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure DBGrid1DblClick(Sender: TObject);

procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn; State: TGridDrawState);

procedure DBGrid1CellClick(Column: TColumn);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

sem_plan: Tsem_plan;

flag,fl:boolean;

a_lek:integer;

e:variant;

implementation

uses U_vvod_sem;

{$R *.dfm}

procedure Tsem_plan.BitBtn1Click(Sender: TObject);

begin

// if DataModule7.adotable5lek_ost.AsInteger=0 then exit;

DataModule7.ADOTable8.Edit;

if (TabControl1.TabIndex=0) and (TabControl2.TabIndex=0)

then begin

DataModule7.ADOTable5.Locate('kod_semestr',DataModule7.sem_1_dkod_semestr.AsInteger,[])

end

else

if (TabControl1.TabIndex=0) and (TabControl2.TabIndex=1)

then begin

DataModule7.ADOTable5.Locate('kod_semestr',DataModule7.sem_2_dkod_semestr.AsInteger,[])

end

else

if (TabControl1.TabIndex=1) and (TabControl2.TabIndex=0)

then

begin

DataModule7.ADOTable5.Locate('kod_semestr',DataModule7.sem_1_zkod_semestr.AsInteger,[])

end

else

begin

DataModule7.ADOTable5.Locate('kod_semestr',DataModule7.sem_2_zkod_semestr.AsInteger,[])

end;

DataModule7.ADOTable8kod_semestr.AsInteger:= DataModule7.ADOTable5kod_semestr.AsInteger;

DataModule7.ADOTable8lek.AsInteger :=DataModule7.adotable5lek_ost.AsInteger;

DataModule7.adotable5.Edit;

DataModule7.adotable5lek_ost.AsInteger:=0; DataModule7.adotable5.Post;

close;

end;

procedure Tsem_plan.TabControl2Change(Sender: TObject);

begin

if (TabControl1.TabIndex=0) and (TabControl2.TabIndex=0)

then DataSource1.DataSet:=DataModule7.sem_1_d

else

if (TabControl1.TabIndex=0) and (TabControl2.TabIndex=1)

then DataSource1.DataSet:=DataModule7.sem_2_d

else

if (TabControl1.TabIndex=1) and (TabControl2.TabIndex=0)

then DataSource1.DataSet:=DataModule7.sem_1_z

else

DataSource1.DataSet:=DataModule7.sem_2_z;

end;

procedure Tsem_plan.BitBtn2Click(Sender: TObject);

begin

DataModule7.ADOTable5.Insert;

vvod_sem.Edit1.Text:=''; flag:=false;

vvod_sem.ShowModal;

end;

procedure Tsem_plan.DBGrid1DblClick(Sender: TObject);

var x:integer;

s:string;

begin

DataModule7.ADOTable5.edit;

if (TabControl1.TabIndex=0) and (TabControl2.TabIndex=0)

then begin x:=DataModule7.sem_1_dkod_semestr.AsInteger;

s:= DataModule7.sem_1_dn_disc.AsString;

end

else

if (TabControl1.TabIndex=0) and (TabControl2.TabIndex=1)

then

begin x:=DataModule7.sem_2_dkod_semestr.AsInteger;

s:= DataModule7.sem_2_dn_disc.AsString;end

else

if (TabControl1.TabIndex=1) and (TabControl2.TabIndex=0)

then begin x:=DataModule7.sem_1_zkod_semestr.AsInteger;

s:= DataModule7.sem_1_zn_disc.AsString;end

else

begin

x:=DataModule7.sem_2_zkod_semestr.AsInteger ;

s:= DataModule7.sem_2_zn_disc.AsString;

end;

DataModule7.ADOTable5.Locate('kod_semestr',x,[]);

vvod_sem.Edit1.Text:=s;

flag:=true;

vvod_sem.ShowModal;

end;

procedure Tsem_plan.DBGrid1DrawColumnCell(Sender: TObject;

const Rect: TRect; DataCol: Integer; Column: TColumn;

State: TGridDrawState);

var

s:string;

r:trect;

begin

if fl=true then exit;

begin

s:=string(DataSource1.DataSet.FieldValues['lek_ost']);

r:=rect;

if (column.FieldName='lek_ost') and

(DataSource1.DataSet.FieldValues['lek_ost']=0)

then

with dbgrid1.Canvas do

begin

brush.Color:=clBlue;;

fillrect(rect);

textout(r.Left,r.Top,s);

end;

end;

end;

procedure Tsem_plan.DBGrid1CellClick(Column: TColumn);

begin

DataModule7.ADOTable8.Filter:='kod_semestr='+string(DataSource1.DataSet.FieldValues['kod_semestr']);

DataModule7.ADOTable8.Filtered:=true;

StatusBar1.Panels[0].Text:='';

while not DataModule7.ADOTable8.Eof do

begin

DataModule7.ADOTable1.Locate('kod_pr',DataModule7.ADOTable8kod_pr.AsInteger,[]);

StatusBar1.Panels[0].Text:=StatusBar1.Panels[0].Text+DataModule7.ADOTable1prizv.AsString;

DataModule7.ADOTable8.Next;

end;

DataModule7.ADOTable8.Filtered:=false;

end;

procedure Tsem_plan.BitBtn4Click(Sender: TObject);

begin

DataModule7.ADOTable5.Locate('kod_semestr',string(DataSource1.DataSet.FieldValues['kod_semestr']),[]);

DataModule7.ADOTable5.Delete;

DataModule7.sem_1_d.Close;

DataModule7.sem_1_d.Open;

DataModule7.sem_2_d.Close;

DataModule7.sem_2_d.Open;

DataModule7.sem_1_z.Close;

DataModule7.sem_1_z.Open;

DataModule7.sem_2_z.Close;

DataModule7.sem_2_z.Open;

end;

function FindAndInsert(FindText,replacementText:string):boolean;

var range:variant;

begin

range:=e.cells.replace(what:=findtext,replacement:=replacementtext);

end;

procedure Tsem_plan.BitBtn3Click(Sender: TObject);

var workbook,cell,range:variant;

i,kurs:integer;

begin

e:=createoleobject('excel.application');

workbook:=e.workbooks.add(extractfiledir(application.ExeName)+'\Нагрузка.xlt');

DataModule7.sem_1_d.First; i:=0;

while not DataModule7.sem_1_d.Eof do

begin

cell:=workbook.worksheets[1].cells[i+5,1];

range:=workbook.worksheets[1].range[cell,cell];

range.value:= DataModule7.sem_1_d.RecNo;

cell:=workbook.worksheets[1].cells[i+5,2];

range:=workbook.worksheets[1].range[cell,cell];

range.value:= DataModule7.sem_1_dn_disc.AsString;

cell:=workbook.worksheets[1].cells[i+5,15];

range:=workbook.worksheets[1].range[cell,cell];

with datamodule7 do begin

if sem_1_dlek.AsInteger<>0 then

range.value:= DataModule7.sem_1_dlek.AsInteger;

cell:=workbook.worksheets[1].cells[i+5,16];

range:=workbook.worksheets[1].range[cell,cell];

if sem_1_dkons.AsInteger<>0 then

range.value:= DataModule7.sem_1_dkons.AsInteger;

cell:=workbook.worksheets[1].cells[i+5,17];

range:=workbook.worksheets[1].range[cell,cell];

if sem_1_dlab.AsInteger<>0 then

range.value:= DataModule7.sem_1_dlab.AsInteger;

cell:=workbook.worksheets[1].cells[i+5,18];

range:=workbook.worksheets[1].range[cell,cell];

if sem_1_dprakt.AsInteger<>0 then

range.value:= DataModule7.sem_1_dprakt.AsInteger;

cell:=workbook.worksheets[1].cells[i+5,20];

range:=workbook.worksheets[1].range[cell,cell];

if sem_1_dkurs.AsInteger<>0 then

range.value:= DataModule7.sem_1_dkurs.AsInteger;

cell:=workbook.worksheets[1].cells[i+5,21];

range:=workbook.worksheets[1].range[cell,cell];

if sem_1_dzalik.AsInteger<>0 then

range.value:= DataModule7.sem_1_dzalik.AsInteger;

cell:=workbook.worksheets[1].cells[i+5,22];

range:=workbook.worksheets[1].range[cell,cell];

if sem_1_deks.AsInteger<>0 then

range.value:= DataModule7.sem_1_deks.AsInteger;

cell:=workbook.worksheets[1].cells[i+5,23];

range:=workbook.worksheets[1].range[cell,cell];

if sem_1_deks_kons.AsInteger<>0 then

range.value:= DataModule7.sem_1_deks_kons.AsInteger;

case ADOTable5semestr.AsInteger of

1,2:kurs:=1;

3,4:kurs:=2;

5,6:kurs:=3;

7,8:kurs:=4;

9:kurs:=5;

end;

if ADOTable5f_nav.AsBoolean then

adotable7.Locate('kod_sp;kurs;f_nav',VarArrayOf([ADOTable5kod_sp.AsInteger,kurs,'д']),[])

else

adotable7.Locate('kod_sp;kurs;f_nav',VarArrayOf([ADOTable5kod_sp.AsInteger,kurs,'з']),[]);

cell:=workbook.worksheets[1].cells[i+5,4];

range:=workbook.worksheets[1].range[cell,cell];

range.value:= ADOTable7kurs.AsInteger;

cell:=workbook.worksheets[1].cells[i+5,5];

range:=workbook.worksheets[1].range[cell,cell];

range.value:= ADOTable7kol_st.AsInteger;

ADOTable6.Locate('kod_sp',ADOTable7kod_sp.AsInteger,[]);

cell:=workbook.worksheets[1].cells[i+5,3];

range:=workbook.worksheets[1].range[cell,cell];

range.value:= ADOTable6shifr.AsString;

DataModule7.sem_1_d.Next;

end;

i:=i+1;

end;

e.visible:=true;

end;

end.

unit U_vikl;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs,data_module, DB, Grids, DBGrids;

type

Tvikl = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

procedure DBGrid1DblClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

vikl: Tvikl;

implementation

uses U_kartka;

{$R *.dfm}

procedure Tvikl.DBGrid1DblClick(Sender: TObject);

var fam:string;

begin

//if DataModule7.ADOTable8.Locate('kod_pr',DataModule7.ADOTable3kod_pr.AsInteger,[])

// then

DataModule7.ADOTable8.Filter:='kod_pr='+inttostr(DataModule7.ADOTable3kod_pr.AsInteger);

DataModule7.ADOTable8.Filtered:=true;

fam:=DataModule7.ADOTable3prizv.AsString+' '+DataModule7.ADOTable3name.AsString+' ' +DataModule7.ADOTable3f_name.AsString;

kartka.StaticText1.Caption:=fam;

kartka.StaticText2.Caption:=DataModule7.ADOTable3posada.AsString;

kartka.StaticText3.Caption:=inttostr(DataModule7.ADOTable3stavka.AsInteger);

kartka.ShowModal;

end;

end.

unit U_vvod_sem;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs,data_module, DB, StdCtrls, Mask, DBCtrls, Buttons, ExtCtrls;

type

Tvvod_sem = class(TForm)

DataSource1: TDataSource;

Panel1: TPanel;

SpeedButton1: TSpeedButton;

Edit1: TEdit;

Label3: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

Label4: TLabel;

DBEdit2: TDBEdit;

Label2: TLabel;

Panel2: TPanel;

DBEdit1: TDBEdit;

DBCheckBox1: TDBCheckBox;

DBComboBox1: TDBComboBox;

Label1: TLabel;

Label5: TLabel;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBCheckBox2: TDBCheckBox;

Label6: TLabel;

Label7: TLabel;

Panel3: TPanel;

BitBtn1: TBitBtn;

procedure SpeedButton1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

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

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

vvod_sem: Tvvod_sem;

implementation

uses Unit4, U_sem_plan;

{$R *.dfm}

procedure Tvvod_sem.SpeedButton1Click(Sender: TObject);

begin

sp_dis.ShowModal

end;

procedure Tvvod_sem.BitBtn1Click(Sender: TObject);

begin

close;

end;

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

begin

if flag=false then

if (sem_plan.TabControl1.TabIndex=0) then

DataModule7.ADOTable5f_nav.AsBoolean:=true

else

DataModule7.ADOTable5f_nav.AsBoolean:=false;

// DataModule7.ADOTable5lek_ost.AsInteger:= DataModule7.ADOTable5lek.AsInteger;

if DataModule7.ADOTable5.State in [dsedit,dsInsert] then

DataModule7.ADOTable5.Post;

DataModule7.sem_1_d.Close;

DataModule7.sem_1_d.Open;

DataModule7.sem_2_d.Close;

DataModule7.sem_2_d.Open;

DataModule7.sem_1_z.Close;

DataModule7.sem_1_z.Open;

DataModule7.sem_2_z.Close;

DataModule7.sem_2_z.Open;

sem_plan.TabControl2Change(sender);

end;

procedure Tvvod_sem.FormShow(Sender: TObject);

begin

DataModule7.ADOTable5k_r.AsBoolean:=false;

DataModule7.ADOTable5k_p.AsBoolean:=false;

end;

end.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, AxCtrls, OleCtrls, VCF1, ComCtrls,comobj;

type

Tmain = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N13: TMenuItem;

N5: TMenuItem;

SQL1: TMenuItem;

StatusBar1: TStatusBar;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N111: TMenuItem;

N12: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure N111Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

main: Tmain;

w:variant;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, U_sp_pos, U_sem_plan, U_vikl,

data_module;

{$R *.dfm}

function FindAndInsert(FindText,replacementText:string):boolean;

const wdReplaceAll=2;

begin

w.selection.find.text:=findtext;

w.selection.find.replacement.text:=replacementtext;

findandinsert:=w.selection.find.execute(replace:=wdreplaceAll);

end;

procedure Tmain.N2Click(Sender: TObject);

begin

sp_pr.ShowModal

end;

procedure Tmain.N3Click(Sender: TObject);

begin

sp_kont.ShowModal

end;

procedure Tmain.N4Click(Sender: TObject);

begin

sp_dis.ShowModal

end;

procedure Tmain.FormShow(Sender: TObject);

begin

// parol.ShowModal;

end;

procedure Tmain.N111Click(Sender: TObject);

begin

w:=createoleobject('word.application');

w.documents.add(extractfiledir(application.ExeName)+'\Контингент студентів.dot');

FindAndInsert('#D1', inttostr(datamodule7.d1kol_st.AsInteger));

FindAndInsert('#D2', inttostr(datamodule7.d2kol_st.AsInteger));

FindAndInsert('#D3', inttostr(datamodule7.d3kol_st.AsInteger));

FindAndInsert('#D4', inttostr(datamodule7.d4kol_st.AsInteger));

FindAndInsert('#D5', inttostr(datamodule7.d5kol_st.AsInteger));

FindAndInsert('#Z1', inttostr(datamodule7.z1kol_st.AsInteger));

FindAndInsert('#Z2', inttostr(datamodule7.z2kol_st.AsInteger));

FindAndInsert('#Z3', inttostr(datamodule7.z3kol_st.AsInteger));

FindAndInsert('#Z4', inttostr(datamodule7.z4kol_st.AsInteger));

FindAndInsert('#Z5', inttostr(datamodule7.z5kol_st.AsInteger));

FindAndInsert('#A', inttostr(datamodule7.d1kol_st.AsInteger+datamodule7.d2kol_st.AsInteger+datamodule7.d3kol_st.AsInteger+datamodule7.d4kol_st.AsInteger+datamodule7.d5kol_st.AsInteger));

FindAndInsert('#B', inttostr(datamodule7.z1kol_st.AsInteger+datamodule7.z2kol_st.AsInteger+datamodule7.z3kol_st.AsInteger+datamodule7.z4kol_st.AsInteger+datamodule7.z5kol_st.AsInteger));

w.visible:=true;

end;

procedure Tmain.N13Click(Sender: TObject);

begin

sp_pos.ShowModal

end;

procedure Tmain.N10Click(Sender: TObject);

begin

{sem_plan.DBGrid1.Columns[3].FieldName:='lek';

sem_plan.DBGrid1.Columns[4].FieldName:='lab';

sem_plan.DBGrid1.Columns[5].FieldName:='prakt';

sem_plan.DBGrid1.Columns[6].FieldName:='chas_k';}

fl:=true;

sem_plan.Panel2.Visible:=false;

sem_plan.ShowModal ;

end;

procedure Tmain.N11Click(Sender: TObject);

begin

vikl.ShowModal;

end;

procedure Tmain.N7Click(Sender: TObject);

begin

w:=createoleobject('word.application');

w.documents.add(extractfiledir(application.ExeName)+'\Склад кафедри.doc');

w.visible:=true;

end;

procedure Tmain.N8Click(Sender: TObject);

begin

w:=createoleobject('word.application');

w.documents.add(extractfiledir(application.ExeName)+'\Якісний та кількісний склад.dot');

FindAndInsert('#Z', inttostr(datamodule7.ADOTable1.RecordCount));

FindAndInsert('#D', inttostr(datamodule7.ADOTable9.RecordCount));

FindAndInsert('#K', inttostr(datamodule7.ADOTable10.RecordCount));

FindAndInsert('#I', inttostr(datamodule7.ADOTable11.RecordCount-datamodule7.ADOTable10.RecordCount-datamodule7.ADOTable9.RecordCount));

FindAndInsert('#SD', inttostr(datamodule7.ADOTable12.RecordCount));

FindAndInsert('#SK', inttostr(datamodule7.ADOTable13.RecordCount));

FindAndInsert('#SI', inttostr(datamodule7.ADOTable14.RecordCount-datamodule7.ADOTable13.RecordCount-datamodule7.ADOTable12.RecordCount));

w.visible:=true;

w.visible:=true;

end;

procedure Tmain.N12Click(Sender: TObject);

begin

w:=createoleobject('word.application');

w.documents.add(extractfiledir(application.ExeName)+'\Кадрове забезпечення спеціальності.doc');

w.visible:=true;

end;

procedure Tmain.N18Click(Sender: TObject);

begin

close

end;

procedure Tmain.N15Click(Sender: TObject);

begin

with OpenDialog1 do

if execute then;

end;

procedure Tmain.N16Click(Sender: TObject);

begin

with saveDialog1 do

if execute then;

end;

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, DBCtrls,data_module, DB, Grids, DBGrids;

type

Tsp_kont = class(TForm)

Panel1: TPanel;

DBNavigator1: TDBNavigator;

DBGrid1: TDBGrid;

DataSource1: TDataSource;

Panel2: TPanel;

ComboBox1: TComboBox;

CheckBox1: TCheckBox;

procedure FormShow(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

sp_kont: Tsp_kont;

implementation

{$R *.dfm}

procedure Tsp_kont.FormShow(Sender: TObject);

begin

ComboBox1.Items.Clear;

with DataModule7 do

begin

adotable6.First;

while not ADOTable6.Eof do

begin

ComboBox1.Items.Add(ADOTable6shifr.AsString);

adotable6.Next;

end;

end;

end;

procedure Tsp_kont.CheckBox1Click(Sender: TObject);

begin

DataModule7.ADOTable6.Locate('shifr',ComboBox1.Text,[]);

DataModule7.ADOTable7.Filter:='kod_sp='+inttostr(DataModule7.ADOTable6kod_sp.AsInteger);;

DataModule7.ADOTable7.Filtered:=CheckBox1.Checked;

end;

procedure Tsp_kont.ComboBox1Change(Sender: TObject);

begin

CheckBox1.Checked:=false;

end;

end.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBCtrls, Grids, DBGrids, ExtCtrls, DB, Menus,data_module,

StdCtrls, Buttons,comobj;

type

Tsp_dis = class(TForm)

Panel1: TPanel;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DataSource1: TDataSource;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label1: TLabel;

procedure BitBtn1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

sp_dis: Tsp_dis;

w:variant;

implementation

uses U_vvod_sem;

{$R *.dfm}

procedure Tsp_dis.BitBtn1Click(Sender: TObject);

begin

// datamodule7.ADOTable5.Locate('kod_semestr',ADOTable8kod_semestr.AsInteger,[]);

DataModule7.ADOTable5kod_dis.AsInteger:=DataModule7.adotable2kod_d.asinteger;

vvod_sem.Edit1.Text:=DataModule7.ADOTable2n_disc.AsString;

close;

end;

procedure Tsp_dis.FormShow(Sender: TObject);

begin

Label1.Caption:='Загальна кількість '+inttostr(DataModule7.ADOTable2.recordcount);

end;

procedure Tsp_dis.BitBtn2Click(Sender: TObject);

const

wdalignPageNumberRight=1;

var i,j,k:integer;

s:string; mypagenumber:variant; mypagenumbers:variant;

myrange,mysection,table:variant;

begin

w:=createoleobject('word.application'); //створення об'єкту Word

w.documents.add; //додавання документу

w.activewindow.activepane.view.zoom.percentage:=100; //масштаб відобра-ження вікна документу - 100%

mysection:=w.activedocument.range.sections.item(1); //встановлення поточного розділу документу

mypagenumbers:=mysection.headers.item(1).pagenumbers; //автоматична нуме-рація сторінок звіту

mypagenumber:=mysection.headers.item(1).pagenumbers.add(pagenumberalignment:=wdalignPageNumberRight,firstpage:=true); //встановлення параметрів нумерації - вгорі сторінки, по центру, номер на першій сторінці

myrange:=w.activedocument.range(w.activedocument.range.end-1,w.activedocument.range.end-1);

myrange.paragraphformat.alignment:=1; //вирівнювання тексу абзацу по цен-ту

myrange.select; //виділення поточного абзацу

w.selection.font.bold:=1; //текст "жирний"

w.selection.font.underline:=1; //текст підкреслений

w.activedocument.range.insertafter('Перелік дисциплін кафедри'); //вставка заголовка зві-ту

w.activedocument.range.insertafter(#13); //додавання пустих строк

w.activedocument.range.insertafter(#13);

myrange:=w.activedocument.range(w.activedocument.range.end-1,w.activedocument.range.end-1);

w.activedocument.tables.add(range:=myrange,numrows:=1,numcolumns:=2); //додавання в документ таблиці - 1 рядок та 5 стовпців

table:=w.activedocument.tables.item(1);

table.AutoFormat(Format:=20,

ApplyBorders:=true,

ApplyShading:=false,

ApplyFont:=false,

ApplyColor:=false,

ApplyHeadingRows:= false,

ApplyLastRow:=false,

ApplyFirstColumn:= false,

ApplyLastColumn:=false,

AutoFit:=false); //форматування таблиці за основі заданого типу Ав-тоформату

table.rows.item(1).range.paragraphformat.alignment:=1; //вирівнювання по-середині

table.rows.item(1).shading.backgroundpatterncolorindex:=16; //заливка ко-мірки таблиці

table.rows.item(1).select; //обираємо 1-й рядок

w.selection.font.bold:=1;

w.selection.font.underline:=0; //текст підкреслений

for i:=1 to table.columns.count do //формування заголовків

case i of // i - порядковий номер стовпця

1: begin

table.columns.item(i).width:=20; //встановлюємо ширину стовпця

table.cell(1,i).range.text:='№'; //виводимо заголовок

end;

2: begin

table.columns.item(i).width:=450; //встановлюємо ширину стовпця

table.cell(1,i).range.text:='Назва дисципліни'; //виводимо заголовок

end;

end;

table.rows.add; //додаємо рядок у таблицю

table.rows.item(2).shading.backgroundpatterncolorindex:=0; //відключення за-ливки

table.rows.item(2).select;

table.rows.item(2).range.paragraphformat.alignment:=3;

w.selection.font.bold:=0;

k:=2; DataModule7.ADOtable2.first;

with DataModule7 do

while not ADOtable2.eof do //перебір усіх записів набору

begin

//формування таблиці - занесення відповідних значень набору у комірки таблиці

table.cell(ADOtable2.recno+1,1).range.text:=inttostr(adotable2.recno);

table.cell(ADOtable2.recno+1,2).range.text:=adotable2n_disc.asstring;

k:=k+1; //номер рядка

ADOtable2.next; //перехід на наступну запис

table.rows.add; //додавання рядку у таблицю

end;

table.rows.item(k).delete;

w.activedocument.range.insertafter(#13);

w.activedocument.range.insertafter(#13); //візуалізація документу

w.visible:=true;

end;

end.

unit Unit5;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons,inifiles;

type

Tparol = class(TForm)

Edit1: TEdit;

BitBtn1: TBitBtn;

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

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

private

{ Private declarations }

public

{ Public declarations }

end;

var

parol: Tparol;

ini:tinifile;

s:ansistring;

f:boolean;

implementation

uses Unit1;

{$R *.dfm}

procedure Tparol.FormCreate(Sender: TObject);

var i:integer;

ch:char;

begin

f:=false;

ini:=tinifile.Create(extractfilepath(paramstr(0))+'ini.ini');

s:=ini.ReadString('security','parol','');

ini.Free;

for i:=1 to length(s) do

begin

ch:=s[i];

ch:=char(ord(ch)-1);

s[i]:=ch;

end;

end;

procedure Tparol.BitBtn1Click(Sender: TObject);

begin

if Edit1.Text<>s then

begin

showmessage('=уГу?цvИ ?б?ед?!'); Edit1.Text:=''; Edit1.SetFocus;

end

else begin f:=true; close; end;

end;

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

begin

if not f then main.Close;

end;

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.