Разработка программной оболочки «Методические указания по самостоятельной работе студентов по дисциплине «Базы данных» (Текст программы)

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Фрагмент текста работы

ПРИЛОЖЕНИЕ Л

ТЕКСТ ПРОГРАММЫ

// Листинг окна приветсвия

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

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.