Розробка гнучкої системи автоматизації розрахунку учбового навантаження
База даних як складова частина інформаційної системи. Загальні принципи створення контролерів автоматизації 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
Подобные документы
Розробка системи, що виконує функцію автоматизації процесу пропускного пункту підприємства з використанням мов програмування PHP, JavaScript і MySql. Практичні аспекти проектування ГІС із використанням WEB-технологій і баз даних, тестування програми.
дипломная работа [1,5 M], добавлен 25.10.2012Об'єктна модель MS Excel. Загальні принципи створення контролерів автоматизації MS Office. Створення об'єкту Excel. Application, запуск і візуалізація вікна додатку. Загальні характеристики середовища Delphi. Високопродуктивний компілятор у машинний код.
дипломная работа [1,2 M], добавлен 26.10.2012Апаратна організація Web-серверу гнучкої комп’ютеризованої системи в середовищі Linux Debian. Забезпечення обміну даними між персональним комп’ютером і зовнішніми вимірювальними приладами, прийом/передача даних крізь USB-інтерфейс в системи обміну даними.
дипломная работа [3,3 M], добавлен 25.10.2012Розробка гнучкої довідкової системи, яка дозволяє наочно проілюструвати можливості управління додатками MS Office за допомогою програм, створених у середовищі Delphi. Система базується на використанні технології COM і об'єктних моделей MS Word і MS Excel.
дипломная работа [2,5 M], добавлен 25.10.2012Види інформаційних систем. Програмна реалізація гнучкої системи для автоматизованої реєстрації та обліку руху імунобіологічних препаратів в середовищі Delphi 6.0 з використанням технології доступу до баз даних ADO. Розрахунок витрат на розробку програми.
дипломная работа [3,2 M], добавлен 25.10.2012Принципи організації баз даних (БД) при проектуванні клієнт-серверних додатків. Інструментальні засоби створення системи. Різновиди архітектур БД. Функції та програмна реалізація. Економічне обґрунтування доцільності розробки програмного продукту.
дипломная работа [2,1 M], добавлен 22.10.2012Створення гнучкої клієнт-серверної системи інформаційної підтримки підвищення кваліфікації персоналу ДП № 9 з застосуванням мови програмування PHP, системи керування базами даних MySQL. Розробка алгоритмів, програмна реалізація основних процедур системи.
дипломная работа [1,8 M], добавлен 26.10.2012Різновиди архітектур баз даних. Архітектура "файл-сервер" і локальні бази даних. Обґрунтування вибору архітектури стосовно проектованої системи. Основні концепції мови SQL. Структура запитів до окремих таблиць. Інтерфейс користувача проектованої системи.
дипломная работа [972,5 K], добавлен 26.10.2012Побудова інформаційної системи, що буде слугувати для автоматизації процесу захисту персональних даних клієнтів банку. Вибір методу проектування архітектури та моделі функціонування системи. Перелік масивів, використовуваних під час розв’язання задачі.
дипломная работа [1,8 M], добавлен 02.06.2017Автоматизація роботи овочевої бази, яка дозволить значно підвищити продуктивність праці за рахунок автоматизації функцій, які раніше виконувалися вручну. Розробка канонічних uml-діаграм автоматизованої інформаційної системи у середовищі case-засобу.
курсовая работа [2,4 M], добавлен 27.04.2013