- •Содержание
- •Введение
- •Обзор и анализ программных средств компьютерной поддержки учебных дисциплин
- •Анализ проблемы автоматизации труда преподавателя
- •Обзор существующих программных средств компьютерной поддержки учебных дисциплин
- •Сравнительный анализ программных средств
- •Разработка инструментальной среды компьютерной поддержки учебных дисциплин
- •Постановка задачи разработки инструментальной среды
- •Описание предметной области
- •Архитектура инструментальной среды и структура бд
- •Алгоритм работы пользователей в среде
- •Разработка программного и методического обеспечения
- •Программные средства разработки инструментальной среды
- •Требования к пользовательскому интерфейсу и его реализация
- •Возможности представления среды на примере учебной дисциплины «Мультимедиа технологии в образовании»
- •Безопасность и экологичность разработки
- •Анализ безопасности процесса эксплуатации среды
- •Особенности функционального назначения среды
- •Системный анализ безопасности
- •Оценка напряженности процесса эксплуатации среды
- •Анализ экологичности инструментальной среды
- •Требования к организации работ с пэвм
- •Разработка мер профилактики и повышения безопасности и экологичности разрабатываемого объекта
- •Технико - экономическое обоснование разработки
- •Маркетинговые исследования рынка
- •Расчет затрат на этапе проектирования
- •Выбор базы сравнения (аналога)
- •Сравнительный анализ затрат в ходе эксплуатации программного продукта и аналога
- •Расчет экономии от увеличения производительности труда пользователя
- •Ожидаемый экономический эффект и срок окупаемости капитальных затрат
- •Заключение
- •Список использованных источников
- •Приложение а Листинг программы
- •Приложение б Графические материалы
Приложение а Листинг программы
unit dmCommon;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TdmMain = class(TDataModule)
ADOConnection1: TADOConnection;
dtsUserGroups: TADODataSet;
dtsUsers: TADODataSet;
dtsUserGroupsGROUP_ID: TAutoIncField;
dtsUserGroupsGROUP_NAME: TWideStringField;
dtsUserGroupsCOURSE_NUM: TIntegerField;
dtsUserGroupsDESCR: TWideStringField;
dtsUsersUSER_ID: TAutoIncField;
dtsUsersGROUP_ID: TIntegerField;
dtsUsersUSER_NAME: TWideStringField;
dtsUsersUSER_PASS: TWideStringField;
dtsUsersFIO: TWideStringField;
dtsUsersDESCR: TWideStringField;
dsUserGroups: TDataSource;
dsUsers: TDataSource;
dtsCourseGroups: TADODataSet;
dsCourseGroups: TDataSource;
dtsCourseGroupsGROUP_COURSE_ID: TAutoIncField;
dtsCourseGroupsGROUP_NAME: TWideStringField;
dtsCourseGroupsDESCR: TWideStringField;
dtsCourses: TADODataSet;
dsCourses: TDataSource;
dtsCoursesCOURSE_ID: TAutoIncField;
dtsVisits: TADODataSet;
dsVisits: TDataSource;
dtsVisitsVISIT_ID: TAutoIncField;
dtsVisitsUSER_ID: TIntegerField;
dtsVisitsCOURSE_ID: TIntegerField;
dtsVisitsDATE_ON: TDateTimeField;
dtsVisitsDESCR: TWideStringField;
dtsMarks: TADODataSet;
dsMarks: TDataSource;
dtsMarksMARK_ID: TAutoIncField;
dtsMarksUSER_ID: TIntegerField;
dtsMarksCOURSE_ID: TIntegerField;
dtsMarksMARK_NUM: TFloatField;
dtsMarksMARK_TEXT: TWideStringField;
dtsMarksDATE_ON: TDateTimeField;
dtsMarksDESCR: TWideStringField;
dtsAllUsers: TADODataSet;
dsAllUsers: TDataSource;
dtsAllUsersUSER_ID: TAutoIncField;
dtsAllUsersUSER_NAME: TWideStringField;
dtsAllCourses: TADODataSet;
dsAllCourses: TDataSource;
dtsAllCoursesCOURSE_ID: TAutoIncField;
dtsAllCoursesCOURSE_NAME: TWideStringField;
dtsVisitslUserName: TStringField;
dtsVisitslCourseName: TStringField;
dtsMarkslUserName: TStringField;
dtsMarkslCourseName: TStringField;
dtsReport: TADODataSet;
dtsAllUsersUSER_PASS: TWideStringField;
dtsCoursesCOURSE_GROUP_ID: TIntegerField;
dtsCoursesCOURSE_NAME: TWideStringField;
dtsCoursesCONTROL_TYPE: TWideStringField;
dtsCoursesSTATUS: TWideStringField;
dtsCoursesHAS_FINISH_WORK: TBooleanField;
dtsCoursesDESCR: TWideStringField;
dtsCoursesPOLOGENIE: TMemoField;
dtsCoursesZELI: TMemoField;
dtsCoursesZADACHI: TMemoField;
dtsCoursesDATE_ADD: TDateTimeField;
dtsCoursesAUTHOR_ID: TIntegerField;
dtsCourseslAuthorName: TStringField;
dtsCoursesAUTHORS: TWideStringField;
dtsCourseNews: TADODataSet;
IntegerField2: TIntegerField;
StringField1: TStringField;
dsCourseNews: TDataSource;
dtsCourseNewsNEWS_ID: TAutoIncField;
dtsCourseNewsCOURSE_ID: TIntegerField;
dtsCourseNewsDATE_ADD: TDateTimeField;
dtsCourseNewsTEXT: TWideStringField;
dtsCourseNewsDESCR: TMemoField;
dtsCourseLections: TADODataSet;
IntegerField1: TIntegerField;
StringField2: TStringField;
IntegerField3: TIntegerField;
dsCourseLections: TDataSource;
dtsCourseLectionsLECTION_ID: TAutoIncField;
dtsCourseLectionsNOMER: TWideStringField;
dtsCourseLectionsTHEME: TWideStringField;
dtsCourseLectionsVOPROSI: TMemoField;
dtsCourseLectionsMATERIAL: TMemoField;
dtsCourseLectionsPRIMERI: TMemoField;
dtsCoursesCOURSE_SHORT_NAME: TWideStringField;
dtsVoprosi1: TADODataSet;
dsVoprosi1: TDataSource;
dtsVoprosi1LV_ID: TAutoIncField;
dtsVoprosi1LECTION_ID: TIntegerField;
dtsVoprosi1VOPROS: TWideStringField;
dtsVoprosi1DESCR: TWideStringField;
dtsVoprosi1OTVET: TWideStringField;
dtsVoprosi2: TADODataSet;
AutoIncField1: TAutoIncField;
IntegerField4: TIntegerField;
WideStringField1: TWideStringField;
WideStringField2: TWideStringField;
WideStringField3: TWideStringField;
dsVoprosi2: TDataSource;
dtsLiter: TADODataSet;
IntegerField5: TIntegerField;
dsLiter: TDataSource;
dtsLiterLITER_ID: TAutoIncField;
dtsLiterLITER: TWideStringField;
dtsLiterDESCR: TWideStringField;
dtsLiterTYPE: TWideStringField;
dtsLiterAUTHOR: TWideStringField;
dtsCourseLiter: TADODataSet;
IntegerField7: TIntegerField;
dsCourseLiter: TDataSource;
dtsCourseLiterLITER_ID: TAutoIncField;
dtsCourseLiterTYPE: TWideStringField;
dtsCourseLiterLITER: TWideStringField;
dtsCourseLiterDESCR: TWideStringField;
dtsCourseLiterAUTHOR: TWideStringField;
dtsCourseWork: TADODataSet;
IntegerField6: TIntegerField;
dsCourseWork: TDataSource;
dtsCourseWorkWORK_ID: TAutoIncField;
dtsForumMessagelAuthorName: TStringField;
dtsForumRazdellAuthorName: TStringField;
dtsRaspisanieSemestr: TADODataSet;
dsRaspisanieSemestr: TDataSource;
dtsRaspisanieSemestrSEMESTR_ID: TAutoIncField;
dtsRaspisanieSemestrTITLE: TWideStringField;
dtsRaspisanieSemestrDESCRIPTION: TWideStringField;
dsRaspisaniePredmet: TDataSource;
dtsRaspisaniePredmet: TADODataSet;
dtsRaspisaniePredmetPREDMET_ID: TAutoIncField;
dtsRaspisaniePredmetSEMESTR_ID: TIntegerField;
dtsRaspisaniePredmetCOURSE_ID: TIntegerField;
dtsRaspisaniePredmetUSER_ID: TIntegerField;
dtsRaspisaniePredmetGROUP_ID: TIntegerField;
dtsRaspisaniePredmetDESCRIPTION: TWideStringField;
dtsRaspisaniePredmetlUserName: TStringField;
dtsAllPrepods: TADODataSet;
AutoIncField2: TAutoIncField;
WideStringField4: TWideStringField;
WideStringField5: TWideStringField;
dsAllPrepods: TDataSource;
dtsRaspisaniePredmetlCourseName: TStringField;
dtsRaspisaniePredmetlGroupName: TStringField;
dtsStudentGroups: TADODataSet;
AutoIncField3: TAutoIncField;
WideStringField6: TWideStringField;
IntegerField11: TIntegerField;
WideStringField7: TWideStringField;
dsStudentGroups: TDataSource;
dtsCourseTest: TADODataSet;
StringField3: TStringField;
IntegerField13: TIntegerField;
DateTimeField1: TDateTimeField;
dsCourseTest: TDataSource;
dtsCourseTestTEST_ID: TAutoIncField;
dtsCourseTestTITLE: TWideStringField;
dtsCourseTestDESCRIPTION: TWideStringField;
dtsCourseTestAUTHOR_ID: TIntegerField;
dtsCourseTestMIN1: TWideStringField;
dtsCourseTestMIN2: TWideStringField;
dtsCourseTestMIN3: TWideStringField;
dtsTestZadanie: TADODataSet;
dsTestZadanie: TDataSource;
dtsTestZadanieZADANIE_ID: TAutoIncField;
dtsTestZadanieTEST_ID: TIntegerField;
dtsTestZadanieTITLE: TWideStringField;
dtsTestZadanieDESCRIPTION: TWideStringField;
dtsTestZadanieTEXT: TMemoField;
dtsTestZadaniePODSKAZKA: TMemoField;
dtsTestZadanieTYPE: TWideStringField;
dtsTestZadanieLEVEL: TWideStringField;
dtsZadanieOtvet: TADODataSet;
dsZadanieOtvet: TDataSource;
dtsZadanieOtvetOTVET_ID: TAutoIncField;
dtsZadanieOtvetZADANIE_ID: TIntegerField;
dtsZadanieOtvetNOMER: TWideStringField;
dtsZadanieOtvetTITLE: TWideStringField;
dtsZadanieOtvetIS_TRUE: TBooleanField;
dtsZadanieOtvetDESCRIPTION: TWideStringField;
procedure ADOConnection1WillConnect(Connection: TADOConnection;
var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure RefreshDataSets;
end;
var
dmMain: TdmMain;
implementation
uses frmMainUnit;
{$R *.dfm}
{-----------------------------------------------------------------------------
Процедура : TdmMain.ADOConnection1WillConnect
Автор : Лежебоков А.А.
Дата : 18-дек-2009
Назначение :
Аргументы : Connection: TADOConnection; var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus
Результат : None
-----------------------------------------------------------------------------}
procedure TdmMain.ADOConnection1WillConnect(Connection: TADOConnection;
var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
begin
//ADOConnection1.ConnectionString := 'FILE NAME=dbLink.udl';
ADOConnection1.ConnectionString := '';
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="DataBase\dbMain.mdb";Mode=Share Deny None;Persist Security Info=False';
end;
{-----------------------------------------------------------------------------
Процедура : TdmMain.DataModuleCreate
Автор : Лежебоков А.А.
Дата : 18-дек-2009
Назначение :
Аргументы : Sender: TObject
Результат : None
-----------------------------------------------------------------------------}
procedure TdmMain.DataModuleCreate(Sender: TObject);
begin
ADOConnection1.Connected := false;
ADOConnection1.Connected := true;
RefreshDataSets;
end;
{-----------------------------------------------------------------------------
Процедура : TdmMain.DataModuleDestroy
Автор : Лежебоков А.А.
Дата : 18-дек-2009
Назначение :
Аргументы : Sender: TObject
Результат : None
-----------------------------------------------------------------------------}
procedure TdmMain.DataModuleDestroy(Sender: TObject);
begin
ADOConnection1.Connected := false
end;
{-----------------------------------------------------------------------------
Процедура : TdmMain.RefreshDataSets
Автор : Лежебоков А.А.
Дата : 18-дек-2009
Назначение :
Аргументы : None
Результат : None
-----------------------------------------------------------------------------}
procedure TdmMain.RefreshDataSets;
begin
dtsUserGroups.Close;
dtsUserGroups.Open;
dtsUsers.Close;
dtsUsers.Open;
dtsAllUsers.Close;
dtsAllUsers.Open;
dtsAllPrepods.Close;
dtsAllPrepods.Open;
dtsCourseGroups.Close;
dtsCourseGroups.Open;
dtsCourses.Close;
dtsCourses.Open;
dtsAllCourses.Close;
dtsRaspisanieSemestr.Close;
dtsRaspisanieSemestr.Open;
dtsRaspisaniePredmet.Close;
dtsRaspisaniePredmet.Open;
dtsStudentGroups.Close;
dtsStudentGroups.Open;
dtsCourseTest.Close;
dtsCourseTest.Open;
dtsTestZadanie.Close;
dtsTestZadanie.Open;
dtsZadanieOtvet.Close;
dtsZadanieOtvet.Open;
end;
end.
unit frmMainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, StdCtrls, ExtCtrls, DBCtrls, dxExEdtr,
dxDBGrid, dxTL, dxDBCtrl, dxCntner, dxDBTLCl, dxGrClms, dxEditor,
dxDBEdtr, dxDBELib, Buttons, jpeg, TeEngine, Series, GanttCh, TeeProcs,
Chart, dxEdLib;
type
TfrmMain = class(TForm)
menuMain: TMainMenu;
N1: TMenuItem;
miExit: TMenuItem;
miAbout: TMenuItem;
StatusBar1: TStatusBar;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox1: TGroupBox;
DBNavigator1: TDBNavigator;
dxDBGrid1: TdxDBGrid;
dxDBGrid1GROUP_ID: TdxDBGridMaskColumn;
dxDBGrid1GROUP_NAME: TdxDBGridColumn;
dxDBGrid1COURSE_NUM: TdxDBGridMaskColumn;
dxDBGrid1DESCR: TdxDBGridColumn;
GroupBox2: TGroupBox;
DBNavigator2: TDBNavigator;
dxDBGrid2: TdxDBGrid;
dxDBGrid2USER_ID: TdxDBGridMaskColumn;
dxDBGrid2USER_NAME: TdxDBGridColumn;
dxDBGrid2USER_PASS: TdxDBGridColumn;
dxDBGrid2FIO: TdxDBGridColumn;
dxDBGrid2DESCR: TdxDBGridColumn;
miService: TMenuItem;
GroupBox4: TGroupBox;
DBNavigator3: TDBNavigator;
dxDBGrid3: TdxDBGrid;
dxDBGridMaskColumn1: TdxDBGridMaskColumn;
dxDBGridColumn1: TdxDBGridColumn;
dxDBGridColumn2: TdxDBGridColumn;
GroupBox5: TGroupBox;
DBNavigator4: TDBNavigator;
dxDBGrid4: TdxDBGrid;
dxDBGridMaskColumn3: TdxDBGridMaskColumn;
dxDBGridMaskColumn2: TdxDBGridMaskColumn;
dxDBGridColumn5: TdxDBGridColumn;
dxDBGridColumn6: TdxDBGridColumn;
dxDBGridLookupColumn1: TdxDBGridLookupColumn;
dxDBGridColumn7: TdxDBGridColumn;
GroupBox6: TGroupBox;
DBNavigator6: TDBNavigator;
dxDBGrid6: TdxDBGrid;
dxDBGrid6RAZDEL_ID: TdxDBGridMaskColumn;
dxDBGrid6TITLE: TdxDBGridColumn;
dxDBGrid6DATE_ADD: TdxDBGridColumn;
dxDBGrid6lAuthorName: TdxDBGridLookupColumn;
dxDBGrid6DESCRIPTION: TdxDBGridColumn;
leForumRazdel: TDBLookupComboBox;
Label1: TLabel;
GroupBox8: TGroupBox;
DBNavigator8: TDBNavigator;
dxDBGrid8: TdxDBGrid;
dxDBGridMaskColumn4: TdxDBGridMaskColumn;
dxDBGridColumn8: TdxDBGridColumn;
dxDBGridColumn9: TdxDBGridColumn;
dxDBGridLookupColumn2: TdxDBGridLookupColumn;
dxDBGridColumn10: TdxDBGridMemoColumn;
GroupBox9: TGroupBox;
DBNavigator9: TDBNavigator;
dxDBGrid9: TdxDBGrid;
dxDBGridMaskColumn5: TdxDBGridMaskColumn;
dxDBGridColumn11: TdxDBGridColumn;
dxDBGridColumn12: TdxDBGridColumn;
GroupBox10: TGroupBox;
DBNavigator10: TDBNavigator;
dxDBGrid10: TdxDBGrid;
dxDBGrid10PREDMET_ID: TdxDBGridMaskColumn;
dxDBGrid10DESCRIPTION: TdxDBGridColumn;
dxDBGrid10lUserName: TdxDBGridLookupColumn;
dxDBGrid10lCourseName: TdxDBGridLookupColumn;
dxDBGrid10lGroupName: TdxDBGridLookupColumn;
procedure miExitClick(Sender: TObject);
procedure miAboutClick(Sender: TObject);
procedure miServiceClick(Sender: TObject);
procedure dbnVisitsClick(Sender: TObject; Button: TNavigateBtn);
procedure miRefreshDBClick(Sender: TObject);
procedure btnOpenProjectClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure Image6Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure leCourseGroup2Change(Sender: TObject);
procedure leCourseGroupChange(Sender: TObject);
procedure leCourseGroup3Change(Sender: TObject);
procedure btnOpenUserClick(Sender: TObject);
procedure leCourseGroup4Change(Sender: TObject);
procedure leCourse4Change(Sender: TObject);
procedure DBNavigator7Click(Sender: TObject; Button: TNavigateBtn);
procedure DBNavigator8Click(Sender: TObject; Button: TNavigateBtn);
procedure DBNavigator6Click(Sender: TObject; Button: TNavigateBtn);
procedure DBNavigator10Click(Sender: TObject; Button: TNavigateBtn);
private
{ Private declarations }
public
{ Public declarations }
curUserId : Integer;
procedure miModuleClick(Sender: TObject);
end;
var
frmMain: TfrmMain;
implementation
uses dmCommon, frmReportUnit, DB, frmProjectEditUnit,ShellApi, frmLoginUnit,
frmTextViewUnit, frmUserEditUnit ;
{$R *.dfm}
{-----------------------------------------------------------------------------
Процедура : TfrmMain.miExitClick
Автор : Автор И.О.
Дата : 18-дек-2009
Назначение :
Аргументы : Sender: TObject
Результат : None
-----------------------------------------------------------------------------}
procedure TfrmMain.miExitClick(Sender: TObject);
begin
Application.Terminate;
end;
{-----------------------------------------------------------------------------
Процедура : TfrmMain.miAboutClick
Автор : Автор И.О.
Дата : 18-дек-2009
Назначение :
Аргументы : Sender: TObject
Результат : None
-----------------------------------------------------------------------------}
procedure TfrmMain.miAboutClick(Sender: TObject);
begin
Application.MessageBox( PChar ('Инструментальная среда компьютерной поддержки учебных дисциплин'#13#10#13#10
+ 'САПР ТТИ ЮФУ Таганрог 2011'),
'О программе', MB_OK or MB_ICONINFORMATION );
end;
{-----------------------------------------------------------------------------
Процедура : TfrmMain.miServiceClick
Автор : Автор И.О.
Дата : 18-дек-2009
Назначение :
Аргументы : Sender: TObject
Результат : None
-----------------------------------------------------------------------------}
procedure TfrmMain.miServiceClick(Sender: TObject);
begin
// Application.MessageBox( PChar ( dmMain.ADOConnection1.ConnectionString ), 'Сервис', MB_OK );
end;
{-----------------------------------------------------------------------------
Процедура : TfrmMain.dbnVisitsClick
Автор : Автор И.О.
Дата : 18-дек-2009
Назначение :
Аргументы : Sender: TObject; Button: TNavigateBtn
Результат : None
-----------------------------------------------------------------------------}
procedure TfrmMain.dbnVisitsClick(Sender: TObject;
Button: TNavigateBtn);
begin
if ( Button = nbInsert ) then
begin
dmMain.dtsVisits.FieldByName( 'DATE_ON' ).AsDateTime := Date;
end;
end;
{-----------------------------------------------------------------------------
Процедура : TfrmMain.miRefreshDBClick
Автор : Лежебоков А.А.
Дата : 19-дек-2009
Назначение :
Аргументы : Sender: TObject
Результат : None
-----------------------------------------------------------------------------}
procedure TfrmMain.miRefreshDBClick(Sender: TObject);
begin
dmMain.RefreshDataSets;
end;
procedure TfrmMain.btnOpenProjectClick(Sender: TObject);
begin
frmProjectEdit.ShowModal;
end;
procedure TfrmMain.SpeedButton1Click(Sender: TObject);
begin
PageControl1.ActivePageIndex := 1;
end;
procedure TfrmMain.SpeedButton2Click(Sender: TObject);
begin
PageControl1.ActivePageIndex := 2;
end;
procedure TfrmMain.SpeedButton3Click(Sender: TObject);
begin
PageControl1.ActivePageIndex := 3;
//PageControl1Change(Sender);
end;
procedure TfrmMain.SpeedButton4Click(Sender: TObject);
begin
PageControl1.ActivePageIndex := 4;
end;
procedure TfrmMain.SpeedButton5Click(Sender: TObject);
begin
PageControl1.ActivePageIndex := 5;
end;
procedure TfrmMain.PageControl1Change(Sender: TObject);
begin
if (PageControl1.ActivePageIndex = 5 ) then
begin
leForumRazdel.KeyValue := dmMain.dtsForumRazdel.FieldByName ('RAZDEL_ID').AsVariant;
//leCourse.LookupKeyValue := dmMain.dtsCourses.FieldByName ('COURSE_ID').AsVariant;
end;
if (PageControl1.ActivePageIndex = 4 ) then
begin
//leCourseGroup2.LookupKeyValue := dmMain.dtsCourseGroups.FieldByName ('GROUP_COURSE_ID').AsVariant;
//leCourse2.LookupKeyValue := dmMain.dtsCourses.FieldByName ('COURSE_ID').AsVariant;
end;
if (PageControl1.ActivePageIndex = 5 ) then
begin
//leCourseGroup4.LookupKeyValue := dmMain.dtsCourseGroups.FieldByName ('GROUP_COURSE_ID').AsVariant;
//leCourse4.LookupKeyValue := dmMain.dtsCourses.FieldByName ('COURSE_ID').AsVariant;
// lePrjUser4.LookupKeyValue := dmMain.dtsProjectUsers.FieldByName ('PROJECT_USER_ID').AsVariant;
end;
end;
procedure TfrmMain.Image2Click(Sender: TObject);
begin
//WinExec('skype:123456',0);
ShellExecute(handle,'open','skype:test_phone_number',nil,nil,SW_SHOWNORMAL);
end;
procedure TfrmMain.Image7Click(Sender: TObject);
begin
ShellExecute(handle,'open','mailto:test_email_address',nil,nil,SW_SHOWNORMAL);
end;
procedure TfrmMain.Image3Click(Sender: TObject);
begin
ShellExecute(handle,'open','http://ru.wikipedia.org/wiki/Wiki',nil,nil,SW_SHOWNORMAL);
end;
procedure TfrmMain.Image4Click(Sender: TObject);
begin
ShellExecute(handle,'open','http://livejournal.com/',nil,nil,SW_SHOWNORMAL);
end;
procedure TfrmMain.Image5Click(Sender: TObject);
begin
ShellExecute(handle,'open','http://thinkit.ru/',nil,nil,SW_SHOWNORMAL);
end;
procedure TfrmMain.Image6Click(Sender: TObject);
begin
ShellExecute(handle,'open','http://chat.mail.ru/',nil,nil,SW_SHOWNORMAL);
end;
procedure TfrmMain.FormShow(Sender: TObject);
var
i : Integer;
mi : TMenuItem;
begin
if frmLogin.ShowModal <> mrOk then
begin
Application.Terminate;
end
else
begin
curUserId := dmMain.dtsUsers.FieldByName('USER_ID').AsInteger;
PageControl1.ActivePageIndex := 0;
dmMain.dtsModules.First;
for i:=1 to dmMain.dtsModules.RecordCount do
begin
if dmMain.dtsModules.FieldByName('STATUS').AsString = 'Активен' then
begin
mi := TMenuItem.Create(menuMain);
mi.Caption := dmMain.dtsModules.FieldByName('NAME').AsString;
mi.OnClick := miModuleClick;
mi.Hint := dmMain.dtsModules.FieldByName('COMAND').AsString;
miModules.Add(mi);
end;
dmMain.dtsModules.Next;
end;
if ( dmMain.dtsUserGroups.FieldByName('GROUP_NAME').AsString <> 'Администраторы' ) then
begin
TabSheet7.TabVisible := false;
end
else
begin
TabSheet7.TabVisible := true;
end;
end;
end;
procedure TfrmMain.miModuleClick(Sender: TObject);
begin
ShellExecute(handle,'open',PChar((Sender as TMenuItem).Hint) ,nil,nil,SW_SHOWNORMAL);
end;
procedure TfrmMain.N2Click(Sender: TObject);
begin
FormShow(frmMain);
end;
procedure TfrmMain.leCourseGroup2Change(Sender: TObject);
begin
//leCourse2.LookupKeyValue := dmMain.dtsCourses.FieldByName ('COURSE_ID').AsVariant;
end;
procedure TfrmMain.leCourseGroupChange(Sender: TObject);
begin
//leCourse.LookupKeyValue := dmMain.dtsCourses.FieldByName ('COURSE_ID').AsVariant;
end;
procedure TfrmMain.btnOpenUserClick(Sender: TObject);
begin
frmUserEdit.ShowModal;
end;
procedure TfrmMain.leCourseGroup4Change(Sender: TObject);
begin
//leCourse4.LookupKeyValue := dmMain.dtsCourses.FieldByName ('COURSE_ID').AsVariant;
end;
procedure TfrmMain.leCourse4Change(Sender: TObject);
begin
//lePrjUser4.LookupKeyValue := dmMain.dtsProjectUsers.FieldByName ('PROJECT_USER_ID').AsVariant;
end;
procedure TfrmMain.DBNavigator7Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsForumTema.Insert;
dmMain.dtsForumTema.FieldByName('RAZDEL_ID').AsInteger :=
dmMain.dtsForumRazdel.FieldByName('RAZDEL_ID').AsInteger;
dmMain.dtsForumTema.FieldByName('AUTHOR_ID').AsInteger := frmMain.curUserId;
dmMain.dtsForumTema.FieldByName('DATE_ADD').AsDateTime := Now;
end;
end;
procedure TfrmMain.DBNavigator8Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsForumMessage.Insert;
dmMain.dtsForumMessage.FieldByName('TEMA_ID').AsInteger :=
dmMain.dtsForumTema.FieldByName('TEMA_ID').AsInteger;
dmMain.dtsForumMessage.FieldByName('AUTHOR_ID').AsInteger := frmMain.curUserId;
dmMain.dtsForumMessage.FieldByName('DATE_ADD').AsDateTime := Now;
end;
end;
procedure TfrmMain.DBNavigator6Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsForumRazdel.Insert;
dmMain.dtsForumRazdel.FieldByName('AUTHOR_ID').AsInteger := frmMain.curUserId;
dmMain.dtsForumRazdel.FieldByName('DATE_ADD').AsDateTime := Now;
end;
end;
procedure TfrmMain.DBNavigator10Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsRaspisaniePredmet.Insert;
dmMain.dtsRaspisaniePredmet.FieldByName('SEMESTR_ID').AsInteger :=
dmMain.dtsRaspisanieSemestr.FieldByName('SEMESTR_ID').AsInteger;
end;
end;
end.
unit frmProjectEditUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, dxEdLib, dxDBELib, dxCntner, dxEditor,
dxExEdtr, ExtCtrls, dxDBEdtr, dxDBGrid, dxTL, dxDBCtrl, DBCtrls,
dxDBTLCl, dxGrClms;
type
TfrmProjectEdit = class(TForm)
GroupBox1: TGroupBox;
PageControl1: TPageControl;
TabSheet2: TTabSheet;
TabSheet4: TTabSheet;
Label1: TLabel;
dxDBMemo3: TdxDBMemo;
Splitter1: TSplitter;
DBNavigator1: TDBNavigator;
dxDBGrid2lAuthorName: TdxDBGridLookupColumn;
dxDBGrid2LECTION_ID: TdxDBGridMaskColumn;
dxDBGrid2NOMER: TdxDBGridColumn;
dxDBGrid2THEME: TdxDBGridColumn;
btnOpenLection: TButton;
btnOpenTest: TButton;
procedure btnCancelClick(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
procedure DBNavigatorLectionsClick(Sender: TObject;
Button: TNavigateBtn);
procedure btnOpenLectionClick(Sender: TObject);
procedure DBNavigator2Click(Sender: TObject; Button: TNavigateBtn);
procedure DBNavigator3Click(Sender: TObject; Button: TNavigateBtn);
procedure DBNavigator4Click(Sender: TObject; Button: TNavigateBtn);
procedure DBNavigator5Click(Sender: TObject; Button: TNavigateBtn);
procedure btnOpenLabClick(Sender: TObject);
procedure DBNavigator6Click(Sender: TObject; Button: TNavigateBtn);
procedure btnOpenPrakClick(Sender: TObject);
procedure DBNavigator7Click(Sender: TObject; Button: TNavigateBtn);
procedure btnOpenTestClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmProjectEdit: TfrmProjectEdit;
implementation
uses dmCommon, DB, frmMainUnit, frmLectionEditUnit, frmLabEditUnit,
frmPrakEditUnit, frmTestEditUnit;
{$R *.dfm}
procedure TfrmProjectEdit.btnCancelClick(Sender: TObject);
begin
if (dmMain.dtsCourses.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourses.Cancel;
if (dmMain.dtsCourseNews.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseNews.Cancel;
if (dmMain.dtsCourseLections.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseLections.Cancel;
if (dmMain.dtsCourseLab.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseLab.Cancel;
if (dmMain.dtsCoursePrak.State in [dsInsert,dsEdit] ) then
dmMain.dtsCoursePrak.Cancel;
if (dmMain.dtsCourseWork.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseWork.Cancel;
if (dmMain.dtsCourseLiter.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseLiter.Cancel;
if (dmMain.dtsCourseSlovar.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseSlovar.Cancel;
Close;
end;
procedure TfrmProjectEdit.btnOKClick(Sender: TObject);
begin
if (dmMain.dtsCourses.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourses.Post;
if (dmMain.dtsCourseNews.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseNews.Post;
if (dmMain.dtsCourseLections.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseLections.Post;
if (dmMain.dtsCourseLab.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseLab.Post;
if (dmMain.dtsCoursePrak.State in [dsInsert,dsEdit] ) then
dmMain.dtsCoursePrak.Post;
if (dmMain.dtsCourseWork.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseWork.Post;
if (dmMain.dtsCourseLiter.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseLiter.Post;
if (dmMain.dtsCourseSlovar.State in [dsInsert,dsEdit] ) then
dmMain.dtsCourseSlovar.Post;
Close;
end;
procedure TfrmProjectEdit.DBNavigator1Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsCourseNews.Insert;
dmMain.dtsCourseNews.FieldByName('COURSE_ID').AsInteger :=
dmMain.dtsCourses.FieldByName('COURSE_ID').AsInteger;
dmMain.dtsCourseNews.FieldByName('AUTHOR_ID').AsInteger := frmMain.curUserId;
dmMain.dtsCourseNews.FieldByName('DATE_ADD').AsDateTime := Now;
end;
end;
procedure TfrmProjectEdit.DBNavigatorLectionsClick(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsCourseLections.Insert;
dmMain.dtsCourseLections.FieldByName('COURSE_ID').AsInteger :=
dmMain.dtsCourses.FieldByName('COURSE_ID').AsInteger;
dmMain.dtsCourseLections.FieldByName('AUTHOR_ID').AsInteger := frmMain.curUserId;
frmLectionEdit.ShowModal;
end;
end;
procedure TfrmProjectEdit.btnOpenLectionClick(Sender: TObject);
begin
frmLectionEdit.ShowModal;
end;
procedure TfrmProjectEdit.DBNavigator2Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsCourseLiter.Insert;
dmMain.dtsCourseLiter.FieldByName('COURSE_ID').AsInteger :=
dmMain.dtsCourses.FieldByName('COURSE_ID').AsInteger;
end;
end;
procedure TfrmProjectEdit.DBNavigator3Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsCourseSlovar.Insert;
dmMain.dtsCourseSlovar.FieldByName('COURSE_ID').AsInteger :=
dmMain.dtsCourses.FieldByName('COURSE_ID').AsInteger;
end;
end;
procedure TfrmProjectEdit.DBNavigator4Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsCourseWork.Insert;
dmMain.dtsCourseWork.FieldByName('COURSE_ID').AsInteger :=
dmMain.dtsCourses.FieldByName('COURSE_ID').AsInteger;
end;
end;
procedure TfrmProjectEdit.DBNavigator5Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsCourseLab.Insert;
dmMain.dtsCourseLab.FieldByName('COURSE_ID').AsInteger :=
dmMain.dtsCourses.FieldByName('COURSE_ID').AsInteger;
frmLabEdit.ShowModal;
end;
end;
procedure TfrmProjectEdit.btnOpenLabClick(Sender: TObject);
begin
frmLabEdit.ShowModal;
end;
procedure TfrmProjectEdit.DBNavigator6Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsCoursePrak.Insert;
dmMain.dtsCoursePrak.FieldByName('COURSE_ID').AsInteger :=
dmMain.dtsCourses.FieldByName('COURSE_ID').AsInteger;
frmPrakEdit.ShowModal;
end;
end;
procedure TfrmProjectEdit.btnOpenPrakClick(Sender: TObject);
begin
frmPrakEdit.ShowModal;
end;
procedure TfrmProjectEdit.DBNavigator7Click(Sender: TObject;
Button: TNavigateBtn);
begin
if (Button=nbInsert) then
begin
dmMain.dtsCourseTest.Insert;
dmMain.dtsCourseTest.FieldByName('COURSE_ID').AsInteger :=
dmMain.dtsCourses.FieldByName('COURSE_ID').AsInteger;
dmMain.dtsCourseTest.FieldByName('AUTHOR_ID').AsInteger := frmMain.curUserId;
dmMain.dtsCourseTest.FieldByName('DATE_ADD').AsDateTime := Now;
frmTestEdit.ShowModal;
end;
end;
procedure TfrmProjectEdit.btnOpenTestClick(Sender: TObject);
begin
frmTestEdit.ShowModal;
end; end.