ПРИЛОЖЕНИЕ Л
ТЕКСТ ПРОГРАММЫ
// Листинг окна приветсвия
unit Glavnai;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Polzovatel, Menus, StdCtrls, jpeg, ExtCtrls, ComCtrls, Gauges,
DBTables;
type
TFrmGlavnai = class(TForm) //форма запускная
Fon: TImage; // фон формы
Label1: TLabel; // методические указания
Label2: TLabel;
Timer1: TTimer;
ProcZagr: TProgressBar;
Session1: TSession;
Label3: TLabel; // команда меню файл-выход
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
// procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmGlavnai: TFrmGlavnai;
i: Variant;
implementation
uses StrUtils;
{$R *.dfm}
// Активизация формы
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
procedure TFrmGlavnai.FormActivate(Sender: TObject);
const
Document = 'Tables\';
var n: Integer ;
strDoc: String;
begin
strDoc := ExtractFilePath(Application.ExeName); // определение пути к текущему проекту
n := Length(strDoc); // определение длины строки (пути к проекту)
strdoc:=LeftStr(strDoc, n-9)+Document; //от основного
with Session do begin
ConfigMode:=cmSession;
try
AddStandardAlias('MetodUk',strDoc,'PARADOX');
finally
ConfigMode:=cmAll;
end;
end;
FrmGlavnai.Timer1.Enabled := true;
i:=1;
end;
// Таймер
procedure TFrmGlavnai.Timer1Timer(Sender: TObject);
begin
repeat
if i = 100 then begin
FrmPolzov.Visible:=true; // отражение формы "Пользователь"
FrmGlavnai.Visible:=false; // скрытие формы "Главная"
FrmGlavnai.Timer1.Enabled := False;
exit;
end
else begin
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
i:=i+0.01;
end;
ProcZagr.StepIt;
until i =100;
end;
end.
// Листинг окна "Методические указания"
unit MetUkGr;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, ExtCtrls, ComCtrls, Buttons, ToolWin, Ocenki, SrokiV,
OleCtnrs, OleCtrls, SHDocVw, DBTables, ImgList;
type
TfrmMetUkGr = class(TForm)
ToolBar1: TToolBar;
bbtnExit: TBitBtn;
bbtnSlovar: TBitBtn;
bbtnSroki: TBitBtn;
BitBtn4: TBitBtn;
ScrollBox2: TScrollBox;
WebBrowser1: TWebBrowser;
BBtnKontr: TBitBtn;
StatusBar1: TStatusBar;
Panel1: TPanel;
ScrollBox1: TScrollBox;
TreeView1: TTreeView;
bbtnSpravka: TBitBtn;
ImageListMetodUkGr: TImageList;
procedure ExiClick(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure bbtnSrokiClick(Sender: TObject);
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
procedure bbtnExitClick(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure bbtnSlovarClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure BBtnKontrClick(Sender: TObject);
procedure bbtnSpravkaClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMetUkGr: TfrmMetUkGr;
implementation
uses StrUtils, Polzovatel, Glavnai, Slovar, Kontr, Spravka;
{$R *.dfm}
procedure TfrmMetUkGr.ExiClick(Sender: TObject);
begin
frmMetUkGr.Close;
end;
// Нажатие кнопки "Оценки"
procedure TfrmMetUkGr.BitBtn4Click(Sender: TObject);
var
IdGrup, Famss, Imss, Otchss: string;
begin
frmOcenci.StatusBar1.Panels[0].Text:=DateToStr(Now);
frmOcenci.tblOcenki.Open;
idGrup:=Grup;
Famss:= Fams;
imss:= Ims;
otchss:= Otchs;
//if Grup <> '' and Fams <>'' then begin
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
with frmOcenci.Query1 do begin
close;
SQL.Clear;
SQL.Add('Select IdGr, Fam, Name, Otch, Oc1, Oc2, Oc3, Oc4, Oc5, Oc6, Oc7, Oc8');
SQL.Add('FROM "..\Tables\Ocenki.db"');
SQL.Add('WHERE');
SQL.Add('(Idgr="'+IdGrup+'") and (fam="'+Famss+'") and (Name="'+Imss+'") and (Otch="'+Otchss+'")');
// SQL.Add();
Open;
end;
if frmOcenci.Query1.RecordCount <>0 then begin
frmOcenci.GurOcData.DataSet:=frmOcenci.Query1;
frmOcenci.Visible:=True;
end
else Begin
ShowMessage('В БД нет записей, удовлетворяющих '+'критерию запроса');
end;
end;
// Нажатие кнопки "Сроки сдачи"
procedure TfrmMetUkGr.bbtnSrokiClick(Sender: TObject);
begin
frmSroki.Visible:=True;
end;
procedure TfrmMetUkGr.bbtnExitClick(Sender: TObject);
begin
Close;
frmPolzov.Visible :=True;
end;
procedure TfrmMetUkGr.TreeView1Click(Sender: TObject);
const
Document = 'Metoxd_uk\';
var m, n: Integer ;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
strDoc: String;
begin
strDoc := ExtractFilePath(Application.ExeName); // определение пути к текущему проекту
n := Length(strDoc); // определение длины строки (пути к проекту)
strdoc:=LeftStr (strDoc, n-9)+Document; //от основного
m := TreeView1.Selected.Index;
if frmMetUkGr.TreeView1.Selected.Level = 0 then begin
if m = 0 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Sodreg.htm');
StatusBar1.Panels[2].Text:= 'Содержание'
end;
if m = 1 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Vvedenie.htm');
StatusBar1.Panels[2].Text:= 'Введение'
end;
if m = 2 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Sodreg.htm');
StatusBar1.Panels[2].Text:= 'Содрежание'
end;
if m = 3 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Lit.htm');
StatusBar1.Panels[2].Text:= 'Литература'
end;
end
else if frmMetUkGr.TreeView1.Selected.Level = 1 then begin
if m = 0 then begin
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Metod_ uk1.htm');
StatusBar1.Panels[2].Text:= 'Самостоятельная работа № 1'
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
end;
if m = 1 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Metod_ uk2.htm');
StatusBar1.Panels[2].Text:= 'Самостоятельная работа № 2'
end;
if m = 2 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Metod_ uk3.htm');
StatusBar1.Panels[2].Text:= 'Самостоятельная работа № 3'
end;
if m = 3 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Metod_ uk4.htm');
StatusBar1.Panels[2].Text:= 'Самостоятельная работа № 4'
end;
if m = 4 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Metod_ uk5.htm');
StatusBar1.Panels[2].Text:= 'Самостоятельная работа № 5'
end;
if m = 5 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Metod_ uk6.htm');
StatusBar1.Panels[2].Text:= 'Самостоятельная работа № 6'
end;
if m = 6 then begin
frmMetUkGr.WebBrowser1.Navigate('');
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Metod_ uk7.htm');
StatusBar1.Panels[2].Text:= 'Самостоятельная работа № 7'
end;
if m = 7 then begin
frmMetUkGr.WebBrowser1.Navigate('');
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Metod_ uk8.htm');
StatusBar1.Panels[2].Text:= 'Самостоятельная работа № 8'
end;
end;
end;
procedure TfrmMetUkGr.bbtnSlovarClick(Sender: TObject);
begin
frmSlovar.visible :=true;
end;
procedure TfrmMetUkGr.FormActivate(Sender: TObject);
const
Document = 'Metoxd_uk\';
var n: Integer ;
strDoc: String;
begin
frmMetUkGr.Align := alClient;
frmMetUkGr.ScrollBox1.Align := alClient;
frmMetUkGr.ScrollBox2.Align := alClient;
frmMetUkGr.TreeView1.Align :=alClient;
frmMetUkGr.WebBrowser1.Align :=alClient;
StatusBar1.Panels[0].Text:=DateToStr(Now);
strDoc := ExtractFilePath(Application.ExeName); // определение пути к текущему проекту
n := Length(strDoc); // определение длины строки (пути к проекту)
strdoc:=LeftStr (strDoc, n-9)+Document; //от основного
frmMetUkGr.WebBrowser1.Navigate(strDoc + 'Sodreg.htm');
end;
procedure TfrmMetUkGr.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
TreeView1Click(Sender);
end;
procedure TfrmMetUkGr.BBtnKontrClick(Sender: TObject);
begin
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
frmKontrol.visible :=true;
end;
procedure TfrmMetUkGr.bbtnSpravkaClick(Sender: TObject);
const
Document = 'Spravka\';
var n: Integer ;
Doc: String;
begin
Doc := ExtractFilePath(Application.ExeName); // определение пути к текущему проекту
n := Length(Doc); // определение длины строки (пути к проекту)
doc:=LeftStr(Doc, n-9)+Document; //от основного
frmSpravk.WebBrowser1.Navigate(Doc + 'frmMetodUkGr.htm');
frmSpravk.Visible :=True;
end;
end.
// Листинг формы "Журнал оценок"
unit GurOc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, OleCtrls, ExtCtrls, ComCtrls, Menus, Buttons, ToolWin,
DBCtrls, Grids, DBGrids, DB, DBTables, RpRave, RpDefine, RpCon, RpConDS,
RpConBDE, RpRender, RpRenderCanvas, RpRenderPreview;
type
TfrmGurOc = class(TForm) // форма "Журанал оценок"
GurOcMenu: TMainMenu; // команда меню Правка
// команда меню Правка
// "Добавить"
mSpravka: TMenuItem; // панель управления
DBGridOcenki: TDBGrid;
Query1: TQuery;
tblOcenki: TTable;
GurOcData: TDataSource;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
mExit: TMenuItem;
GroupBoxStud: TGroupBox;
LabGr: TLabel;
LabFam: TLabel;
LabIm: TLabel;
LabOtch: TLabel;
GroupBoxOcenki: TGroupBox;
SrRabNum: TComboBox;
Ocenk: TComboBox;
LabSr: TLabel;
LabOcenki: TLabel;
Panel: TPanel;
bbtnAll: TBitBtn;
bbtnProsmotr: TBitBtn;
btnTabl: TButton;
btnDel: TButton;
btnPerv: TButton;
btnPred: TButton;
btnSled: TButton;
btnPosled: TButton;
btnPech: TButton;
RvDataSetConnection1: TRvDataSetConnection;
RvProject1: TRvProject;
OchistkaPoley: TMenuItem;
tblGrupps: TTable;
tblGruppsIdgr: TStringField;
tblGruppsVrIz: TStringField;
SpisokSource: TDataSource;
Gruppa: TComboBox;
Famyli: TComboBox;
tlbStudent: TTable;
SursStud: TDataSource;
Imja: TComboBox;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
Otchest: TComboBox;
RvQueryConnection1: TRvQueryConnection; // кнопка "Промостр"
procedure kmSaveClick(Sender: TObject);
procedure bbtnProsmotrClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure bbtnAllClick(Sender: TObject);
procedure mExitClick(Sender: TObject);
procedure btnTablClick(Sender: TObject);
procedure btnDelClick(Sender: TObject);
procedure DBGridOcenkiCellClick(Column: TColumn);
procedure btnPervClick(Sender: TObject);
procedure btnPredClick(Sender: TObject);
procedure btnSledClick(Sender: TObject);
procedure btnPosledClick(Sender: TObject);
procedure btnPechClick(Sender: TObject);
procedure OchistkaPoleyClick(Sender: TObject);
procedure OcenkChange(Sender: TObject);
procedure GruppaExit(Sender: TObject);
procedure FamyliExit(Sender: TObject);
procedure ImjaExit(Sender: TObject);
procedure OtchestExit(Sender: TObject);
procedure GruppaKeyPress(Sender: TObject; var Key: Char);
procedure ImjaKeyPress(Sender: TObject; var Key: Char);
procedure OtchestKeyPress(Sender: TObject; var Key: Char);
procedure SrRabNumKeyPress(Sender: TObject; var Key: Char);
procedure FamyliKeyPress(Sender: TObject; var Key: Char);
procedure DBGridOcenkiKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure mSpravkaClick(Sender: TObject);
procedure GruppaChange(Sender: TObject);
procedure FamyliChange(Sender: TObject);
procedure ImjaChange(Sender: TObject);
procedure OtchestChange(Sender: TObject);
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmGurOc: TfrmGurOc;
a : integer;
implementation
uses KonstrMU, Math, StrUtils, Spravka;
{$R *.dfm}
// вызов команды меню Файл-Сохранить
procedure TfrmGurOc.kmSaveClick(Sender: TObject);
begin
frmGurOc.tblOcenki.Post;
end;
// Нажатие копки "Просмостр"
procedure TfrmGurOc.bbtnProsmotrClick(Sender: TObject);
var
idgr:Variant;
begin
frmGurOc.tblOcenki.Close;
frmGurOc.tblOcenki.Open;
idgr:=InputBox('Выборка информации из БД',
'Укажите группу и щелкните на ОК','');
if idgr <> '' then
begin
with frmGurOc.Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT IdGr, Fam, Name, Otch, Oc1, Oc2, Oc3, Oc4, Oc5, Oc6, Oc7, Oc8');
SQL.Add('FROM "..\Tables\Ocenki.db"');
SQL.Add('WHERE');
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
SQL.Add('(IdGr="' +idgr+ '")');
//SQL.Add('ORDER BY Fam, Name, IdGr');
Open;
end;
if Query1.RecordCount <>0 then
frmGurOc.GurOcData.DataSet:=Query1
else
Begin
ShowMessage('В БД нет записей, удовлетворяющих '+'критерию запроса');
frmGurOc.GurOcData.DataSet:= frmGurOc.tblOcenki;
end;
end;
end;
// при активации формы
procedure TfrmGurOc.FormActivate(Sender: TObject);
const
Document = 'Otchets\GurOc.rav';
var m, n: Integer ;
strDoc: String;
begin
strDoc := ExtractFilePath(Application.ExeName); // определение пути к текущему проекту
n := Length(strDoc); // определение длины строки (пути к проекту)
strdoc:=LeftStr(strDoc, n-9)+Document; //от основного
frmGurOc.RvProject1.ProjectFile := strDoc;
//frmGurOc.StatusBar1.Panels[0].Text:=DateToStr(Now);
Self.DBGridOcenki.Visible:=False;
Self.Height:=264;
a:=0;
frmGurOc.tblGrupps.Open;
frmGurOc.tblGrupps.First;
frmGurOc.Gruppa.Items.Clear;
while not frmGurOc.tblGrupps.Eof do begin
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
frmGurOc.Gruppa.Items.Insert(a,frmGurOc.tblGrupps.Fields[0].AsString);
a :=a+1;
frmGurOc.tblGrupps.Next;
end;
frmGurOc.tblOcenki.Open;
frmGurOc.GurOcData.DataSet:=frmGurOc.tblOcenki;
end;
// нажатие кнопки ""Все записи"
procedure TfrmGurOc.bbtnAllClick(Sender: TObject);
begin
frmGurOc.GurOcData.DataSet:=frmGurOc.tblOcenki;
DBGridOcenki.DataSource:= frmGurOc.GurOcData;
end;
// нажате команды меню "Закрыть"
procedure TfrmGurOc.mExitClick(Sender: TObject);
begin
frmGurOc.tblOcenki.Refresh;
frmGurOc.tblOcenki.Close;
frmGurOc.tblGrupps.Close;
frmGurOc.Close;
end;
// нажатие кнопки "Таблица"
procedure TfrmGurOc.btnTablClick(Sender: TObject);
begin
if DBGridOcenki.Visible = true then
// скрыть таблицу
begin
Self.DBGridOcenki.Visible:=False;
Self.Height:=264;
btnDel.Enabled:=False;
btnPerv.Enabled:=False;
btnPred.Enabled:=False;
btnSled.Enabled:=False;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
btnPosled.Enabled:=False;
bbtnAll.Enabled:=False;
bbtnProsmotr.Enabled:=False;
end
else
// ввести таблицу
begin
Self.DBGridOcenki.Visible:=True;
self.Height:=480;
btnDel.Enabled:=True;
btnPerv.Enabled:=True;
btnPred.Enabled:=True;
btnSled.Enabled:=True;
btnPosled.Enabled:=True;
bbtnAll.Enabled:=True;
bbtnProsmotr.Enabled:=True;
end;
end;
// Нажатие кнопки "Удалить"
procedure TfrmGurOc.btnDelClick(Sender: TObject);
begin
frmGurOc.tblOcenki.Delete;
end;
// Редактирование записей
procedure TfrmGurOc.DBGridOcenkiCellClick(Column: TColumn);
begin
frmGurOc.Gruppa.Enabled :=False;
frmGurOc.Famyli.Enabled :=False;
frmGurOc.Imja.Enabled :=False;
frmGurOc.Otchest.Enabled :=False;
frmGurOc.Gruppa.Text := frmGurOc.tblOcenki.Fields[1].AsString;
frmGurOc.Famyli.Text := frmGurOc.tblOcenki.Fields[2].AsString;
frmGurOc.Imja.Text := frmGurOc.tblOcenki.Fields[3].AsString;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
frmGurOc.Otchest.Text := frmGurOc.tblOcenki.Fields[4].AsString;
frmGurOc.SrRabNum.Text := '1';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[5].AsString;
if DBGridOcenki.SelectedIndex = 4 then begin
frmGurOc.SrRabNum.Text := '1';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[5].AsString;
end;
if DBGridOcenki.SelectedIndex = 5 then begin
frmGurOc.SrRabNum.Text := '2';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[6].AsString;
end;
if DBGridOcenki.SelectedIndex = 6 then begin
frmGurOc.SrRabNum.Text := '3';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[7].AsString;
end;
if DBGridOcenki.SelectedIndex = 7 then begin
frmGurOc.SrRabNum.Text := '4';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[8].AsString;
end;
if DBGridOcenki.SelectedIndex = 8 then begin
frmGurOc.SrRabNum.Text := '5';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[9].AsString;
end;
if DBGridOcenki.SelectedIndex = 9 then begin
frmGurOc.SrRabNum.Text := '6';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[10].AsString;
end;
if DBGridOcenki.SelectedIndex = 10 then begin
frmGurOc.SrRabNum.Text := '7';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[11].AsString;
end;
if DBGridOcenki.SelectedIndex = 11 then begin
frmGurOc.SrRabNum.Text := '8';
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[12].AsString;
end;
end;
// Нажатие кнопки "Первая"
procedure TfrmGurOc.btnPervClick(Sender: TObject);
begin
if frmGurOc.tblOcenki.Bof = False then begin
FrmGurOc.tblOcenki.First;
frmGurOc.DBGridOcenki.SetFocus;
end;
end;
// Нажатие кнопки "Предыдущая"
procedure TfrmGurOc.btnPredClick(Sender: TObject);
begin
if frmGurOc.tblOcenki.Bof = false then begin
frmGurOc.tblOcenki.Prior;
frmGurOc.DBGridOcenki.SetFocus;
end;
end;
// Нажатие кнопки "Следующая"
procedure TfrmGurOc.btnSledClick(Sender: TObject);
begin
if frmGurOc.tblOcenki.Eof = false then begin
frmGurOc.tblOcenki.Next;
frmGurOc.DBGridOcenki.SetFocus;
end;
end;
// Нажатие кнопки "Последняя"
procedure TfrmGurOc.btnPosledClick(Sender: TObject);
begin
if frmGurOc.tblOcenki.Eof = false then begin
frmGurOc.tblOcenki.Last;
frmGurOc.DBGridOcenki.SetFocus;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
end;
end;
//Нажатие кнопки "Печать"
procedure TfrmGurOc.btnPechClick(Sender: TObject);
var
idgr:Variant;
begin
frmGurOc.tblOcenki.Close;
frmGurOc.tblOcenki.Open;
idgr:=InputBox('Выборка информации из БД',
'Укажите группу и щелкните на ОК','');
if idgr <> '' then
begin
with frmGurOc.Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT IdGr, Fam, Name, Otch, Oc1, Oc2, Oc3, Oc4, Oc5, Oc6, Oc7, Oc8');
SQL.Add('FROM "..\Tables\Ocenki.db"');
SQL.Add('WHERE');
SQL.Add('(IdGr="' +idgr+ '")');
//SQL.Add('ORDER BY Fam, Name, IdGr');
Open;
end;
if Query1.RecordCount <>0 then
frmGurOc.GurOcData.DataSet:=Query1
else
Begin
ShowMessage('В БД нет записей, удовлетворяющих '+'критерию запроса');
frmGurOc.GurOcData.DataSet:= frmGurOc.tblOcenki;
end;
end;
RvProject1.ExecuteReport('Report3');
end;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
procedure TfrmGurOc.OchistkaPoleyClick(Sender: TObject);
begin
frmGurOc.Gruppa.Enabled := true;
// frmGurOc.Famyli.Enabled := true;
// frmGurOc.Imja.Enabled := true;
// frmGurOc.Otchest.Enabled := true;
frmGurOc.SrRabNum.Enabled := true;
frmGurOc.Ocenk.Enabled := true;
frmGurOc.Gruppa.Text := '';
frmGurOc.Famyli.Text := '';
frmGurOc.Imja.Text := '';
frmGurOc.Otchest.Text := '';
frmGurOc.SrRabNum.Text :='';
frmGurOc.Ocenk.Text :='';
frmGurOc.Gruppa.SetFocus;
frmGurOc.tblOcenki.Append;
end;
procedure TfrmGurOc.OcenkChange(Sender: TObject);
begin
frmGurOc.tblOcenki.Edit;
if frmGurOc.SrRabNum.Text = '1' then begin
frmGurOc.tblOcenki.Fields[5].AsString := frmGurOc.Ocenk.Text;
end;
if frmGurOc.SrRabNum.Text = '2' then begin
frmGurOc.tblOcenki.Fields[6].AsString := frmGurOc.Ocenk.Text;
end;
if frmGurOc.SrRabNum.Text = '3' then begin
frmGurOc.tblOcenki.Fields[7].AsString := frmGurOc.Ocenk.Text;
end;
if frmGurOc.SrRabNum.Text = '4' then begin
frmGurOc.tblOcenki.Fields[8].AsString := frmGurOc.Ocenk.Text;
end;
if frmGurOc.SrRabNum.Text = '5' then begin
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
frmGurOc.tblOcenki.Fields[9].AsString := frmGurOc.Ocenk.Text;
end;
if frmGurOc.SrRabNum.Text = '6' then begin
frmGurOc.tblOcenki.Fields[10].AsString := frmGurOc.Ocenk.Text;
end;
if frmGurOc.SrRabNum.Text = '7' then begin
frmGurOc.tblOcenki.Fields[11].AsString := frmGurOc.Ocenk.Text;
end;
if frmGurOc.SrRabNum.Text = '8' then begin
frmGurOc.tblOcenki.Fields[12].AsString := frmGurOc.Ocenk.Text;
end;
frmGurOc.tblOcenki.Post;
end;
procedure TfrmGurOc.GruppaExit(Sender: TObject);
begin
if frmGurOc.Gruppa.Text ='' then begin
if (frmGurOc.Gruppa.Text = '') and (frmGurOc.Famyli.Text = '') and
(frmGurOc.Imja.Text = '') and (frmGurOc.Otchest.Text ='') then begin
MessageDlg('Есть не заполненные поля, пожалуйста заполните', mtWarning, [mbOK], 0 );
exit;
end;
end
else begin
frmGurOc.tblOcenki.Fields[1].AsString := frmGurOc.Gruppa.Text;
frmGurOc.tblOcenki.Fields[2].AsString := frmGurOc.Famyli.Text;
frmGurOc.tblOcenki.Fields[3].AsString := frmGurOc.Imja.Text;
frmGurOc.tblOcenki.Fields[4].AsString := frmGurOc.Otchest.Text;
end;
// frmGurOc.tblOcenki.Post;
end;
procedure TfrmGurOc.FamyliExit(Sender: TObject);
begin
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
if frmGurOc.Gruppa.Text ='' then begin
if (frmGurOc.Gruppa.Text = '') and (frmGurOc.Famyli.Text = '') and
(frmGurOc.Imja.Text = '') and (frmGurOc.Otchest.Text ='') then begin
MessageDlg('Есть не заполненные поля, пожалуйста заполните', mtWarning, [mbOK], 0 );
exit;
end;
end
else begin
frmGurOc.tblOcenki.Fields[1].AsString := frmGurOc.Gruppa.Text;
frmGurOc.tblOcenki.Fields[2].AsString := frmGurOc.Famyli.Text;
frmGurOc.tblOcenki.Fields[3].AsString := frmGurOc.Imja.Text;
frmGurOc.tblOcenki.Fields[4].AsString := frmGurOc.Otchest.Text;
end;
// frmGurOc.tblOcenki.Post;
end;
procedure TfrmGurOc.ImjaExit(Sender: TObject);
begin
if frmGurOc.Gruppa.Text ='' then begin
if (frmGurOc.Gruppa.Text = '') and (frmGurOc.Famyli.Text = '') and
(frmGurOc.Imja.Text = '') and (frmGurOc.Otchest.Text ='') then begin
MessageDlg('Есть не заполненные поля, пожалуйста заполните', mtWarning, [mbOK], 0 );
exit;
end;
end
else begin
frmGurOc.tblOcenki.Fields[1].AsString := frmGurOc.Gruppa.Text;
frmGurOc.tblOcenki.Fields[2].AsString := frmGurOc.Famyli.Text;
frmGurOc.tblOcenki.Fields[3].AsString := frmGurOc.Imja.Text;
frmGurOc.tblOcenki.Fields[4].AsString := frmGurOc.Otchest.Text;
end;
// frmGurOc.tblOcenki.Post;
end;
procedure TfrmGurOc.OtchestExit(Sender: TObject);
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
begin
if frmGurOc.Gruppa.Text ='' then begin
if (frmGurOc.Gruppa.Text = '') and (frmGurOc.Famyli.Text = '') and
(frmGurOc.Imja.Text = '') and (frmGurOc.Otchest.Text ='') then begin
MessageDlg('Есть не заполненные поля, пожалуйста заполните', mtWarning, [mbOK], 0 );
exit;
end;
end
else begin
frmGurOc.tblOcenki.Fields[1].AsString := frmGurOc.Gruppa.Text;
frmGurOc.tblOcenki.Fields[2].AsString := frmGurOc.Famyli.Text;
frmGurOc.tblOcenki.Fields[3].AsString := frmGurOc.Imja.Text;
frmGurOc.tblOcenki.Fields[4].AsString := frmGurOc.Otchest.Text;
end;
// frmGurOc.tblOcenki.Post;
end;
procedure TfrmGurOc.GruppaKeyPress(Sender: TObject; var Key: Char);
begin
case Key oF
#13: frmGurOc.Famyli.SetFocus;
end;
end;
procedure TfrmGurOc.ImjaKeyPress(Sender: TObject; var Key: Char);
begin
case Key oF
#13: frmGurOc.Otchest.SetFocus;
end;
end;
procedure TfrmGurOc.OtchestKeyPress(Sender: TObject; var Key: Char);
begin
case Key oF
#13: frmGurOc.SrRabNum.SetFocus;
end;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
end;
procedure TfrmGurOc.SrRabNumKeyPress(Sender: TObject; var Key: Char);
begin
case Key oF
#13: frmGurOc.Ocenk.SetFocus;
end;
end;
procedure TfrmGurOc.FamyliKeyPress(Sender: TObject; var Key: Char);
begin
case Key oF
#13: frmGurOc.Imja.SetFocus;
end;
end;
procedure TfrmGurOc.DBGridOcenkiKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
frmGurOc.Gruppa.Enabled :=False;
frmGurOc.Famyli.Enabled :=False;
frmGurOc.Imja.Enabled :=False;
frmGurOc.Otchest.Enabled :=False;
frmGurOc.Gruppa.Text := frmGurOc.tblOcenki.Fields[1].AsString;
frmGurOc.Famyli.Text := frmGurOc.tblOcenki.Fields[2].AsString;
frmGurOc.Imja.Text := frmGurOc.tblOcenki.Fields[3].AsString;
frmGurOc.Otchest.Text := frmGurOc.tblOcenki.Fields[4].AsString;
frmGurOc.SrRabNum.Text := '1';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[5].AsString;
if DBGridOcenki.SelectedIndex = 4 then begin
frmGurOc.SrRabNum.Text := '1';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[5].AsString;
end;
if DBGridOcenki.SelectedIndex = 5 then begin
frmGurOc.SrRabNum.Text := '2';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[6].AsString;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
end;
if DBGridOcenki.SelectedIndex = 6 then begin
frmGurOc.SrRabNum.Text := '3';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[7].AsString;
end;
if DBGridOcenki.SelectedIndex = 7 then begin
frmGurOc.SrRabNum.Text := '4';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[8].AsString;
end;
if DBGridOcenki.SelectedIndex = 8 then begin
frmGurOc.SrRabNum.Text := '5';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[9].AsString;
end;
if DBGridOcenki.SelectedIndex = 9 then begin
frmGurOc.SrRabNum.Text := '6';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[10].AsString;
end;
if DBGridOcenki.SelectedIndex = 10 then begin
frmGurOc.SrRabNum.Text := '7';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[11].AsString;
end;
if DBGridOcenki.SelectedIndex = 11 then begin
frmGurOc.SrRabNum.Text := '8';
frmGurOc.Ocenk.Text := frmGurOc.tblOcenki.Fields[12].AsString;
end;
end;
procedure TfrmGurOc.mSpravkaClick(Sender: TObject);
const
Document = 'Spravka\';
var n: Integer ;
Doc: String;
begin
Doc := ExtractFilePath(Application.ExeName); // определение пути к текущему проекту
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
n := Length(Doc); // определение длины строки (пути к проекту)
doc:=LeftStr(Doc, n-9)+Document; //от основного
frmSpravk.WebBrowser1.Navigate(Doc + 'frmGurOc.htm');
frmSpravk.Visible :=True;
end;
procedure TfrmGurOc.GruppaChange(Sender: TObject);
begin
a:=0;
frmGurOc.tlbStudent.Open;
frmGurOc.tlbStudent.First;
frmGurOc.Famyli.Items.Clear;
while not frmGurOc.tlbStudent.Eof do begin
if frmGurOc.tlbStudent.Fields[1].AsString = frmGurOc.Gruppa.Text then begin
frmGurOc.Famyli.Items.Insert(a,frmGurOc.tlbStudent.Fields[2].AsString);
a :=a+1;
frmGurOc.tlbStudent.Next;
end
else begin
frmGurOc.tlbStudent.Next;
end;
end;
if frmGurOc.Gruppa.Text <> '' then begin
frmGurOc.Famyli.Enabled := true;
frmGurOc.Famyli.Text :='';
frmGurOc.Imja.Text :='';
frmGurOc.Otchest.Text :='';
frmGurOc.Famyli.SetFocus;
end
else begin
frmGurOc.Famyli.Enabled := False;
frmGurOc.Famyli.Text :='';
end;
end;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
procedure TfrmGurOc.FamyliChange(Sender: TObject);
begin
a:=0;
frmGurOc.tlbStudent.Open;
frmGurOc.tlbStudent.First;
frmGurOc.imja.Items.Clear;
while not frmGurOc.tlbStudent.Eof do begin
if (frmGurOc.tlbStudent.Fields[1].AsString = frmGurOc.Gruppa.Text) and
(frmGurOc.tlbStudent.Fields[2].AsString = frmGurOc.Famyli.Text) then begin
frmGurOc.Imja.Items.Insert(a,frmGurOc.tlbStudent.Fields[3].AsString);
a :=a+1;
frmGurOc.tlbStudent.Next;
end
else begin
frmGurOc.tlbStudent.Next;
end;
end;
if frmGurOc.Famyli.Text <> '' then begin
frmGurOc.Imja.Enabled := true;
frmGurOc.Imja.Text :='';
frmGurOc.Imja.SetFocus;
end
else begin
frmGurOc.Imja.Enabled := False;
frmGurOc.Imja.Text :='';
end;
end;
procedure TfrmGurOc.ImjaChange(Sender: TObject);
begin
a:=0;
frmGurOc.tlbStudent.Open;
frmGurOc.tlbStudent.First;
frmGurOc.Otchest.Items.Clear;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
while not frmGurOc.tlbStudent.Eof do begin
if (frmGurOc.tlbStudent.Fields[1].AsString = frmGurOc.Gruppa.Text) and
(frmGurOc.tlbStudent.Fields[2].AsString = frmGurOc.Famyli.Text) and
(frmGurOc.tlbStudent.Fields[3].AsString = frmGurOc.Imja.Text) then begin
frmGurOc.Otchest.Items.Insert(a,frmGurOc.tlbStudent.Fields[4].AsString);
a :=a+1;
frmGurOc.tlbStudent.Next;
end
else begin
frmGurOc.tlbStudent.Next;
end;
end;
if frmGurOc.Imja.Text <> '' then begin
frmGurOc.Otchest.Enabled := true;
frmGurOc.Otchest.Text :='';
frmGurOc.Otchest.SetFocus;
end
else begin
frmGurOc.Otchest.Enabled := False;
frmGurOc.Otchest.Text :='';
end;
end;
procedure TfrmGurOc.OtchestChange(Sender: TObject);
begin
if frmGurOc.Gruppa.Text ='' then begin
if (frmGurOc.Gruppa.Text = '') and (frmGurOc.Famyli.Text = '') and
(frmGurOc.Imja.Text = '') and (frmGurOc.Otchest.Text ='') then begin
MessageDlg('Есть не заполненные поля, пожалуйста заполните', mtWarning, [mbOK], 0 );
exit;
end;
end
else begin
frmGurOc.tblOcenki.Fields[1].AsString := frmGurOc.Gruppa.Text;
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Л
frmGurOc.tblOcenki.Fields[2].AsString := frmGurOc.Famyli.Text;
frmGurOc.tblOcenki.Fields[3].AsString := frmGurOc.Imja.Text;
frmGurOc.tblOcenki.Fields[4].AsString := frmGurOc.Otchest.Text;
end;
end;
end. // конец листинга
// Листинг окна "Оценки"
unit Ocenki;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids,StdCtrls, Buttons, ToolWin, ComCtrls,
ExtCtrls, DBCtrls, DB, DBTables, Mask, Polzovatel, ImgList, Menus
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.