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

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

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

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

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

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

Введение

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

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

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

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

Заключение

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

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

Файлы: 1 файл

Диплом 2012.doc

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

 

RichEdit1.Lines.LoadFromFile(GetProgramPath+'data\'+'reg.txt');

   for n:=0 to RichEdit1.Lines.Count-1 do

    begin

     StringGrid1.Cells[7,n+1]:=RichEdit1.Lines.Strings[n];

    end;

 

RichEdit1.Lines.LoadFromFile(GetProgramPath+'data\'+'vidd.txt');

   for n:=0 to RichEdit1.Lines.Count-1 do

    begin

     StringGrid1.Cells[8,n+1]:=RichEdit1.Lines.Strings[n];

    end;

 

RichEdit1.Lines.LoadFromFile(GetProgramPath+'data\'+'osnprod.txt');

   for n:=0 to RichEdit1.Lines.Count-1 do

    begin

     StringGrid1.Cells[9,n+1]:=RichEdit1.Lines.Strings[n];

    end;

RichEdit1.Lines.LoadFromFile(GetProgramPath+'data\'+'meneg.txt');

   for n:=0 to RichEdit1.Lines.Count-1 do

    begin

     StringGrid1.Cells[10,n+1]:=RichEdit1.Lines.Strings[n];

    end;

end;

 

 

procedure TForm1.Button9Click(Sender: TObject);

var

i,j,cl,rt,cr,rb: integer;

s: string;

CopySel: Boolean;

begin

// CopySel:=true - копировать выделение

// CopySel:=false - все ячейки

CopySel:=false;

CL:=-1;

RT:=-1;

CR:=-1;

RB:=-1;

s:='';

with StringGrid1 do

  begin

   if CopySel then

    begin

     CL:=Selection.Left;

     CR:=Selection.Right;

     RT:=Selection.Top;

     RB:=Selection.Bottom;

    end;

   // при необходимости FixedRows и FixedCols можно заменить на 0

   if (CL<FixedCols) or (CL>CR) or (CL>=ColCount) then CL:=FixedCols;

   if (CR<FixedCols) or (CL>CR) or (CR>=ColCount) then CR:=ColCount-1;

   if (RT<FixedRows) or (RT>RB) or (RT>=RowCount) then RT:=FixedRows;

   if (RB<FixedCols) or (RT>RB) or (RB>=RowCount) then RB:=RowCount-1;

   for i:=RT to RB do

    begin

     for j:=CL to CR do

      begin

       s:=s+Cells[j,i];

       if j<CR then s:=s+#9;

      end;

     s:=s+#13#10;

    end;

  end;

ClipBoard.AsText:=s;

end;

 

function IsOLEObjectInstalled(Name: String): boolean;

var

ClassID: TCLSID;

Rez: HRESULT;

begin

// ищем CLSID OLE-объекта

Rez:=CLSIDFromProgID(PWideChar(WideString(Name)), ClassID);

if Rez=S_OK

then Result:=true // объект найден

else Result:=false;

end;

 

procedure TForm1.Button11Click(Sender: TObject);

var

XL: variant; // Переменная в которой создаётся обьект EXCEL

i,j,n: integer;

begin

// Создание документа (обьект Excel)

XL:=CreateOleObject('Excel.Application');

// Чтоб не задавал вопрос о сохранении документа

XL.DisplayAlerts:=false;

// новый документ

XL.WorkBooks.Add;

// или загружаем его

XL.WorkBooks.Open('akt.xls');

// Делаем его видимым

XL.Visible:=true;

// Когда прога уже оттестирована, лучше это делать в конце,

// быстрей работает, а пока нет, лучше в начале

// Левое и правое поля отступа для печати

XL.WorkBooks[1].WorkSheets[1].PageSetup.LeftMargin:=30;

XL.WorkBooks[1].WorkSheets[1].PageSetup.RightMargin:=10;

// Даём название страничке

XL.WorkBooks[1].WorkSheets[1].Name:='Отчетный лист';

// Строка появляется на каждом листе при печати

XL.WorkBooks[1].WorkSheets[1].PageSetup.PrintTitleRows:='$3:$3';

XL.WorkBooks[1].WorkSheets[1].PageSetup.PrintTitleColumns:='$A:$A';

// формат числа

for i := 4 to 13 do

  XL.WorkBooks[1].WorkSheets[1].Columns[i].NumberFormat:='0,00';

XL.WorkBooks[1].WorkSheets[1].Columns[4].NumberFormat:='0';

// Таким способом можно задавать ширину колонки

XL.WorkBooks[1].WorkSheets[1].Columns[1].ColumnWidth:=4.5;

XL.WorkBooks[1].WorkSheets[1].Columns[2].ColumnWidth:=50;

for i := 3 to 13 do

  XL.WorkBooks[1].WorkSheets[1].Columns[i].ColumnWidth := 8;

// Шрифт жирный

XL.WorkBooks[1].WorkSheets[1].Rows[1].Font.Bold:=True;

XL.WorkBooks[1].WorkSheets[1].Rows[1].Font.Color:=clBlack;

XL.WorkBooks[1].WorkSheets[1].Rows[1].Font.Size:=16;

XL.WorkBooks[1].WorkSheets[1].Rows[1].Font.Name:='Times New Roman';

XL.WorkBooks[1].WorkSheets[1].Cells[1,4]:='Отчетный лист';

// Выравнивам по центру по вертикали

XL.WorkBooks[1].WorkSheets[1].Rows[1].VerticalAlignment:=2;

// Выравнивам по центру по горизонтали

XL.WorkBooks[1].WorkSheets[1].Rows[1].HorizontalAlignment:=3;

// Обьединяем ячейки

XL.WorkBooks[1].WorkSheets[1].Range['A1:D1'].Merge;

// Выравнивам по центру по вертикали

XL.WorkBooks[1].WorkSheets[1].Rows[3].VerticalAlignment:=2;

// Выравнивам по центру по горизонтали

XL.WorkBooks[1].WorkSheets[1].Rows[3].HorizontalAlignment:=3;

// Выравнивам по левому краю

XL.WorkBooks[1].WorkSheets[1].Cells[3,2].HorizontalAlignment:=2;

XL.WorkBooks[1].WorkSheets[1].Cells[3,3].HorizontalAlignment:=2;

// Выравнивам по правому краю

XL.WorkBooks[1].WorkSheets[1].Cells[3,4].HorizontalAlignment:=4;

XL.WorkBooks[1].WorkSheets[1].Rows[3].Font.Color:=clBlack;

XL.WorkBooks[1].WorkSheets[1].Rows[3].Font.Name:='Times New Roman';

XL.WorkBooks[1].WorkSheets[1].Rows[3].Font.Size:=12;

XL.WorkBooks[1].WorkSheets[1].Rows[3].Font.Bold:=True;

XL.WorkBooks[1].WorkSheets[1].Cells[3,1]:='№';

XL.WorkBooks[1].WorkSheets[1].Cells[3,2]:='Цвет';

XL.WorkBooks[1].WorkSheets[1].Cells[3,3]:='Оттенок';

// обрисовка диапазона ячеек только снизу

// Borders[1] .... [4] - это края ячейки ColorIndex -4142 - пустой цвет i и n - переменные

XL.WorkBooks[1].WorkSheets[1].Range['A'+IntToStr(i)+':'+chr(ord('C')+n)+IntToStr(i)].Borders.LineStyle:=1;

XL.WorkBooks[1].WorkSheets[1].Range['A'+IntToStr(i)+':'+chr(ord('C')+n)+IntToStr(i)].Borders.Weight:=2;

XL.WorkBooks[1].WorkSheets[1].Range['A'+IntToStr(i)+':'+chr(ord('C')+n)+IntToStr(i)].Borders[4].ColorIndex := 1;

XL.WorkBooks[1].WorkSheets[1].Range['A'+IntToStr(i)+':'+chr(ord('C')+n)+IntToStr(i)].Borders[1].ColorIndex := -4142;

XL.WorkBooks[1].WorkSheets[1].Range['A'+IntToStr(i)+':'+chr(ord('C')+n)+IntToStr(i)].Borders[2].ColorIndex := -4142;

XL.WorkBooks[1].WorkSheets[1].Range['A'+IntToStr(i)+':'+chr(ord('C')+n)+IntToStr(i)].Borders[3].ColorIndex := -4142;

// обрисовка диапазона ячеек

XL.WorkBooks[1].WorkSheets[1].Range['A3:'+chr(ord('C')+n)+IntToStr(i)].Borders.LineStyle:=1;

XL.WorkBooks[1].WorkSheets[1].Range['A3:'+chr(ord('C')+n)+IntToStr(i)].Borders.Weight:=2;

XL.WorkBooks[1].WorkSheets[1].Range['A3:'+chr(ord('C')+n)+IntToStr(i)].Borders.ColorIndex:=1;

// присвоение ячейке значения

XL.WorkBooks[1].WorkSheets[1].Cells[i,j]:='К-во';

// Поворачивать слова, писать вертикально, под углом и т.д.

XL.WorkBooks[1].WorkSheets[1].Rows[2].Orientation:=90;

XL.WorkBooks[1].WorkSheets[1].Range['A2:B2'].Orientation:=0;

end;

 

procedure TForm1.ComboBox1Change(Sender: TObject);

var

cPos, i, j: integer;

s: string;

begin

if ComboBox1.Text='Все'

then ComboBox2.Enabled:=false

else ComboBox2.Enabled:=true;

///////////////////////////////  ИНН

ComboBox2.Clear;

ComboBox2.Text:='456';

ComboBox2.Items.Add('555');

ComboBox2.Items.Add('952');

ComboBox2.Items.Add('987');

ComboBox2.Items.Add('869');

ComboBox2.Items.Add('741');

ComboBox2.Items.Add('784');

ComboBox2.Items.Add('234');

ComboBox2.Items.Add('233');

ComboBox2.Items.Add('456');

ComboBox2.Items.Add('569');

ComboBox2.Items.Add('547');

ComboBox2.Items.Add('954');

////////////  Регистр. номер

if ComboBox1.Text='Регистр. номер' then

  begin

   ComboBox2.Text:='';

   ComboBox2.Items.Clear;

   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.Text:=s;

       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;

  end;

////////////  Год вынуска

if ComboBox1.Text='Год выпуска' then

  begin

   ComboBox2.Text:='';

   ComboBox2.Items.Clear;

   cPos:=0;

   Seek(NoteFile,cPos);

   Read(NoteFile,NoteData); // чтение данных

   s:=NoteData.meneg;

   for i:=0 to FileSize(NoteFile)-1 do

    begin

     if s<>'' then

      begin

       ComboBox2.Text:=s;

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

  end;

////////////////////////////////////////////////////////////////

ComboBox2.Sorted:=true;

end;

 

procedure TForm1.Button10Click(Sender: TObject);

var

i,j,r,c: integer;

WorkBk: _WorkBook;      //  определяем WorkBook

WorkSheet: _WorkSheet;  //  определяем WorkSheet

iIndex: OleVariant;

TabGrid: Variant;

begin

iIndex:=1;

r:=StringGrid1.RowCount; // кол-во строк

c:=StringGrid1.ColCount; // кол-во столбцов

// Создаём массив-матрицу

TabGrid:=VarArrayCreate([0,(r-1),0,(c-1)],VarOleStr);

i:=0;

// Определяем цикл для заполнения массива-матрицы

repeat

  for j:=0 to (c-1) do     // заполнение TabGrid из StringGrid1

   TabGrid[i,j]:=StringGrid1.Cells[j+1,i];

   inc(i,1);

until i>(r-1);

// Соединяемся с сервером TExcelApplication

XLApp.Connect;

// Добавляем WorkBooks в ExcelApplication

XLApp.WorkBooks.Add(xlWBatWorkSheet,0); // не работает в XP !!!

// Выбираем первую WorkBook

WorkBk:=XLApp.WorkBooks.Item[iIndex];

// Определяем первый WorkSheet

WorkSheet:=WorkBk.WorkSheets.Get_Item(1) as _WorkSheet;

// Сопоставляем Delphi массив-матрицу с матрицей в WorkSheet

// Worksheet.Range['A1',Worksheet.Cells.Item[r,c]].Value:=TabGrid;

// Заполняем свойства WorkSheet

WorkSheet.Name:='Отчет';

// Колонтитулы (дробные числа разделяются только '.')

WorkSheet.PageSetup.HeaderMargin:=XLApp.CentimetersToPoints(0.5);

WorkSheet.PageSetup.RightHeader:='Страница &[Страница] из &[Страниц] - &[Дата]';

// Ориентация страницы: книжная (xlPortrait(:=1)) либо альбомная

Worksheet.PageSetup.Orientation:=xlLandscape; // альбомная (:=2)

Worksheet.Columns.WrapText:=true; // переносить по словам

Worksheet.Columns.AutoFit; // автовысота

Worksheet.Columns.HorizontalAlignment:=xlRight;

Worksheet.Columns.VerticalAlignment:=xlCenter;

WorkSheet.Columns.ColumnWidth:=12;

WorkSheet.Columns.Font.Size:=8;

// Обрамление  (xlDouble,...)

WorkSheet.Columns.Borders.LineStyle:=xlContinuous;

// Ширина первой строки

WorkSheet.Range['A'+IntToStr(1),'A'+IntToStr(R)].ColumnWidth:=6;

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