Файл: Разработка автоматизированного рабочего места библиотекаря (на примере Университета Синергия).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.10.2023

Просмотров: 596

Скачиваний: 28

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ПРИЛОЖЕНИЕ

Файл Form_booka.pas

unit Form__book;
interface
uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, Vcl.Grids,

Vcl.DBGrids;
type

TForm_book = class(TForm)

DBGrid_book: TDBGrid;

Button_delete: TButton;

Button_update: TButton;

GroupBox1: TGroupBox;

Edit_shifr: TEdit;

Edit_name: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit_year: TEdit;

Edit_kolvo: TEdit;

DBGrid_type: TDBGrid;

DBGrid_izd: TDBGrid;

DBGrid_janr: TDBGrid;

DBGrid_add_janr: TDBGrid;

Button1: TButton;

Button2: TButton;

Label_id: TLabel;

Button3: TButton;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

procedure add_janr;

procedure clear_label;

procedure add_book;

procedure view_dbgrid_janr;

procedure view_book;

procedure view_dbgrid;

procedure view_add_janr;

procedure FormShow(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button_updateClick(Sender: TObject);

procedure Button_deleteClick(Sender: TObject);

procedure Edit_yearKeyPress(Sender: TObject; var Key: Char);

procedure Edit_kolvoKeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;
var

Form_book: TForm_book;
implementation
{$R *.dfm}
uses DataModule;
procedure TForm_book.FormCreate(Sender: TObject);

begin

clear_label;

end;
procedure TForm_book.Button1Click(Sender: TObject);

var buf_Zapros : string;

begin

if form_book.Label_id.Caption = '-1' then

begin

add_book;

end

else

add_janr;

end;
procedure TForm_book.Button2Click(Sender: TObject);

var buf_zapros : string;

begin

if form_book.DBGrid_add_janr.DataSource.DataSet.RecordCount <> 0 then

begin

buf_Zapros := 'DELETE FROM janr_book WHERE id_book = '

+form_book.Label_id.Caption

+' AND id_janr = '+form_book.DBGrid_add_janr.DataSource.DataSet.FieldByName('id_janr').AsString

+';';

datamodule1.Query_buf.Close;

datamodule1.Query_buf.SQL.Text := buf_Zapros;

datamodule1.Query_buf.ExecSQL;

datamodule1.Query_buf.Close;

view_add_janr;

end;
end;
procedure TForm_book.Button3Click(Sender: TObject);

var buf_Zapros, buf_kav : string;

run_procedure : boolean;

begin

run_procedure := True;

buf_kav := '''';

clear_label;
if form_book.Edit_name.Text = '' then

begin

run_procedure := False;

form_book.Label5.Caption := 'Не введено название книги';

end;
if form_book.Edit_shifr.Text = '' then

begin

run_procedure := False;

form_book.Label6.Caption := 'Не введен шифр';

end;
if length(form_book.Edit_year.Text) <> 4 then

begin

run_procedure := False;

form_book.Label7.Caption := 'Не верно введен год';

end;
if form_book.Edit_kolvo.Text = '' then

begin

run_procedure := False;

form_book.Label8.Caption := 'Не ввдено кол-во книг';

end;

if form_book.DBGrid_add_janr.DataSource.DataSet.RecordCount = 0 then

begin

run_procedure := False;

form_book.Label9.Caption := 'Не указан жанр';

end;
if form_book.DBGrid_izd.DataSource.DataSet.RecordCount = 0 then

begin

run_procedure := False;

form_book.Label10.Caption := 'Не указано издательство';

end;
if form_book.DBGrid_type.DataSource.DataSet.RecordCount = 0 then

begin

run_procedure := False;

form_book.Label11.Caption := 'Не указан тип книги';

end;
if run_procedure then

begin

buf_Zapros := 'UPDATE book SET type = '+form_book.DBGrid_type.DataSource.DataSet.FieldByName('id_type').AsString+','


+' shifr = '+buf_kav+form_book.Edit_shifr.Text+buf_kav+','

+' name_book = '+buf_kav+form_book.Edit_name.Text+buf_kav+','

+' izdatelstvo = '+form_book.DBGrid_izd.DataSource.DataSet.FieldByName('id_izdatelstvo').AsString+','

+' year_izdanie = '+form_book.Edit_year.Text+','

+' kolvo = '+form_book.Edit_kolvo.Text

+' WHERE nomer_book = '+form_book.Label_id.Caption+';';

datamodule1.Query_buf.Close;

datamodule1.Query_buf.SQL.Text := buf_Zapros;

datamodule1.Query_buf.ExecSQL;

datamodule1.Query_buf.Close;
view_book;

form_book.Label_id.Caption := '-1';

form_book.Edit_shifr.Text := '';

form_book.Edit_name.Text := '';

form_book.Edit_year.Text := '';

form_book.Edit_kolvo.Text := '';

view_add_janr;

end;
end;
procedure TForm_book.Button_deleteClick(Sender: TObject);

var buf_Zapros : string;

begin

if form_book.DBGrid_book.DataSource.DataSet.RecordCount <> 0 then

begin

buf_Zapros := 'DELETE FROM book WHERE nomer_book = '+form_book.DBGrid_book.DataSource.DataSet.FieldByName('код_книги').asstring+';';

datamodule1.Query_buf.Close;

datamodule1.Query_buf.SQL.Text := buf_Zapros;

datamodule1.Query_buf.ExecSQL;

datamodule1.Query_buf.Close;

view_book;

end;
end;
procedure TForm_book.Button_updateClick(Sender: TObject);

begin

if form_book.DBGrid_book.DataSource.DataSet.RecordCount <> 0 then

begin

form_book.Label_id.Caption := form_book.DBGrid_book.DataSource.DataSet.FieldByName('код_книги').AsString;

form_book.Edit_shifr.Text := form_book.DBGrid_book.DataSource.DataSet.FieldByName('Шифр').AsString;

form_book.Edit_name.Text := form_book.DBGrid_book.DataSource.DataSet.FieldByName('Название').AsString;

form_book.Edit_year.Text := form_book.DBGrid_book.DataSource.DataSet.FieldByName('Год_издания').AsString;

form_book.Edit_kolvo.Text := form_book.DBGrid_book.DataSource.DataSet.FieldByName('Кол_во').AsString;

view_add_janr;

end;

end;
procedure TForm_book.add_book;

var buf_Zapros, buf_kav : string;

run_procedure : boolean;

begin

run_procedure := True;

buf_kav := '''';

clear_label;
if form_book.Edit_name.Text = '' then

begin

run_procedure := False;

form_book.Label5.Caption := 'Не введено название книги';

end;
if form_book.DBGrid_janr.DataSource.DataSet.RecordCount = 0 then

begin

run_procedure := False;

form_book.Label12.Caption := 'Не выбран жанр';

end;

if form_book.Edit_shifr.Text = '' then

begin

run_procedure := False;

form_book.Label6.Caption := 'Не введен шифр';

end;
if length(form_book.Edit_year.Text) <> 4 then

begin

run_procedure := False;

form_book.Label7.Caption := 'Не верно введен год';

end;
if form_book.Edit_kolvo.Text = '' then

begin

run_procedure := False;

form_book.Label8.Caption := 'Не ввдено кол-во книг';

end;
//проверка закнчена

if run_procedure then

begin

buf_Zapros := 'INSERT INTO book (name_book) VALUES ('

+buf_kav+form_book.Edit_name.Text+buf_kav

+');';

datamodule1.Query_buf.Close;

datamodule1.Query_buf.SQL.Text := buf_Zapros;

datamodule1.Query_buf.ExecSQL;

datamodule1.Query_buf.Close;
//узнаю код книги

buf_zapros := 'Select @@Identity;';

datamodule1.Query_buf.Close;

datamodule1.Query_buf.SQL.Text := buf_zapros;

datamodule1.Query_buf.Open;

form_book.Label_id.Caption := datamodule1.Query_buf.Fields[0].AsString;

datamodule1.Query_buf.Close;

add_janr;

end;

end;
procedure TForm_book.add_janr;

var buf_Zapros : string;

add_janr : boolean;

begin

add_janr := True;

//проверячю есть ли жанр уже такой у книги

buf_Zapros := 'SELECT id_janr FROM janr_book WHERE id_janr =' + form_book.DBGrid_janr.DataSource.DataSet.FieldByName('id_janr').AsString

+' AND id_book = '+form_book.Label_id.Caption+';';

datamodule1.Query_buf.Close;

datamodule1.Query_buf.SQL.Text := buf_Zapros;


datamodule1.Query_buf.Open;

if datamodule1.Query_buf.RecordCount = 0 then

add_janr := True

else

add_janr := False;

datamodule1.Query_buf.Close;
if add_janr = True then

begin

buf_Zapros := 'INSERT INTO janr_book (id_book, id_janr) VALUES ('

+form_book.Label_id.Caption+','

+form_book.DBGrid_janr.DataSource.DataSet.FieldByName('id_janr').AsString

+');';

datamodule1.Query_buf.Close;

datamodule1.Query_buf.SQL.Text := buf_Zapros;

datamodule1.Query_buf.ExecSQL;

datamodule1.Query_buf.Close;

view_add_janr;

end;

end;
procedure TForm_book.clear_label;

begin

form_book.Label5.Caption := '';

form_book.Label6.Caption := '';

form_book.Label7.Caption := '';

form_book.Label8.Caption := '';

form_book.Label9.Caption := '';

form_book.Label10.Caption := '';

form_book.Label11.Caption := '';

form_book.Label12.Caption := '';

end;
procedure TForm_book.Edit_kolvoKeyPress(Sender: TObject; var Key: Char);

begin

if Key in ['0'..'9',#8] then

else key :=#0
end;
procedure TForm_book.Edit_yearKeyPress(Sender: TObject; var Key: Char);

begin

if Key in ['0'..'9',#8] then

else key :=#0
end;
procedure TForm_book.FormShow(Sender: TObject);

begin

view_book;

view_add_janr;

end;
procedure TForm_book.view_book;

var buf_zapros : string;

begin

buf_Zapros :='SELECT book.nomer_book AS код_книги, book.shifr AS Шифр, book.name_book AS Название,'

+' type_book.name_type AS Тип_книги, izdatelstvo.name_izdatelstvo AS Издательство, book.year_izdanie AS Год_издания, book.kolvo AS Кол_во '

+' FROM type_book RIGHT JOIN (izdatelstvo RIGHT JOIN book ON izdatelstvo.id_izdatelstvo = book.izdatelstvo) ON type_book.id_type = book.type'

+' ORDER BY book.name_book;';

datamodule1.Query_book.Close;

datamodule1.Query_book.sql.text := buf_Zapros;

datamodule1.Query_book.open;

view_dbgrid;

end;
procedure TForm_book.view_dbgrid;

begin

form_book.DBGrid_book.Columns[0].Width := 100;

form_book.DBGrid_book.Columns[1].Width := 100;

form_book.DBGrid_book.Columns[2].Width := 350;

form_book.DBGrid_book.Columns[3].Width := 150;

form_book.DBGrid_book.Columns[4].Width := 120;

form_book.DBGrid_book.Columns[5].Width := 120;

form_book.DBGrid_book.Columns[6].Width := 70;

end;
procedure TForm_book.view_add_janr;

var buf_Zapros : string;

begin

buf_zapros := 'SELECT janr.id_janr, janr.name_janr AS Жанр '

+' FROM janr INNER JOIN janr_book ON janr.id_janr = janr_book.id_janr '

+' WHERE janr_book.id_book = '+form_book.Label_id.Caption

+' ORDER BY janr.name_janr;';
datamodule1.Query_add_janr.close;

datamodule1.Query_add_janr.sql.text := buf_Zapros;

datamodule1.Query_add_janr.open;

view_dbgrid_janr;

end;
procedure TForm_book.view_dbgrid_janr;

var buf_Zapros : string;

begin

form_book.DBGrid_add_janr.Columns[0].Visible := False;

form_book.DBGrid_add_janr.Columns[1].Width := 350;

end;

end.

Выпускная квалификационная работа – бакалаврская работа выполнена мной совершенно самостоятельно. Все использованные в работе материалы и концепции из опубликованной научной литературы и других источников имеют ссылки на них. Выпускная квалификационная работа – бакалаврская работа прошла проверку на корректность заимствования в системе «Антиплагиат».

Настоящим подтверждаю, что даю разрешение Университету «Синергия» на размещение полного текста моей выпускной квалификационной работы – бакалаврской работы, отзыва на мою выпускную квалификационную работу, рецензии (при наличии) в электронно-библиотечной системе Университета «Синергия».


_ _ / МОХАМЕД ИСМАИЛ АБДРАББА ИСМАИЛ. /

Подпись (Ф.И.О.)

«_25_» ______05______ 2023г.