Комплексная информатизация системы образования

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 06.09.2014
Размер файла 143,0 K

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

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

SportTabSheet: TTabSheet;

VneklassTabSheet: TTabSheet;

SredstvaUPTabSheet: TTabSheet;

UchitelDataSource: TDataSource;

UchitelDBGrid: TDBGrid;

UchitelDBNavigator: TDBNavigator;

UchitelADOTable: TADOTable;

PredmetDataSource: TDataSource;

PredmetDBGrid: TDBGrid;

PredmetDBNavigator: TDBNavigator;

PredmetADOTable: TADOTable;

OlimpDBGrid: TDBGrid;

OlimpDBNavigator: TDBNavigator;

SportDBGrid: TDBGrid;

SportDBNavigator: TDBNavigator;

VneklassDBGrid: TDBGrid;

VneklassDBNavigator: TDBNavigator;

SredstvaUPDBGrid: TDBGrid;

SredstvaUPDBNavigator: TDBNavigator;

OlimpADOTable: TADOTable;

SportADOTable: TADOTable;

VneklassADOTable: TADOTable;

OlimpDataSource: TDataSource;

SportDataSource: TDataSource;

VneklassDataSource: TDataSource;

SredstvaUPDataSource: TDataSource;

SredstvaUPADOTable: TADOTable;

MainMenu1: TMainMenu;

N1: TMenuItem;

CloseMnu: TMenuItem;

N2: TMenuItem;

FindMnu: TMenuItem;

ShowAllMnu: TMenuItem;

procedure FormActivate (Sender: TObject);

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

procedure CloseMnuClick (Sender: TObject);

procedure FindMnuClick (Sender: TObject);

procedure ShowAllMnuClick (Sender: TObject);

private procedure CreateCaption();

{Private declarations}

public

{Public declarations}

end;

var

DataForm: TDataForm;

implementation

uses

SearchForm;

{$R *.dfm}

 // начало работы программы

procedure TDataForm. FindMnuClick (Sender: TObject);

begin

SearchFrm. ShowModal();

 // если ввели услови для поиска и нажали «Найти»

if SearchFrm. ModalResult = mrOk

then begin

 // фильтр

UchenADOTable. Filtered:= false;

UchenADOTable. Filter:= 'FOI_uchenika Like «%' + SearchFrm. Edit1. Text + ' % ''';

UchenADOTable. Filtered:= true;

 // если не найдено записей, удовлетворяющих условию поиска

if UchenADOTable. RecordCount < 1

then begin

UchenADOTable. Filtered:= false;

ShowMessage ('В таблице нет записей, удовлетворяющих условию!!!');

end;

end;

end;

procedure TDataForm. FormActivate (Sender: TObject);

begin

try

DBADOConnection. Open;

UOADOTable. Open;

UchenADOTable. Open;

UchitelADOTable. Open;

PredmetADOTable. Open;

OlimpADOTable. Open;

SportADOTable. Open;

VneklassADOTable. Open;

SredstvaUPADOTable. Open;

Self. CreateCaption();

except

on e: Exception do begin

UODBGrid. Enabled:= False;

UchenDBGrid. Enabled:= False;

UchitelDBGrid. Enabled:= False;

PredmetDBGrid. Enabled:= False;

OlimpDBGrid. Enabled:= False;

SportDBGrid. Enabled:= False;

VneklassDBGrid. Enabled:= False;

SredstvaUPDBGrid. Enabled:= False;

MessageDlg ('Ошибка доступа к файлу базы данных!!!', mtError, [mbOk], 0);

end;

end;

end;

 // первоначальная настройка пдписей столбцов

procedure TDataForm. CloseMnuClick (Sender: TObject);

begin

Self. Close();

end;

procedure TDataForm. CreateCaption();

begin

UODBGrid. Columns[0].Title. Caption:= 'ID УО';

UODBGrid. Columns[0].Title. Alignment:= taCenter;

UODBGrid. Columns[1].Title. Caption:= 'Наименование';

UODBGrid. Columns[1].Title. Alignment:= taCenter;

UODBGrid. Columns[2].Title. Caption:= 'Адрес';

UODBGrid. Columns[2].Title. Alignment:= taCenter;

UchenDBGrid. Columns[0].Title. Caption:= 'ID УО';

UchenDBGrid. Columns[0].Title. Alignment:= taCenter;

UchenDBGrid. Columns[1].Title. Caption:= 'ID ученика';

UchenDBGrid. Columns[1].Title. Alignment:= taCenter;

UchenDBGrid. Columns[2].Title. Caption:= 'Класс';

UchenDBGrid. Columns[2].Title. Alignment:= taCenter;

UchenDBGrid. Columns[3].Title. Caption:= 'ФИО ученика';

UchenDBGrid. Columns[3].Title. Alignment:= taCenter;

UchenDBGrid. Columns[4].Title. Caption:= 'Дата рождения';

UchenDBGrid. Columns[4].Title. Alignment:= taCenter;

UchenDBGrid. Columns[5].Title. Caption:= 'ФИО матери';

UchenDBGrid. Columns[5].Title. Alignment:= taCenter;

UchenDBGrid. Columns[6].Title. Caption:= 'ФИО отца';

UchenDBGrid. Columns[6].Title. Alignment:= taCenter;

UchitelDBGrid. Columns[0].Title. Caption:= 'ID УО';

UchitelDBGrid. Columns[0].Title. Alignment:= taCenter;

UchitelDBGrid. Columns[1].Title. Caption:= 'ID учителя';

UchitelDBGrid. Columns[1].Title. Alignment:= taCenter;

UchitelDBGrid. Columns[2].Title. Caption:= 'ФИО учителя';

UchitelDBGrid. Columns[2].Title. Alignment:= taCenter;

UchitelDBGrid. Columns[3].Title. Caption:= 'Пед. категория';

UchitelDBGrid. Columns[3].Title. Alignment:= taCenter;

UchitelDBGrid. Columns[4].Title. Caption:= 'Образование';

UchitelDBGrid. Columns[4].Title. Alignment:= taCenter;

PredmetDBGrid. Columns[0].Title. Caption:= 'ID предмета';

PredmetDBGrid. Columns[0].Title. Alignment:= taCenter;

PredmetDBGrid. Columns[1].Title. Caption:= 'Наименование предмета';

PredmetDBGrid. Columns[1].Title. Alignment:= taCenter;

OlimpDBGrid. Columns[0].Title. Caption:= 'ID УО';

OlimpDBGrid. Columns[0].Title. Alignment:= taCenter;

OlimpDBGrid. Columns[1].Title. Caption:= 'ID предмета';

OlimpDBGrid. Columns[1].Title. Alignment:= taCenter;

OlimpDBGrid. Columns[2].Title. Caption:= 'Этап олимпиады';

OlimpDBGrid. Columns[2].Title. Alignment:= taCenter;

OlimpDBGrid. Columns[3].Title. Caption:= 'ID ученика-победителя';

OlimpDBGrid. Columns[3].Title. Alignment:= taCenter;

OlimpDBGrid. Columns[4].Title. Caption:= 'Занятое место';

OlimpDBGrid. Columns[4].Title. Alignment:= taCenter;

SportDBGrid. Columns[0].Title. Caption:= 'ID УО';

SportDBGrid. Columns[0].Title. Alignment:= taCenter;

SportDBGrid. Columns[1].Title. Caption:= 'Наименование мероприятия';

SportDBGrid. Columns[1].Title. Alignment:= taCenter;

SportDBGrid. Columns[2].Title. Caption:= 'ID ученика-победителя';

SportDBGrid. Columns[2].Title. Alignment:= taCenter;

SportDBGrid. Columns[3].Title. Caption:= 'Занятое место';

SportDBGrid. Columns[3].Title. Alignment:= taCenter;

VneklassDBGrid. Columns[0].Title. Caption:= 'ID УО';

VneklassDBGrid. Columns[0].Title. Alignment:= taCenter;

VneklassDBGrid. Columns[1].Title. Caption:= 'Вид работы';

VneklassDBGrid. Columns[1].Title. Alignment:= taCenter;

VneklassDBGrid. Columns[2].Title. Caption:= 'Результат';

VneklassDBGrid. Columns[2].Title. Alignment:= taCenter;

SredstvaUPDBGrid. Columns[0].Title. Caption:= 'ID УО';

SredstvaUPDBGrid. Columns[0].Title. Alignment:= taCenter;

SredstvaUPDBGrid. Columns[1].Title. Caption:= 'Наименование средства';

SredstvaUPDBGrid. Columns[1].Title. Alignment:= taCenter;

SredstvaUPDBGrid. Columns[2].Title. Caption:= 'Количество';

SredstvaUPDBGrid. Columns[2].Title. Alignment:= taCenter;

end;

 // завершение работы программы

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

begin

 // пользователь не завершил редактирование

 // записать редактируемую запись

if (UODBGrid. EditorMode)

then UOADOTable. UpdateBatch(arCurrent);

if (UchenDBGrid. EditorMode)

then UchenADOTable. UpdateBatch(arCurrent);

if (UchitelDBGrid. EditorMode)

then UchitelADOTable. UpdateBatch(arCurrent);

if (PredmetDBGrid. EditorMode)

then PredmetADOTable. UpdateBatch(arCurrent);

if (OlimpDBGrid. EditorMode)

then OlimpADOTable. UpdateBatch(arCurrent);

if (SportDBGrid. EditorMode)

then SportADOTable. UpdateBatch(arCurrent);

if (VneklassDBGrid. EditorMode)

then VneklassADOTable. UpdateBatch(arCurrent);

if (SredstvaUPDBGrid. EditorMode)

then SredstvaUPADOTable. UpdateBatch(arCurrent);

end;

procedure TDataForm. ShowAllMnuClick (Sender: TObject);

begin

self. UchenADOTable. Filtered:= false;

end;

end.

procedure TDBNavigator. InitButtons;

var

I: TNavigateBtn;

Btn: TNavButton;

X: Integer;

ResName: string;

begin

MinBtnSize:= Point (20, 18);

X:= 0;

for I:= Low(Buttons) to High(Buttons) do

begin

Btn:= TNavButton. Create (Self);

Btn. Flat:= Flat;

Btn. Index:= I;

Btn. Visible:= I in FVisibleButtons;

Btn. Enabled:= True;

Btn. SetBounds (X, 0, MinBtnSize.X, MinBtnSize.Y);

FmtStr (ResName, 'dbn_%s', [BtnTypeName[I]]);

Btn. Glyph. LoadFromResourceName (HInstance, ResName);

Btn. NumGlyphs:= 2;

Btn. Enabled:= False;

Btn. Enabled:= True;

Btn. OnClick:= ClickHandler;

Btn. OnMouseDown:= BtnMouseDown;

Btn. Parent:= Self;

Buttons[I]:= Btn;

X:= X + MinBtnSize.X;

end;

Buttons[nbPrior].NavStyle:= Buttons[nbPrior].NavStyle + [nsAllowTimer];

Buttons[nbNext].NavStyle:= Buttons[nbNext].NavStyle + [nsAllowTimer];

end;

procedure TDBNavigator. InitHints;

var

I: Integer;

J: TNavigateBtn;

begin

if not Assigned(FDefHints) then

begin

FDefHints:= TStringList. Create;

for J:= Low(Buttons) to High(Buttons) do

FDefHints. Add (LoadResString(BtnHintId[J]));

end;

for J:= Low(Buttons) to High(Buttons) do

Buttons[J].Hint:= FDefHints [Ord(J)];

J:= Low(Buttons);

for I:= 0 to (FHints. Count - 1) do

begin

if FHints. Strings[I] <> '' then Buttons[J].Hint:= FHints. Strings[I];

if J = High(Buttons) then Exit;

Inc(J);

end;

end;

procedure TDBNavigator. HintsChanged (Sender: TObject);

begin

InitHints;

end;

procedure TDBNavigator. SetFlat (Value: Boolean);

var

I: TNavigateBtn;

begin

if FFlat <> Value then

begin

FFlat:= Value;

for I:= Low(Buttons) to High(Buttons) do

Buttons[I].Flat:= Value;

end;

end;

procedure TDBNavigator. SetHints (Value: TStrings);

begin

if Value. Text = FDefHints. Text then

FHints. Clear else

FHints. Assign(Value);

end;

function TDBNavigator. GetHints: TStrings;

begin

if (csDesigning in ComponentState) and not (csWriting in ComponentState) and

not (csReading in ComponentState) and (FHints. Count = 0) then

Result:= FDefHints else

Result:= FHints;

end;

procedure TDBNavigator. GetChildren (Proc: TGetChildProc; Root: TComponent);

begin

end;

procedure TDBNavigator. Notification (AComponent: TComponent;

Operation: TOperation);

begin

inherited Notification (AComponent, Operation);

if (Operation = opRemove) and (FDataLink <> nil) and

(AComponent = DataSource) then DataSource:= nil;

end;

procedure TDBNavigator. SetVisible (Value: TNavButtonSet);

var

I: TNavigateBtn;

W, H: Integer;

begin

W:= Width;

H:= Height;

FVisibleButtons:= Value;

for I:= Low(Buttons) to High(Buttons) do

Buttons[I].Visible:= I in FVisibleButtons;

SetSize (W, H);

if (W <> Width) or (H <> Height) then

inherited SetBounds (Left, Top, W, H);

Invalidate;

end;

procedure TDBNavigator. CalcMinSize (var W, H: Integer);

var

Count: Integer;

I: TNavigateBtn;

begin

if (csLoading in ComponentState) then Exit;

if Buttons[nbFirst] = nil then Exit;

Count:= 0;

for I:= Low(Buttons) to High(Buttons) do

if Buttons[I].Visible then

Inc(Count);

if Count = 0 then Inc(Count);

W:= Max (W, Count * MinBtnSize.X);

H:= Max (H, MinBtnSize.Y);

if Align = alNone then W:= (W div Count) * Count;

end;

procedure TDBNavigator. SetSize (var W: Integer; var H: Integer);

var

Count: Integer;

I: TNavigateBtn;

Space, Temp, Remain: Integer;

X: Integer;

begin

if (csLoading in ComponentState) then Exit;

if Buttons[nbFirst] = nil then Exit;

CalcMinSize (W, H);

Count:= 0;

for I:= Low(Buttons) to High(Buttons) do

if Buttons[I].Visible then

Inc(Count);

if Count = 0 then Inc(Count);

ButtonWidth:= W div Count;

Temp:= Count * ButtonWidth;

if Align = alNone then W:= Temp;

X:= 0;

Remain:= W - Temp;

Temp:= Count div 2;

for I:= Low(Buttons) to High(Buttons) do

begin

if Buttons[I].Visible then

begin

Space:= 0;

if Remain <> 0 then

begin

Dec (Temp, Remain);

if Temp < 0 then

begin

Inc (Temp, Count);

Space:= 1;

end;

end;

Buttons[I].SetBounds (X, 0, ButtonWidth + Space, Height);

Inc (X, ButtonWidth + Space);

end

else

Buttons[I].SetBounds (Width + 1, 0, ButtonWidth, Height);

end;

end;

procedure TDBNavigator. SetBounds (ALeft, ATop, AWidth, AHeight: Integer);

var

W, H: Integer;

begin

W:= AWidth;

H:= AHeight;

if not HandleAllocated then SetSize (W, H);

inherited SetBounds (ALeft, ATop, W, H);

end;

procedure TDBNavigator.WMSize (var Message: TWMSize);

var

W, H: Integer;

begin

inherited;

W:= Width;

H:= Height;

SetSize (W, H);

end;

procedure TDBNavigator.WMWindowPosChanging (var Message: TWMWindowPosChanging);

begin

inherited;

if (SWP_NOSIZE and Message. WindowPos. Flags) = 0 then

CalcMinSize (Message. WindowPos.cx, Message. WindowPos.cy);

end;

procedure TDBNavigator. ClickHandler (Sender: TObject);

begin

BtnClick (TNavButton (Sender).Index);

end;

procedure TDBNavigator. BtnMouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

OldFocus: TNavigateBtn;

begin

OldFocus:= FocusedButton;

FocusedButton:= TNavButton (Sender).Index;

if TabStop and (GetFocus <> Handle) and CanFocus then

begin

SetFocus;

if (GetFocus <> Handle) then

Exit;

end

else if TabStop and (GetFocus = Handle) and (OldFocus <> FocusedButton) then

begin

Buttons[OldFocus].Invalidate;

Buttons[FocusedButton].Invalidate;

end;

end;

procedure TDBNavigator. BtnClick (Index: TNavigateBtn);

begin

if (DataSource <> nil) and (DataSource. State <> dsInactive) then

begin

if not (csDesigning in ComponentState) and Assigned(FBeforeAction) then

FBeforeAction (Self, Index);

with DataSource. DataSet do

begin

case Index of

nbPrior: Prior;

nbNext: Next;

nbFirst: First;

nbLast: Last;

nbInsert: Insert;

nbEdit: Edit;

nbCancel: Cancel;

nbPost: Post;

nbRefresh: Refresh;

nbDelete:

if not FConfirmDelete or

(MessageDlg (SDeleteRecordQuestion, mtConfirmation,

mbOKCancel, 0) <> idCancel) then Delete;

end;

end;

end;

if not (csDesigning in ComponentState) and Assigned(FOnNavClick) then

FOnNavClick (Self, Index);

end;

procedure TDBNavigator.WMSetFocus (var Message: TWMSetFocus);

begin

Buttons[FocusedButton].Invalidate;

end;

procedure TDBNavigator.WMKillFocus (var Message: TWMKillFocus);

begin

Buttons[FocusedButton].Invalidate;

end;

procedure TDBNavigator. KeyDown (var Key: Word; Shift: TShiftState);

var

NewFocus: TNavigateBtn;

OldFocus: TNavigateBtn;

begin

OldFocus:= FocusedButton;

case Key of

VK_RIGHT:

begin

if OldFocus < High(Buttons) then

begin

NewFocus:= OldFocus;

repeat

NewFocus:= Succ(NewFocus);

until (NewFocus = High(Buttons)) or (Buttons[NewFocus].Visible);

if Buttons[NewFocus].Visible then

begin

FocusedButton:= NewFocus;

Buttons[OldFocus].Invalidate;

Buttons[NewFocus].Invalidate;

end;

end;

end;

VK_LEFT:

begin

NewFocus:= FocusedButton;

repeat

if NewFocus > Low(Buttons) then

NewFocus:= Pred(NewFocus);

until (NewFocus = Low(Buttons)) or (Buttons[NewFocus].Visible);

if NewFocus <> FocusedButton then

begin

FocusedButton:= NewFocus;

Buttons[OldFocus].Invalidate;

Buttons[FocusedButton].Invalidate;

end;

end;

VK_SPACE:

begin

if Buttons[FocusedButton].Enabled then

Buttons[FocusedButton].Click;

end;

end;

end;

procedure TDBNavigator.WMGetDlgCode (var Message: TWMGetDlgCode);

begin

Message. Result:= DLGC_WANTARROWS;

end;

procedure TDBNavigator. DataChanged;

var

UpEnable, DnEnable: Boolean;

begin

UpEnable:= Enabled and FDataLink. Active and not FDataLink. DataSet.BOF;

DnEnable:= Enabled and FDataLink. Active and not FDataLink. DataSet.EOF;

Buttons[nbFirst].Enabled:= UpEnable;

Buttons[nbPrior].Enabled:= UpEnable;

Buttons[nbNext].Enabled:= DnEnable;

Buttons[nbLast].Enabled:= DnEnable;

Buttons[nbDelete].Enabled:= Enabled and FDataLink. Active and

FDataLink. DataSet. CanModify and

not (FDataLink. DataSet.BOF and FDataLink. DataSet.EOF);

end;

procedure TDBNavigator. EditingChanged;

var

CanModify: Boolean;

begin

CanModify:= Enabled and FDataLink. Active and FDataLink. DataSet. CanModify;

Buttons[nbInsert].Enabled:= CanModify;

Buttons[nbEdit].Enabled:= CanModify and not FDataLink. Editing;

Buttons[nbPost].Enabled:= CanModify and FDataLink. Editing;

Buttons[nbCancel].Enabled:= CanModify and FDataLink. Editing;

Buttons[nbRefresh].Enabled:= CanModify;

end;

procedure TDBNavigator. ActiveChanged;

var

I: TNavigateBtn;

begin

if not (Enabled and FDataLink. Active) then

for I:= Low(Buttons) to High(Buttons) do

Buttons[I].Enabled:= False

else

begin

DataChanged;

EditingChanged;

end;

end;

procedure TDBNavigator.CMEnabledChanged (var Message: TMessage);

begin

inherited;

if not (csLoading in ComponentState) then

ActiveChanged;

end;

procedure TDBNavigator. SetDataSource (Value: TDataSource);

begin

FDataLink. DataSource:= Value;

if not (csLoading in ComponentState) then

ActiveChanged;

if Value <> nil then Value. FreeNotification(Self);

end;

function TDBNavigator. GetDataSource: TDataSource;

begin

Result:= FDataLink. DataSource;

end;

procedure TDBNavigator. Loaded;

var

W, H: Integer;

begin

inherited Loaded;

W:= Width;

H:= Height;

SetSize (W, H);

if (W <> Width) or (H <> Height) then

inherited SetBounds (Left, Top, W, H);

InitHints;

ActiveChanged;

end;

{TNavButton}

destructor TNavButton. Destroy;

begin

if FRepeatTimer <> nil then

FRepeatTimer. Free;

inherited Destroy;

end;

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


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

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