База данных DVD–фильмов

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

/p>

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<el[i].name then

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<el[i].stoim then

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