Информационные системы

Автор работы: Пользователь скрыл имя, 24 Апреля 2012 в 20:20, контрольная работа

Описание работы

Целью выполнения данной дипломной работы является разработка системы "ГАИ" и соответствующей ей базы данных, позволяющей документировать в электронном виде автоматизацию учета движений автомобилей и предоставлять необходимые отчеты.

В качестве среды разработки базы данных была выбрана СУБД MSSQL Server 2000.

Содержание работы

Введение

1.1 Постановка задачи

1.2 Информационные системы

2.1 Введение в базы данных

2.2 Шаги проектирования базы данных

Заключение

Список использованной литературы

Приложение 1.

Файлы: 1 файл

Диплом 2012.doc

— 383.50 Кб (Скачать файл)

 

Исходный код основной базы данных ГАИ

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.org;

Form3.RichEdit1.Text:=NoteData.adr;

Form3.Edit2.Text:=NoteData.tel;

Form3.Edit3.Text:=NoteData.kontl;

Form3.Edit6.Text:=NoteData.email;

Form3.ComboBox2.Text:=Notedata.reg;

Form3.ComboBox3.Text:=Notedata.vidd;

Form3.ComboBox4.Text:=Notedata.osnprod;

Form3.ComboBox5.Text:=Notedata.meneg;

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:=ExtractFilePath(ParamStr(0));

end;

 

procedure TForm3.FormCreate(Sender: TObject);

var

pPos, cPos, i, j: integer;

s: string;

begin

Edit4.Text:='1234567890АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~ .,:;"-=+\/|!?@#$%^&*_№<>()[]{}`';

//

AssignFile(NoteFile,GetProgramPath+'data\'+'adsbaz.dat'); // связываем переменную с файлом

if not FileExists(GetProgramPath+'data\'+'adsbaz.dat') then // если файл не существует

  begin

   ForceDirectories(GetProgramPath+'\data');

   Rewrite(NoteFile);  // создание файла

   _Pos:=0;

  end

  else

   begin   // если файл существует, то... (CopyFile - резервное копирование)

    CopyFile(pchar(GetProgramPath+'data\'+'adsbaz.dat'),pchar(GetProgramPath+'data\'+'adsbaz_.dat'),false);

    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[i])=0

      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[i])=0

     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[i])=0

     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[i])=0

     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.Text;

Notedata.meneg:=ComboBox5.Text;

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);

Информация о работе Информационные системы