49739 (База данных DVD–фильмов), страница 3

2016-07-30СтудИзба

Описание файла

Документ из архива "База данных DVD–фильмов", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49739"

Текст 3 страницы из документа "49739"

Вот и все! Мой проект закончен. Есть две причины, для чего я делал это. Первая, что бы сдать его Вам Александр Григорьевич! Вторая, для получения знаний по операционным системам и самому программированию в целом и что бы, не было скучно. Ну а теперь о главном. Я думаю, цель, поставленная передо мной, выполнена. Я немного стал разбираться в Delphi. Научился работать с процедурами, с записями и с циклами. Также создал простую, а главное удобную программу, которая может пригодиться любому коллекционеру фильмов на DVD дисках. Очень простой интерфейс позволяет работать в программе даже ребенку, и старшему поколению, которому очень трудно обращаться с новыми технологиями, в том числе и компьютерами. А в завершении хотелось бы сказать большое спасибо разработчикам Delphi. Ведь без этой среды разработки у меня ни чего бы, не вышло. Всем спасибо за помощь. До свидания!!!

Список литературы

1. Михаил Фленов, «Библия Delphi», Санкт Петербург «БХВ- Петербург» 2004 год, 882 стр.

2. Владимир Гофман, Анатолий Хамоненко, «Delphi быстрый старт», Санкт Петербург «БХВ-Петербург» 2003 год, 280 стр.

3. Евгений Марков, Петр Дарахвелидзе, «Программирование в Delphi 7», Санкт Петербург «БХВ-Петербург» 2003 год, 780 стр.

4. Поган А.М., Царенко Ю.А., “Программирование в Delphi”, Москва «ЭКСМО» 2006 год, 309 стр.

5. Бобровский А. , “Delphi 5. Учебный курс.” , Санкт – Петербург, Москва, Харьков, Минск, «ЗАО Питербук» , 2004 год, 639 стр.

Приложение 1

Листинг программы и её модулей

program Kursovik;

uses

Forms,

kurs in 'kurs.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2},

Input in 'Input.pas' {Form3},

search in 'search.pas' {Form4};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm4, Form4);

Application.Run;

end.

Модуль kurs.pas

unit kursovik;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus, jpeg, ExtCtrls, Grids, DBGrids, ShellAPI, XPMan;

const

derect='savedvd\';

type disk=record

name:string[50];

stoim:integer;

year:integer;

reg:string[30];

cincom:string[30];

end;

tdvd=array[1..300] of disk;

recordfile=file of disk;

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

N19: TMenuItem;

N21: TMenuItem;

StringGrid1: TStringGrid;

ComboBox3: TComboBox;

Edit9: TEdit;

PopupMenu1: TPopupMenu;

N2: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

reg1: TMenuItem;

cincom1: TMenuItem;

N13: TMenuItem;

N22: TMenuItem;

N23: TMenuItem;

N24: TMenuItem;

XPManifest1: TXPManifest;

N26: TMenuItem;

Label8: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

N25: TMenuItem;

procedure N8Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

Procedure deletef(horizon:integer);

procedure editzap;

procedure clearlist;

procedure vivod (dvdfile:string);

procedure sort_1(dvdfile:string);

procedure sort_2(dvdfile: string);

procedure sort_3(dvdfile: string);

procedure sort_4(dvdfile: string);

procedure sort_5(dvdfile: string);

procedure N7Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure reg1Click(Sender: TObject);

procedure cincom1Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure N23Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure StringGrid1SelectCell(Sender: TObject; ACol,

ARow: Integer; var CanSelect: Boolean);

procedure N26Click(Sender: TObject);

procedure Edit9Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure N25Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

public

n,m,k:integer;

f,g:recordfile;

but:integer;

h:HWND;

horizon : integer;

end;

var

Form1: TForm1;

implementation

uses unit2, Input, search;

{$R *.dfm}

procedure tform1.clearlist;

begin

n:=0;

while n

begin

StringGrid1.Cells[0,n+1]:='';

StringGrid1.Cells[1,n+1]:='';

StringGrid1.Cells[2,n+1]:='';

StringGrid1.Cells[3,n+1]:='';

StringGrid1.Cells[4,n+1]:='';

StringGrid1.Cells[5,n+1]:='';

n:=n+1;

end;

stringgrid1.RowCount:=2;

end;

procedure tform1.vivod (dvdfile:string);

var s:disk;

count:integer;

f1:recordfile;

begin

assignfile(f,dvdfile);{$I-}

reset(f); {$I+}

N:=0;

count:=0;

If IOResult=0 then

begin

while not eof(f) do

begin

count:=count+1;

read(f,s);

StringGrid1.cols[0][N+1]:=inttostr(count);

StringGrid1.Cells[1,N+1]:=s.name;

StringGrid1.Cells[2,N+1]:=inttostr(s.stoim)+' руб.';

StringGrid1.Cells[3,N+1]:=intToStr(s.year)+' год';

StringGrid1.Cells[4,N+1]:=s.reg;

StringGrid1.Cells[5,N+1]:=s.cincom;

N:=N+1;

end;

seek(f,0);

closefile(f);

if count=0 then

clearlist

else

stringgrid1.rowcount:=N+1;

end

else

begin

createdir('savedvd\');

assignfile(f1,derect+'db_ disk.db');

rewrite(f1);

closefile(f1);

end;

end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,

ARow: Integer; var CanSelect: Boolean);

begin

horizon:=ARow;

end;

{Удаление записи}

Procedure tform1.deletef(horizon:integer);

var

f1:recordfile;

el:tdvd;

begin

but:=MessageBox(0,'Удалить данные?','Внимание!',MB_YESNO or MB_ICONquestion);

if but=IDYES then

begin

assignfile(f1,derect+'new.db');

rewrite(f1);

assignfile(f,derect+'db_ disk.db');

reset(f);

n:=1;

while not eof(f) do

begin

read(f,el[n]);

if n <> horizon then

write(f1,el[n]);

n:=n+1;

end;

closefile(f);

closefile(f1);

erase(f);

rename(f1,derect+'db_ disk.db');

vivod(derect+'db_disk.db');

end;

end;

procedure tform1.sort_1(dvdfile: string);

var

f,q:file of disk;

c,i,n:integer;

buf:disk;

el:tdvd;

begin

assignfile(q,derect+'db.db');

rewrite(q);

assignfile(f,dvdfile);

reset(f);

c:=0;

while not eof(f)do

begin

c:=c+1;

read(f,el[c]);

end;

for i:=1 to c do

for n:=i+1 to c do

if el[n].name

begin

buf:=el[n];

el[n]:=el[i];

el[i]:=buf;

end;

for i:=1 to c do

begin

write(q,el[i]);

end;

closefile(f);

closefile(q);

vivod(derect+'db.db');

erase(q);

end;

procedure tform1.sort_2(dvdfile: string);

var

f,q:file of disk;

c,i,n:integer;

buf:disk;

el:tdvd;

begin

assignfile(q,derect+'db.db');

rewrite(q);

assignfile(f,dvdfile);

reset(f);

c:=0;

while not eof(f)do

begin

c:=c+1;

read(f,el[c]);

end;

for i:=1 to c do

for n:=i+1 to c do

if el[n].stoim

begin

buf:=el[n];

el[n]:=el[i];

el[i]:=buf;

end;

for i:=1 to c do

begin

write(q,el[i]);

end;

closefile(f);

closefile(q);

vivod(derect+'db.db');

erase(q);

end;

procedure tform1.sort_3(dvdfile: string);

var

f,q:file of disk;

c,i,n:integer;

buf:disk;

el:tdvd;

begin

assignfile(q,derect+'db.db');

rewrite(q);

assignfile(f,dvdfile);

reset(f);

c:=0;

while not eof(f)do

begin

c:=c+1;

read(f,el[c]);

end;

for i:=1 to c do

for n:=i+1 to c do

if el[n].year

begin

buf:=el[n];

el[n]:=el[i];

el[i]:=buf;

end;

for i:=1 to c do

begin

write(q,el[i]);

end;

closefile(f);

closefile(q);

vivod(derect+'db.db');

erase(q);

end;

procedure tform1.sort_4(dvdfile: string);

var

f,q:file of disk;

c,i,n:integer;

buf:disk;

el:tdvd;

begin

assignfile(q,derect+'db.db');

rewrite(q);

assignfile(f,dvdfile);

reset(f);

c:=0;

while not eof(f)do

begin

c:=c+1;

read(f,el[c]);

end;

for i:=1 to c do

for n:=i+1 to c do

if el[n].reg

begin

buf:=el[n];

el[n]:=el[i];

el[i]:=buf;

end;

for i:=1 to c do

begin

write(q,el[i]);

end;

closefile(f);

closefile(q);

vivod(derect+'db.db');

erase(q);

end;

procedure tform1.sort_5(dvdfile: string);

var

f,q:file of disk;

c,i,n:integer;

buf:disk;

el:tdvd;

begin

assignfile(q,derect+'db.db');

rewrite(q);

assignfile(f,dvdfile);

reset(f);

c:=0;

while not eof(f)do

begin

c:=c+1;

read(f,el[c]);

end;

for i:=1 to c do

for n:=i+1 to c do

if el[n].cincom

begin

buf:=el[n];

el[n]:=el[i];

el[i]:=buf;

end;

for i:=1 to c do

begin

write(q,el[i]);

end;

closefile(f);

closefile(q);

vivod(derect+'db.db');

erase(q);

end;

{Редактирование}

procedure Tform1.editzap;

var

q:disk;

new:string;

begin

n:=0;

assignfile(f,derect+'db_ disk.db');

reset(f);

try

new:=Edit9.text;

seek(f,horizon-1);

read(f,q);

case comboBox3.ItemIndex of

0:q.name:=new;

1:try q.stoim:=strtoint(new);

except

MessageBox(0,'Цена указывается в цифрах!','',MB_OK or MB_ICONWARNING)

end;

2:try q.year:=strtoint(new);

except

MessageBox(0,'Год выпуска указывается в цифрах!','',MB_OK or MB_ICONWARNING)

end;

3:q.reg:=new;

4:q.cincom:=new;

end;

begin

seek(f,horizon-1);

write(f,q);

closefile(f);

end;

except

MessageBox(0,'Выбирите строку из списка.','',MB_OK or MB_ICONWARNING)

end;

edit9.clear;

vivod(derect+'db_ disk.db');

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

StringGrid1.Rows[0][0]:='Номер';

StringGrid1.Rows[0][1]:='Название фильма';

StringGrid1.Rows[0][2]:='Цена DVD-диска';

StringGrid1.Rows[0][3]:='Год выпуска';

StringGrid1.Rows[0][4]:='Режиссёр';

StringGrid1.Rows[0][5]:='Кинокомпания';

vivod (derect+'db_sot.db')

end;

procedure TForm1.N8Click(Sender: TObject);

begin

but:=MessageBox(0,'Закрыть программу?','Внимание!',MB_YESNO or MB_ICONINFORMATION);

if but=IDYES then

Close;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

vivod (derect+'db_ disk.db');

end;

procedure TForm1.N14Click(Sender: TObject);

begin

sort_1(derect+'db_ disk.db');

end;

procedure TForm1.N15Click(Sender: TObject);

begin

sort_2(derect+'db_ disk.db');

end;

procedure TForm1.N16Click(Sender: TObject);

begin

sort_3(derect+'db_ disk.db');

end;

procedure TForm1.N17Click(Sender: TObject);

begin

sort_4(derect+'db_ disk.db');

end;

procedure TForm1.N18Click(Sender: TObject);

begin

sort_5(derect+'db_sot.db');

end;

{Добавление}

procedure TForm1.N4Click(Sender: TObject);

begin

Form3.ShowModal;

vivod(derect+'db_ disk.db');

end;

{Вывод во всплывающем меню}

procedure TForm1.N2Click(Sender: TObject);

begin

vivod(derect+'db_ disk.db');

end;

{Сортировка во всплывающем меню}

procedure TForm1.N10Click(Sender: TObject);

begin

sort_1(derect+'db_ disk.db');

end;

procedure TForm1.N11Click(Sender: TObject);

begin

sort_2(derect+'db_sot.db');

end;

procedure TForm1.N12Click(Sender: TObject);

begin

sort_3(derect+'db_ disk.db');

end;

procedure TForm1.reg1Click(Sender: TObject);

begin

sort_4(derect+'db_ disk.db');

end;

procedure TForm1.cincom1Click(Sender: TObject);

begin

sort_5(derect+'db_ disk.db');

end;

{Очистка всплывающее}

procedure TForm1.N9Click(Sender: TObject);

begin

clearlist;

end;

{Очистка в меню}

procedure TForm1.N23Click(Sender: TObject);

begin

clearlist

end;

{Редактирование в меню}

procedure TForm1.N6Click(Sender: TObject);

begin

if (edit9.text='') or (edit9.text='Введите новые данные...') then

MessageBox(0,'Введите новые данные.','Внимание!',MB_ok or MB_ICONINFORMATION)

else

editzap;

end;

//на кнопку

procedure TForm1.Button2Click(Sender: TObject);

begin

deletef(horizon);

end;

//удаление во всплывающем

procedure TForm1.N26Click(Sender: TObject);

begin

deletef(horizon);

end;

//Удаление из меню

procedure TForm1.N5Click(Sender: TObject);

begin

deletef(horizon);

end;

///---------------------------------------------------

{Окно "О программе"}

procedure TForm1.N21Click(Sender: TObject);

begin

Form2.ShowModal;

end;

procedure TForm1.Edit9Click(Sender: TObject);

begin

edit9.clear;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

but:=MessageBox(0,'Закрыть программу?','Внимание!',MB_YESNO or MB_ICONINFORMATION);

if but=IDYES then

Close;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

clearlist;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

vivod(derect+'db_sot.db');

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Form3.ShowModal;

vivod(derect+'db_sot.db');

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Form4.ShowModal;

end;

procedure TForm1.N25Click(Sender: TObject);

begin

Form4.ShowModal;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

if (edit9.text='') or (edit9.text='Новые данные...') then

MessageBox(0,'Введите новые данные для изменения.','Внимание!',MB_ok or MB_ICONINFORMATION)

else

editzap;

end;

end.

Модуль Unit2.pas;

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, jpeg;

type

TForm2 = class(TForm)

Label2: TLabel;

Label6: TLabel;

Bevel1: TBevel;

Bevel2: TBevel;

Bevel3: TBevel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Button1: TButton;

Label1: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label7: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

Close;

end;

end.

Модуль search.pas;

unit search;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, jpeg, ExtCtrls, Grids;

const

derect='savedvd\';

type

disk=record

name:string[50];

stoim:integer;

year:integer;

reg:string[30];

cincom:string[30];

end;

tdvd=array[1..300] of disk;

recordfile=file of disk;

TForm4 = class(TForm)

Label3: TLabel;

Label4: TLabel;

Edit7: TEdit;

ComboBox1: TComboBox;

Button1: TButton;

StringGrid1: TStringGrid;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure search_1(dvdfile:string; var g:recordfile);

procedure search_2(dvdfile:string; var g:recordfile);

procedure search_3(dvdfile:string; var g:recordfile);

procedure search_4(dvdfile:string; var g:recordfile);

procedure search_5(dvdfile:string; var g:recordfile);

procedure sort_1(dvdfile:string);

procedure sort_2(dvdfile: string);

procedure vivod (dvdfile:string);

procedure Edit7Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

public

f,g:recordfile;

n:integer;

dvdfile:string;

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

//////-----------------

{Вывод списка}

procedure tform4.vivod (dvdfile:string);

var s:disk;

count:integer;

f1:recordfile;

begin

assignfile(f,dvdfile);{$I-}

reset(f); {$I+}

N:=0;

count:=0;

If IOResult=0 then

begin

while not eof(f) do

begin

count:=count+1;

read(f,s);

StringGrid1.cols[0][N+1]:=inttostr(count);

StringGrid1.Cells[1,N+1]:=s.name;

StringGrid1.Cells[2,N+1]:=inttostr(s.stoim)+' руб.';

StringGrid1.Cells[3,N+1]:=intToStr(s.year)+' год';

StringGrid1.Cells[4,N+1]:=s.reg;

StringGrid1.Cells[5,N+1]:=s.cincom;

N:=N+1;

end;

seek(f,0);

closefile(f);

if count=0 then

else

stringgrid1.rowcount:=N+1;

end

else

begin

createdir('Database\');

assignfile(f1,derect+'db_ disk.db');

rewrite(f1);

closefile(f1);

end;

end;

//-----------------

procedure tform4.sort_1(dvdfile: string);

var

f,q:file of disk;

c,i,n:integer;

buf:disk;

el:tdvd;

begin

assignfile(q,derect+'db.db');

rewrite(q);

assignfile(f,dvdfile);

reset(f);

c:=0;

while not eof(f)do

begin

c:=c+1;

read(f,el[c]);

end;

for i:=1 to c do

for n:=i+1 to c do

if el[n].name

begin

buf:=el[n];

el[n]:=el[i];

el[i]:=buf;

end;

for i:=1 to c do

begin

write(q,el[i]);

end;

closefile(f);

closefile(q);

vivod(derect+'db.db');

erase(q);

end;

procedure tform4.sort_2(dvdfile: string);

var

f,q:file of disk;

c,i,n:integer;

buf:disk;

el:tdvd;

begin

assignfile(q,derect+'db.db');

rewrite(q);

assignfile(f,dvdfile);

reset(f);

c:=0;

while not eof(f)do

begin

c:=c+1;

read(f,el[c]);

end;

for i:=1 to c do

for n:=i+1 to c do

if el[n].stoim

begin

buf:=el[n];

el[n]:=el[i];

el[i]:=buf;

end;

for i:=1 to c do

begin

write(q,el[i]);

end;

closefile(f);

closefile(q);

vivod(derect+'db.db');

erase(q);

end;

//---------------------

procedure tform4.search_1(dvdfile:string; var g:recordfile);

var g1:recordfile;

s:disk;

nameof:string;

begin

n:=0;

nameof:=Edit7.text;

assignfile(g1,derect+'result.db');

rewrite(g1);

assignfile(g,derect+'db_ disk.db'); {$I-}

reset(g); {$I+}

if IOResult = 0 then

begin

while not eof(g) do

begin

read(g,s);

if s.name=nameof then

write(g1,s)

end;

end

else

showMessage ('Ошибка');

seek(g1,0);

while not eof(g1) do

begin

read(g1,s);

inc(n);

end;

closefile(g);

closefile(g1);

Edit7.Clear;

if n=0 then

begin

MessageBox(0,'Нет такого фильма. Введите другие данные','Внимание!',MB_OK or MB_ICONINFORMATION);

end

else

vivod(derect+'result.db');

erase(g1)

end;

procedure tform4.search_2(dvdfile:string; var g:recordfile);

var g1:recordfile;

s:disk;

stoimof:integer;

begin

n:=0;

try

stoimof:=StrToInt(Edit7.text);

assignfile(g1,derect+'result.db');

rewrite(g1);

assignfile(g,derect+'db_ disk.db'); {$I-}

reset(g); {$I+}

if IOResult = 0 then

begin

while not eof(g) do

begin

read(g,s);

if s.stoim <= stoimof then

write(g1,s)

end;

end

else

showMessage ('Ошибка');

seek(g1,0);

while not eof(g1) do

begin

read(g1,s);

inc(n);

end;

closefile(g);

closefile(g1);

Edit7.Clear;

if n=0 then

begin

MessageBox(0,'Дисков со стоимостью, ниже заданной, нет.','Внимание!',MB_OK or MB_ICONINFORMATION);

end

else

sort_2(derect+'result.db');

erase(g1)

except

MessageBox(0,'Цена указывается цифрами.','Внимание!',MB_OK or MB_ICONWARNING);

Edit7.Clear;

end;

end;

procedure tform4.search_3(dvdfile:string; var g:recordfile);

var g1:recordfile;

s:disk;

yearof:real;

begin

n:=0;

try

yearof:=StrToFloat(Edit7.text);

assignfile(g1,derect+'result.db');

rewrite(g1);

assignfile(g,derect+'db_sot.db'); {$I-}

reset(g); {$I+}

if IOResult = 0 then

begin

while not eof(g) do

begin

read(g,s);

if s.year = yearof then

write(g1,s)

end;

end

else

showMessage ('Ошибка');

seek(g1,0);

while not eof(g1) do

begin

read(g1,s);

inc(n);

end;

closefile(g);

closefile(g1);

Edit7.Clear;

if n=0 then

begin

MessageBox(0,'Фильмов данного года выпуска нет.','Внимание!',MB_OK or MB_ICONINFORMATION);

end

else

sort_1(derect+'result.db');

erase(g1)

except

MessageBox(0,'Год выпуска указывается в цифрах.','Внимание!',MB_OK or MB_ICONWARNING);

Edit7.Clear;

end;

end;

procedure tform4.search_4(dvdfile:string; var g:recordfile);

var g1:recordfile;

s:disk;

regof:string;

begin

n:=0;

regof:=Edit7.text;

assignfile(g1,derect+'result.db');

rewrite(g1);

assignfile(g,derect+'db_ disk.db'); {$I-}

reset(g); {$I+}

if IOResult = 0 then

begin

while not eof(g) do

begin

read(g,s);

if s.reg=regof then

write(g1,s)

end;

end

else

showMessage ('Ошибка.');

seek(g1,0);

while not eof(g1) do

begin

read(g1,s);

inc(n);

end;

closefile(g);

closefile(g1);

Edit7.Clear;

if n=0 then

begin

MessageBox(0,'Данного режиссёра нет','Внимание!',MB_OK or MB_ICONINFORMATION);

end

else

sort_1(derect+'result.db');

erase(g1)

end;

procedure tform4.search_5(dvdfile:string; var g:recordfile);

var g1:recordfile;

s:disk;

cincomof:string;

begin

n:=0;

cincomof:=Edit7.text;

assignfile(g1,derect+'result.db');

rewrite(g1);

assignfile(g,derect+'db_ disk.db'); {$I-}

reset(g); {$I+}

if IOResult = 0 then

begin

while not eof(g) do

begin

read(g,s);

if s.cincom=cincomof then

write(g1,s)

end;

end

else

showMessage ('Ошибка');

seek(g1,0);

while not eof(g1) do

begin

read(g1,s);

inc(n);

end;

closefile(g);

closefile(g1);

Edit7.Clear;

if n=0 then

begin

MessageBox(0,'Данной кинокомпаниии нет.','Внимание!',MB_OK or MB_ICONINFORMATION);

end

else

sort_1(derect+'result.db');

erase(g1)

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

if (edit7.Text='') or (edit7.Text='Введите данные...') then

MessageBox(0,'Введите данные для поиска.','Внимание!',MB_ok or MB_ICONINFORMATION)

else

case combobox1.ItemIndex of

0:search_1(dvdfile,f);

1:search_2(dvdfile,f);

2:search_3(dvdfile,f);

3:search_4(dvdfile,f);

4:search_5(dvdfile,f);

end;

end;

procedure TForm4.Edit7Click(Sender: TObject);

begin

edit7.Clear;

end;

procedure TForm4.FormCreate(Sender: TObject);

begin

StringGrid1.Rows[0][0]:='Номер';

StringGrid1.Rows[0][1]:='Название фильма';

StringGrid1.Rows[0][2]:='Цена DVD-диска';

StringGrid1.Rows[0][3]:='Год выпуска';

StringGrid1.Rows[0][4]:='Режиссёр';

StringGrid1.Rows[0][5]:='Кинокомпания';

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

Form4.Close;

end;

end.

Модуль Input.pas;

unit Input;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, jpeg, ExtCtrls, StdCtrls;

const

derect='savedvd\';

type disk=record

name:string[50];

stoim:integer;

year:integer;

reg:string[30];

cincom:string[30];

end;

recordfile=file of disk;

TForm3 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Button1: TButton;

Button2: TButton;

procedure input(var f:recordfile; var dvdfile:string);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

n,k:integer;

f,g:recordfile;

dvdfile:string;

end;

var

Form3: TForm3;

implementation

uses kursovik;

{$R *.dfm}

procedure tform3.input(var f:recordfile; var dvdfile:string);

var

s,q:disk;

begin

n:=1;

k:=0;

assignfile(g,derect+'buffer.db');

rewrite(g);

assignfile(f,derect+'db_ disk.db');{$I-}

reset(f); {$I+}

If IOResult=0 then

begin

while not eof(f) do

begin

inc(n);

read(f,s);

write(g,s);

end;

closefile(f);

end

else

begin

rewrite(f);

closefile(f);

end;

try

q.name:=Edit1.text;

q.stoim:=StrtoInt(Edit2.Text);

q.year:=Strtoint(Edit3.Text);

q.reg:=Edit4.Text;

q.cincom:=Edit5.Text;

seek(g,0);

while not eof(g) do

begin

read(g,s);

if s.name=q.name then

k:=1;

end;

if k=1 then

MessageBox(0,'Данный фильм существует.','',MB_ok or MB_ICONINFORMATION)

else

begin

write(g,q);

MessageBox(0,'Данные добавлены в файл.','',MB_ok or MB_ICONINFORMATION);

end;

Edit1.Clear;

Edit2.Clear;

Edit3.Clear;

Edit4.Clear;

Edit5.Clear;

except

MessageBox(0,'Цена и год выпуска указывается в цифрах!','',MB_OK or MB_ICONWARNING);

Edit2.Clear;

Edit3.Clear;

end;

closefile(g);

erase(f);

rename(g,derect+'db_ disk.db');

end;

procedure TForm3.Button1Click(Sender: TObject);

begin

close;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

if (edit1.Text='') or (edit2.text='') or (edit3.Text='')

or (edit4.Text='') or (edit5.Text='') then

MessageBox(0,'Одно или несколько полей пусты, проверьте правильность заполнения.','Внимание!',MB_ok or MB_ICONINFORMATION)

else

input(f,dvdfile);

end;

end.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5057
Авторов
на СтудИзбе
456
Средний доход
с одного платного файла
Обучение Подробнее