Перечень заданий
Список информационных систем, используемых для выполнения курсовой работы приведен в табл. 1. Выбор системы выполняется согласно номеру студента в списке учебной группы.
Таблица 1. Список информационных систем
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример. Аттракционы парка.
Программа выполняет создание файла, открытие файла, просмотр, добавление записи, сортировку по стоимости аттракционов, определение суммы посещения всех аттракционов, вывод рекламного листа.
ПРИМЕР не серьезный, это не курсовая! это самый простой вариант, как это сделать, потом проектировать, потом программировать, с соблюдением стиля + комментарий!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
MainMenu1: TMainMenu;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
Button1: TButton;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Tzap=record
name:string[25];
cost:extended;
number:integer;
home:integer;
finish:integer;
end;
TF=file of Tzap;
var
Form1: TForm1;
F:TF;
zap:Tzap;
implementation
uses Unit2, Unit3;
{$R *.dfm}
//создать
procedure TForm1.N2Click(Sender: TObject);
begin
SaveDialog1.Execute;
if (SaveDialog1.FileName<>'')then
begin
AssignFile(F,SaveDialog1.FileName);
Rewrite(F);
CloseFile(F);
end;
end;
//открыть
procedure TForm1.N3Click(Sender: TObject);
begin
OpenDialog1.Execute;
if (OpenDialog1.FileName<>'')then
begin
AssignFile(f,OpenDialog1.FileName);
Reset(F);
CloseFile(F);
end;
end;
//просмотр
procedure TForm1.N4Click(Sender: TObject);
var i:integer;
begin
reset(F);
for i:=0 to filesize(F)-1 do
with form2.StringGrid1 do
begin
seek(F,i);
read(f,zap);
Cells[0,i+1]:=zap.name;
Cells[1,i+1]:=floatToStr(zap.cost);
Cells[2,i+1]:=IntToStr(zap.number);
Cells[3,i+1]:=IntToStr(zap.home);
Cells[4,i+1]:=IntToStr(zap.finish);
end;
form2.StringGrid1.RowCount:=i+1;
if(form2.StringGrid1.RowCount>1)then form2.StringGrid1.FixedRows:=1;
form2.show;
end;
//добавить
procedure TForm1.N6Click(Sender: TObject);
begin
if(Edit1.Text<>'')and(Edit2.Text<>'')and(Edit3.Text<>'')then
begin
Reset(F);
Seek(F,filesize(F));
zap.name:=Edit1.text;
zap.cost:=StrTofloat(Edit2.text);
zap.number:=StrToInt(Edit3.text);
zap.home:=StrToInt(Edit4.text);
zap.finish:=StrToInt(Edit5.text);
write(F,zap);
end
else ShowMessage('Заполните все поля');
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
end;
//сортировка по стоимости
procedure TForm1.N12Click(Sender: TObject);
var
zap_v:Tzap;
i,j:integer;
begin
reset(F);
for i:=filesize(F)-1 downto 1 do
for j:=0 to i-1 do
begin
seek(F,j);
read(F,zap,zap_v);
if (zap.cost>zap_v.cost) then
begin
seek(F,j);
write(F,zap_v,zap);
end;
end;
end;
//наибольшая стоимость
procedure TForm1.N9Click(Sender: TObject);
var
i:integer;
max:extended;
begin
max:=0;
reset(F);
for i:=0 to filesize(F)-1 do
begin
read(F,zap);
if zap.cost>max then
max:=zap.cost;
end;
ShowMessage('Наибольшая стоимость '+floattostr(max));
end;
//суммарная стоимость
procedure TForm1.N10Click(Sender: TObject);
var
i:integer;
sum:extended;
begin
sum:=0;
reset(F);
for i:=0 to filesize(F)-1 do
begin
read(F,zap);
sum:= sum+zap.cost;
end;
ShowMessage('Суммарная стоимость '+floattostr(sum));
end;
//реклама парка
procedure TForm1.N8Click(Sender: TObject);
var i:integer;
begin
reset(F);
for i:=0 to filesize(F)-1 do
with form3.StringGrid1 do
begin
seek(F,i);
read(F,zap);
Cells[0,i+1]:=zap.name;
Cells[1,i+1]:=floatToStr(zap.cost);
end;
form3.StringGrid1.RowCount:=i+1;
if(form3.StringGrid1.RowCount>1)then form3.StringGrid1.FixedRows:=1;
form3.show;
end;
//Кнопка-добавить
procedure TForm1.Button1Click(Sender: TObject);
begin
N6Click(nil);
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TForm2 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
with StringGrid1 do
begin
cells[0,0]:='название';
cells[1,0]:='стоимость';
cells[2,0]:='количество мест';
cells[3,0]:='начало работы';
cells[4,0]:='окончание работы';
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
close;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TForm3 = class(TForm)
StringGrid1: TStringGrid;
Label1: TLabel;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
with StringGrid1 do
begin
cells[0,0]:='название';
cells[1,0]:='стоимость';
end;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Close;
end;
end.
Сделать последовательно, как написано выше, что на какой форме нарисовано, открыть все формы. Посмотреть состав проекта делфи. Нажимае сэйф олл
