Автор работы: Пользователь скрыл имя, 24 Апреля 2012 в 20:20, контрольная работа
Целью выполнения данной дипломной работы является разработка системы "ГАИ" и соответствующей ей базы данных, позволяющей документировать в электронном виде автоматизацию учета движений автомобилей и предоставлять необходимые отчеты.
В качестве среды разработки базы данных была выбрана СУБД MSSQL Server 2000.
Введение
1.1 Постановка задачи
1.2 Информационные системы
2.1 Введение в базы данных
2.2 Шаги проектирования базы данных
Заключение
Список использованной литературы
Приложение 1.
Исходный код основной базы данных ГАИ
unit adsbaz;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls, ExtCtrls, Grids, Printers, ShellApi;
type
TForm3 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Previous: TButton;
Next: TButton;
New: TButton;
Delete: TButton;
Save: TButton;
Button1: TButton;
Label5: TLabel;
RichEdit1: TRichEdit;
Button2: TButton;
Bevel1: TBevel;
Label4: TLabel;
Button4: TButton;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit6: TEdit;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
Bevel2: TBevel;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Edit7: TEdit;
Bevel3: TBevel;
Bevel5: TBevel;
Bevel6: TBevel;
Bevel4: TBevel;
Label6: TLabel;
Bevel7: TBevel;
SpeedButton1: TSpeedButton;
Button3: TButton;
Memo1: TMemo;
Edit4: TEdit;
procedure FormCreate(Sender: TObject);
procedure NewClick(Sender: TObject);
procedure SaveClick(Sender: TObject);
procedure PreviousClick(Sender: TObject);
procedure NextClick(Sender: TObject);
procedure DeleteClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button4Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.DFM}
uses usprint, paswd;
type
TNote=record
org: string[200];
adr: string[255];
tel: string[150];
kontl: string[150];
email: string[100];
reg: string[200];
vidd: string[200];
osnprod: string[200];
meneg: string[150];
end;
var
NoteFile: file of TNote;
NoteData: TNote;
_Pos: integer;
procedure ShowRecord;
begin
Form3.Edit1.Text:=NoteData.
Form3.RichEdit1.Text:=
Form3.Edit2.Text:=NoteData.
Form3.Edit3.Text:=NoteData.
Form3.Edit6.Text:=NoteData.
Form3.ComboBox2.Text:=
Form3.ComboBox3.Text:=
Form3.ComboBox4.Text:=
Form3.ComboBox5.Text:=
end;
procedure ClearData;
begin
Form3.Edit1.Text:='';
Form3.RichEdit1.Text:='';
Form3.Edit2.Text:='';
Form3.Edit3.Text:='';
Form3.Edit6.Text:='';
Form3.ComboBox2.Text:='';
Form3.ComboBox3.Text:='';
Form3.ComboBox4.Text:='';
Form3.ComboBox5.Text:='';
end;
// Pos начинается с нуля - 0,1,2,3,4,5,6,...
// FileSize начинается с единицы - 1,2,3,4,5,6,7,8,...
function GetProgramPath : String;
begin
GetProgramPath:=
end;
procedure TForm3.FormCreate(Sender: TObject);
var
pPos, cPos, i, j: integer;
s: string;
begin
Edit4.Text:='
//
AssignFile(NoteFile,
if not FileExists(GetProgramPath+'
begin
ForceDirectories(
Rewrite(NoteFile); // создание файла
_Pos:=0;
end
else
begin // если файл существует, то... (CopyFile - резервное копирование)
CopyFile(pchar(GetProgramPath+
Reset(NoteFile); // открытие файла
_Pos:=0;
if not Eof(NoteFile) then // если в файле есть данные
begin
Seek(NoteFile,_Pos); // перемещение на Pos
Read(NoteFile,NoteData); // чтение данных
ShowRecord; // показать данные
if _Pos=0 then Previous.Enabled:=false;
Delete.Enabled:=true;
if FileSize(NoteFile)>=2
then Next.Enabled:=true; // если данных больше или равно 2
end;
end;
///////////////////// Регистр. номер //////////////////////////////
cPos:=0;
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.reg;
for i:=0 to FileSize(NoteFile)-1 do
begin
if s<>'' then
begin
ComboBox2.Items.Add(s);
break;
end;
inc(cPos);
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.reg;
end;
for cPos:=0 to FileSize(NoteFile)-1 do
begin
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.reg;
if s<>'' then
begin
for i:=0 to ComboBox2.Items.Count-1 do
if pos(s,ComboBox2.Items.Strings[
then j:=2
else
begin
j:=1;
Break;
end;
end;
if j=2 then ComboBox2.Items.Add(s);
j:=0;
end;
ComboBox2.Sorted:=true;
//////////// Марка
cPos:=0;
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.vidd;
for i:=0 to FileSize(NoteFile)-1 do
begin
if s<>'' then
begin
ComboBox3.Items.Add(s);
break;
end;
inc(cPos);
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.vidd;
end;
for cPos:=0 to FileSize(NoteFile)-1 do
begin
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.vidd;
if s<>'' then
begin
for i:=0 to ComboBox3.Items.Count-1 do
if pos(s,ComboBox3.Items.Strings[
then j:=2
else
begin
j:=1;
Break;
end;
end;
if j=2 then ComboBox3.Items.Add(s);
j:=0;
end;
ComboBox3.Sorted:=true;
//////////// Цвет
cPos:=0;
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.osnprod;
for i:=0 to FileSize(NoteFile)-1 do
begin
if s<>'' then
begin
ComboBox4.Items.Add(s);
break;
end;
inc(cPos);
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.osnprod;
end;
for cPos:=0 to FileSize(NoteFile)-1 do
begin
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.osnprod;
if s<>'' then
begin
for i:=0 to ComboBox4.Items.Count-1 do
if pos(s,ComboBox4.Items.Strings[
then j:=2
else
begin
j:=1;
Break;
end;
end;
if j=2 then ComboBox4.Items.Add(s);
j:=0;
end;
ComboBox4.Sorted:=true;
//////////// Год выпуска
cPos:=0;
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.meneg;
for i:=0 to FileSize(NoteFile)-1 do
begin
if s<>'' then
begin
ComboBox5.Items.Add(s);
break;
end;
inc(cPos);
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.meneg;
end;
for cPos:=0 to FileSize(NoteFile)-1 do
begin
Seek(NoteFile,cPos);
Read(NoteFile,NoteData); // чтение данных
s:=NoteData.meneg;
if s<>'' then
begin
for i:=0 to ComboBox5.Items.Count-1 do
if pos(s,ComboBox5.Items.Strings[
then j:=2
else
begin
j:=1;
Break;
end;
end;
if j=2 then ComboBox5.Items.Add(s);
j:=0;
end;
ComboBox5.Sorted:=true;
//////////////////////////////
pPos:=FileSize(NoteFile); // определение кол-ва компонентов файла end;
Label4.Caption:='Запись № '+IntToStr(_pos+1)+' из '+IntToStr(pPos);
end;
procedure TForm3.NewClick(Sender: TObject);
var
pPos: integer;
begin
ClearData; //очистка окна
Edit1.SetFocus;
_Pos:=FileSize(NoteFile); //определение кол-ва компонентов файла
Seek(NoteFile,_Pos); //перемещ. указателя на конец файла
Button2.Enabled:=false;
Previous.Enabled:=false;
Next.Enabled:=false;
Delete.Enabled:=false;
Save.Enabled:=true;
//////////////////////////////
pPos:=FileSize(NoteFile); //определение кол-ва компонентов файла end;
Label4.Caption:='Запись № '+IntToStr(_pos+1)+' из '+IntToStr(pPos+1);
end;
procedure TForm3.SaveClick(Sender: TObject);
begin
NoteData.org:=Edit1.Text;
NoteData.adr:=RichEdit1.Text;
NoteData.tel:=Edit2.Text;
NoteData.kontl:=Edit3.Text;
NoteData.email:=Edit6.Text;
Notedata.reg:=ComboBox2.Text;
Notedata.vidd:=ComboBox3.Text;
Notedata.osnprod:=ComboBox4.
Notedata.meneg:=ComboBox5.
Write(NoteFile,NoteData); // запись в файл
Button2.Enabled:=true;
Next.Enabled:=false;
Save.Enabled:=false;
Delete.Enabled:=true;
if FileSize(NoteFile)>=2 then
Previous.Enabled:=true;
end;
procedure TForm3.PreviousClick(Sender: TObject);
var
pPos: integer;
begin
Next.Enabled:=true;
if _Pos<>0 then dec(_Pos); // если указатель не равен 0, то Роs-1
Seek(NoteFile,_Pos); // перемещение на Pos-1
Read(NoteFile,NoteData); // чтение Pos-1
ShowRecord; // показать запись
if _Pos=0 then Previous.Enabled:=false; //если номер-0, то...
//////////////////////////////
pPos:=FileSize(NoteFile); // определение кол-ва компонентов файла end;
Label4.Caption:='Запись № '+IntToStr(_Pos+1)+' из '+IntToStr(pPos);
end;
procedure TForm3.NextClick(Sender: TObject);
var
pPos:integer;
begin
Previous.Enabled:=true;
if _Pos=FileSize(NoteFile)-2 // если номер позиции=кол-ву
then Next.Enabled:=false; // номеров, то...
inc(_Pos); // Pos+1
Seek(NoteFile,_Pos); // перемещ указателя на Pos+1
Read(NoteFile,NoteData); // чтение данных
ShowRecord; // показать запись
//////////////////////////////
pPos:=FileSize(NoteFile); // определение кол-ва компонентов файла end;
Label4.Caption:='Запись № '+IntToStr(_Pos+1)+' из '+IntToStr(pPos);