База данных 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