Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Проверка работоспособности

Комплект поставки программы

1. dvdproekt.exe - исполняемый файл программы

2. Savedvd - папка с файлом db_disk.db, содержащим базу данных. Также папка используется для хранения временных файлов, создаваемых во время работы программы.

 

Описание результатов проверки программы

 

Технические средства, используемые для написания работы, приведены в таблице 10. Для проверки работоспособности программы я использовал компьютеры с различной конфигурацией. Их конфигурации приведены в таблице 10

 

Таблица 10. Описание результатов проверки программы.

Компоненты ЭВМ, программное обеспечение

Конфигурация ЭВМ

 

 

Микропроцессор, тактовая частота Объем оперативной памяти

Тип видеоадаптера, объем видеопамяти

Объем дискового пространства

Операционная система

1

Intel (R) Celeron, 1.7 GHz 128 Mb

Intel (R) 828456 Graphics controller, 32 Mb

10 Gb

MS Windows 2000

2

AMD Turion 64x2 Mobile Technology TL-60 2.0 GHz 3 Gb

NVIDIA GeForce 8600 GS, 512 Mb

320 Gb

MS Windows Vista

3

AMD Sempron (tm) 2200+, 1.5 GHz 768 Mb

ATI Radeon 9600 series, 128Mb

80 Gb

MS Windows XP Professional

Конфигурация ЭВМ

4

Pentium (R) D, 2x2.8 Mhz

1.5 Gb NVIDIA GeForce 8500 GT, 256 Mb

80 Gb

MS Windows XP Professional
5

Pentium 4, 3.01Ghz

512 Mb ATI Radeon X1600, 256Mb

20 Gb

MS Windows XP Professional
                   

Минимальные системные требования

1.Процессор: 170 MHz;

2. Оперативная память: 5000kb;

3. Физическая память на жестком диске: 1400MB свободного места;

4. Видеокарта с поддержкой VGA;

5. Устройства ввода/вывода данных: клавиатура, монитор, мышь.


Заключение

 

Вот и все! Мой проект закончен. Есть две причины, для чего я делал это. Первая, что бы сдать его Вам Александр Григорьевич! Вторая, для получения знаний по операционным системам и самому программированию в целом и что бы, не было скучно. Ну а теперь о главном. Я думаю, цель, поставленная передо мной, выполнена. Я немного стал разбираться в 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<stringgrid1.rowcount do

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<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 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<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 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<el[i].year 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 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<el[i].reg 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 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<el[i].cincom 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 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<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_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.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...