Автор работы: Пользователь скрыл имя, 12 Октября 2013 в 02:17, курсовая работа
Ведется учет продажи ж/д билетов. По каждому поезду известны: номер, тип поезда (экспресс, скорый, пассажирский), пункт назначения, дата и время отправления.
Поезда включают вагоны разных типов: код, наименование (плацкарт, купе, и т.д.), пассажировместимость.
При продаже билетов учитывается: фамилия И.О. пассажира, номер удостоверения личности, дата отправления, номер поезда, номер вагона, тип вагона, номер места, стоимость билета.
1. Проектирование базы данных 4
2. Описание программного проекта 7
3. Описание алгоритма формирования отчета 9
4. Руководство программиста 13
5. Руководство пользователя 14
6. Описание контрольного примера 19
7. Текст программы 22
8. Выводы 38
Список использованных источников
else DM.tblBook.SetRange([strtoint(
(Sender as TBitBtn).Caption:='Отменить';
end
else begin
//отмена фильтра
edit6.Clear;
edit7.Clear;
DM.tblBook.cancelrange;
(Sender as TBitBtn).Caption:='Выбрать';
end;
end;
procedure TfrmBook.Button4Click(Sender: TObject);
begin
if((edit8.Text='')or(edit9.
ShowMessage('Введите фио и код участка');
edit8.SetFocus;
exit
end;
with DM.tblBook do begin
First;
while not Eof do begin
if FieldByName('Look_dat').
edit;
FieldByName('Look_Dat').
post;
end;
Next;
end;
end;end;
procedure TfrmBook.Button5Click(Sender: TObject);
var
n2,n1:integer;
begin
if(edit10.Text='') and (edit11.Text='') then begin
ShowMessage('Заполните поля');
edit3.SetFocus;
exit
end;
if(edit10.Text='') then
n1:=-1
else
n1:=StrToInt(edit10.Text);
if(edit11.Text='') then
n2:=-1
else
n2:=StrToInt(edit11.Text);
with DM.tblBook do begin
First;
while not eof do
if(n1=-1) and ((FieldByName('N_Vagona').
else if(n2 = -1) and ((FieldByName('N_Vagona').
else if ((FieldByName('N_Vagona').
else Next;
end;
end;
procedure TfrmBook.SPRV1Click(Sender: TObject);
begin
FrmSPRVizmdob.show;
end;
procedure TfrmBook.SPRP1Click(Sender: TObject);
begin
frmSPRPizmdob.show;
end;
procedure TfrmBook.N5Click(Sender: TObject);
var n1,n2:string;
//noOst:boolean;
gorod:string;
countplatz,countkupe,countlux,
OM_SUM:integer;
// OM:string;
begin
Kol_bil:=0;
countplatz:=0;
countkupe:=0;
countlux:=0;
countsid:=0;
OM_SUM:=0;
if not (frmRptConf.ShowModal=mrOk) then exit;
try
gorod:=frmRptConf.
n1:=frmRptConf.dat1.Text;
n2:=frmRptConf.dat2.Text;
except
showmessage('некоректные значения');
frmRptConf.dat1.clear;
frmRptConf.dat2.clear;
exit
end;
if n1>n2 then begin
showmessage('неверный диапозон!');
end;
if not dm.tblSPRP.Active then dm.tblSPRP.Open;
if not dm.tblSPRV.Active then dm.tblSPRV.Open;
with dm.tblRPT do begin
if not exists then begin
with fielddefs do begin
with addfielddef do begin
name:='N_vag';
datatype:=ftInteger;
end;
with addfielddef do begin
name:='Tip_vagona';
datatype:=ftString;
size:=50;
end;
with addfielddef do begin
name:='Kol_prod_bil';
datatype:=ftinteger;
end;
with addfielddef do begin
name:='Stoimost';
datatype:=ftFloat;
end;
with addfielddef do begin
name:='Proc_prod_mest';
datatype:=ftinteger;
end;
with addfielddef do begin
name:='Ost_mest';
datatype:=ftinteger;
end;
end;
with IndexDefs do begin
with addIndexDef do Begin
name:='';
Fields:='N_Vag';
options:=[ixPrimary];
end;
with addIndexDef do Begin
name:='idxTip_Vagona';
Fields:='Tip_Vagona';
options:=[ixDescending];
end;
end;
databasename:='Romandb';
TableName:='tblRpt';
exclusive:=false;
CreateTable;
end
else
EmptyTable;
open;
//dm.tblRpt.Indexname:='';
end;
with dm.tblBook do begin
first;
while not eof do begin
dm.tblSPRV.FindKey([dm.
dm.tblSPRP.FindKey([
if (fieldbyname('Dat_otpr').
begin
if (dm.tblRpt.FindKey([dm.
begin
if(dm.tblSPRV.FieldByName('
CountPlatz:=Countplatz+1
Else if (dm.tblSPRV.FieldByName('
CountKupe:=CountKupe+1
Else if (dm.tblSPRV.FieldByName('
Countlux:=CountLux+1
Else if (dm.tblSPRV.FieldByName('
CountSid :=CountSid+1;
end;
end;
next;
end;
end;
with dm.tblBook do begin
first;
while not eof do begin
dm.tblSPRV.FindKey([dm.
dm.tblSPRP.FindKey([
if (fieldbyname('Dat_otpr').
begin
if (dm.tblRpt.FindKey([dm.
begin
dm.tblRpt.Append;
dm.tblRpt.FieldByName('N_Vag')
dm.tblRpt.FieldByName('Tip_
dm.tblRpt.FieldByName('
dm.tblRpt.FieldByName('Kol_
dm.tblRpt.FieldByName('Proc_
dm.tblRpt.FieldByName('Ost_
end;
if(dm.tblSPRV.FieldByName('
dm.tblRpt.FieldByName('Kol_
else if (dm.tblSPRV.FieldByName('
dm.tblRpt.FieldByName('Kol_
else if (dm.tblSPRV.FieldByName('
dm.tblRpt.FieldByName('Kol_
Else if (dm.tblSPRV.FieldByName('
dm.tblRpt.FieldByName('Kol_
dm.tblRpt.FieldByName('Ost_
dm.tblRpt.FieldByName('Proc_
OM_SUM:=
OM_SUM+dm.tblRpt.FieldByName('
frmRpt.QRLabel2.Caption:=
dm.tblRpt.Post;
end;
next;
end;
end;
frmRpt.qrlbDate.Caption:='по дате с '+(n1)+' по '+(n2)+' ';
frmRpt.qrlbGorod.Caption:='по городу: '+gorod;
frmRpt.Preview;
Dm.tblRpt.Close;
end;
procedure TfrmBook.FormShow(Sender: TObject);
begin
dm.tblBook.Open;
end;
procedure TfrmBook.FormCreate(Sender: TObject);
begin
end;
end.
8. Вывод
В ходе выполнения курсовой работы разработан и отлажен программный проект для осуществления автоматизированного учет продажи ж/д билетов. В его рамках была спроектирована база данных, включающая в себя информацию о времени продажи билетов на рейсы в заданный город с указанием: типа вагона, количество проданных билетов, стоимости, процента проданных мест и остатка мест.
Список использованных источников