Материал: Разработка автоматизированной системы контроля и управления автопарком такси

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Брукшир ДЖ. Информатика и вычислительная техника СПб.: Питер, 2004.

Вендров А.М. Проектирование программного обеспечения экономических информационных систем. Учебник.: - М.:Финансы и статистика, 2004.

ГОСТ 19.001-77, ГОСТ 19.002-80, ГОСТ 19.004-80, ГОСТ 19.402-78, ГОСТ 19.505-79. Единая система программной документации. - М. Государственный комитет по стандартам, 1982

Скворцов Е.В. Экономические информационные системы. М., Проспект, 2005.

Деньги, кредит, банки: Справ, пособие / Г.И. Кравцова, Б.С. Войтешенко, Е.И. Кравцов и др.; Под общ. ред. Г.И. Кравцовой.-Мн.:Меркаванне, 1994.

Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. «Проектирование экономических информационных систем». Москва: Финансы и статистика, 2001 г

Архангельский А.Я. “Программирование в Delphi 5”, издание 2, 2000 г. М.: ЗАО издательство «БИНОМ».

Н. Культин. Delphi в задачах и примерах, 2005

Глушаков С.В, Клевецов А.П, Теребилов С.А. Программирование на Delphi. -2002г.

Скляренко В.К. Экономика предприятия. М., 2007.

Ковалев В.В. Финансовый анализ: Управление капиталом. Выбор инвестиций. Анализ отчетности. - М.: Финансы и статистика, 1996.

Скала В.И. “Охрана труда и техника безопасности”, - Алматы: «LEM», 2002. -276с

Безопасность жизнедеятельности. Безопасность технологических процессов и производств (Охрана труда): Учеб. пособие для вузов/ П.П. Кукин, В.Л. Лапин, Н.Л. Пономарев и др. - 2-е изд., испр. и доп. - М.: Высш.шк., 2002

Безопасность жизнедеятельности: Учебник/ Под ред. проф. Э.А. Арустамо-ва. - 5-е изд., перераб. и доп. - М.: Издательско-торговая корпорация "Дашков и Ко", 2003

Налякин А.А. Организация учетной работы банка. - М.: ИНФАМ, 1994.

Деятельность банков/Современный опыт США. - М.: ISI BANK, 1992.

Иванов Д.Л. Вексель. - М.: АО "Консалтбанкир", 1993.

Клиринг и межбанковские финансовые документы. - М.: Дело, 1994.

Ковалев В.В. Финансовый анализ: Управление капиталом. Выбор инвестиций. Анализ отчетности. - М.: Финансы и статистика, 1996.

Козлова О.И., Сморчкова Н.С., ГолубовичА.Д. Оценка кредитоспособности предприятия: для банковских работников. - М.: АО "АРГО", 1993.

Система ГОСТов "Информационные технологии", ГОСТ 34.602-89, РД 50-34.698-90 -М. Государственный комитет по стандартам, 1981

Методические указания по написанию дипломных работ по специальности 5В070400- «Вычислительная техника и программное обеспечение», КИУ, 2013.oraclub.trecom.tomsk.su/articles/mir-ora/program/23.htm

Приложение А

Листинг программы

unit AddRegionForm1;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TLabel;: TEdit;: TLabel;: TEdit;: TButton;: TButton;FormKeyPress(Sender: TObject; var Key: Char);Button2Click(Sender: TObject);Button1Click(Sender: TObject);FormShow(Sender: TObject);

{ Private declarations }

{ Public declarations };: TAddRegionForm;RegionsForm1;

{$R *.dfm}TAddRegionForm.Button1Click(Sender: TObject);Edit1.Text = '' then

begin('Введите название района');

Edit1.SetFocus;;;Edit2.Text = '' then

begin('Введите телефонный код');

Edit2.SetFocus;;;.RegListBox.Items.Add(Edit1.Text + #9 + Edit2.Text);.RegListBox.ItemIndex := RegionsForm.RegListBox.Count - 1;.SQL.Clear;.SQL.Add('INSERT INTO regions (region_name, tel_code) VALUES (' +(Edit1.Text) + ',' + Edit2.Text + ')');.ExecSQL;.RegListBox.OnClick(Sender);.Close;;TAddRegionForm.Button2Click(Sender: TObject);.Close;;TAddRegionForm.FormKeyPress(Sender: TObject; var Key: Char);Key = #27 then AddRegionForm.Close;;TAddRegionForm.FormShow(Sender: TObject);.Text := '';.Text := '';.SetFocus;;.MainForm;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, Menus, ADODB, Grids, StdCtrls, ExtCtrls, ColorGrd, Buttons;= class(TForm): TPopupMenu;: TMainMenu;: TADOQuery;: TStringGrid;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TBitBtn;: TComboBox;: TComboBox;: TLabel;: TListBox;: TComboBox;: TMenuItem;: TMenuItem;: TMenuItem;: TButton;: TButton;: TLabel;: TButton;: TStringGrid;: TTimer;: TADOQuery;_tmp: TADOQuery;: TADOQuery;: TMenuItem;: TMenuItem;: TBitBtn;FormShow(Sender: TObject);FormClose(Sender: TObject; var Action: TCloseAction);LocationGridDrawCell(Sender: TObject; ACol, ARow: Integer;: TRect; State: TGridDrawState);FormCreate(Sender: TObject);BitBtn1Click(Sender: TObject);TelEditExit(Sender: TObject);SrcStreetComboBoxKeyPress(Sender: TObject; var Key: Char);SrcStreetComboBoxEnter(Sender: TObject);DestStreetComboBoxEnter(Sender: TObject);DestStreetComboBoxKeyPress(Sender: TObject; var Key: Char);DriverListBoxEnter(Sender: TObject);DriverListBoxClick(Sender: TObject);DriverListBoxDrawItem(Control: TWinControl; Index: Integer;: TRect; State: TOwnerDrawState);DriverListBoxDblClick(Sender: TObject);SrcHouseEditEnter(Sender: TObject);DestHouseEditEnter(Sender: TObject);DestRegComboBoxEnter(Sender: TObject);DestStreetComboBoxChange(Sender: TObject);N3Click(Sender: TObject);Button1Click(Sender: TObject);FormKeyPress(Sender: TObject; var Key: Char);SrcStreetComboBoxChange(Sender: TObject);Button2Click(Sender: TObject);LocationGridDblClick(Sender: TObject);DrStateButtonClick(Sender: TObject);TitleGridDrawCell(Sender: TObject; ACol, ARow: Integer;: TRect; State: TGridDrawState);Timer1Timer(Sender: TObject);D1Click(Sender: TObject);BitBtn2Click(Sender: TObject);qRecordsetChangeComplete(DataSet: TCustomADODataSet;Reason: TEventReason; const Error: Error;EventStatus: TEventStatus);

{ Private declarations }, RowIndex: Integer;: Boolean;: TComboBox;AnyComboBoxKeyPress(var Key: Char);UpdateGrids;

{ Public declarations };Fields: Array[0..8] of String =

('state','voditel_id','voditel','state_name','from_region','to_region',

'time_send','place','time_out');: TMainForm1;: Integer;WelcomeF1, SendDriver, RegionsForm1, EditDriver, ChangeStateForm1, ReportsForm1;

{$R *.dfm}TMainForm1.UpdateGrids;;TMainForm1.BitBtn1Click(Sender: TObject);i: byte;.Text := '';.Text := 'Дом';.Text := 'Дом';:= SrcStreetComboBox;i := 0 to 1 do.Text := 'Улица';.Items.Clear;.Font.Color := clGray;:= DestStreetComboBox;;.Text := 'Район';.Font.Color := clGray;.Font.Color := clGray;.Font.Color := clGray;.OnExit(Sender);.SetFocus;;TMainForm1.BitBtn2Click(Sender: TObject);.ShowModal;;TMainForm1.Button1Click(Sender: TObject);.ShowModal;;TMainForm1.Button2Click(Sender: TObject);.ShowModal;;TMainForm1.D1Click(Sender: TObject);.ShowModal;;TMainForm1.DestHouseEditEnter(Sender: TObject);.Text := '';.Font.Color := clBlack;;TMainForm1.DestRegComboBoxEnter(Sender: TObject);.Text := '';.Font.Color := clBlack;.SQL.Clear;.Close;.SQL.Add('SELECT region_name FROM regions ORDER BY region_name ');.Open;.Items.Clear;not q1.Eof do.Items.Add(q1['region_name']);.Next;;.DroppedDown := true;;TMainForm1.DestStreetComboBoxChange(Sender: TObject);s: String;DestStreetComboBox.Text <> '' then.SQL.Clear;.Close;.SQL.Add('SELECT tel_code FROM ulicy WHERE street_name = ' +(DestStreetComboBox.Text));.Open;not q1.Eof then:= q1['tel_code'];.Close;.SQL.Clear;.SQL.Add('SELECT region_name FROM regions WHERE tel_code = ' + s);.Open;q1['region_name'] <> Null then.Text := q1['region_name'];;;;TMainForm1.DestStreetComboBoxEnter(Sender: TObject);.Text := '';.SQL.Clear;.Close;.SQL.Add('SELECT street_name FROM ulicy ORDER BY street_name');.Open;.Items.Clear;not q1.Eof do.Items.Add(q1['street_name']);.Next;;.DroppedDown := true;;TMainForm1.DestStreetComboBoxKeyPress(Sender: TObject; var Key: Char);:= DestStreetComboBox;(Key);

;TMainForm1.DriverListBoxClick(Sender: TObject);.Repaint;;TMainForm1.DriverListBoxDblClick(Sender: TObject);.ShowModal;;TMainForm1.DriverListBoxDrawItem(Control: TWinControl;: Integer; Rect: TRect; State: TOwnerDrawState);TextWidth, TextHeight: Integer;, x, y: integer;: String;:= DriverListBox.Items[Index];:= clLtGray;i := 0 to LocationGrid.RowCount - 1 doLocationGrid.Cells[2,i] = s thenStrToInt(LocationGrid.Cells[0, i]) of

,1::= clLime;

::= clYellow;

::= clRed;;;;;.Canvas.Brush.Color := RowColor;.Canvas.Font.Color := clBlack;DriverListBox.ItemIndex = Index then.Canvas.Font.Color := clBlue;.Canvas.Font.Style := [fsBold];

end;

//Закрашиваем текст (Text). Также здесь можно добавить выравнивание

DriverListBox.Canvas.FillRect(Rect);:= DriverListBox.Canvas.TextWidth(s);:= DriverListBox.Canvas.TextHeight(s);:= Rect.Left + (Rect.Right - Rect.Left) div 2 - TextWidth div 2;:= Rect.Top + (Rect.Bottom - Rect.Top) div 2 - TextHeight div 2;.Canvas.TextOut(x, y, s);;TMainForm1.DriverListBoxEnter(Sender: TObject);s: String;: Integer;L_next_while;:= DriverListBox.ItemIndex;.SQL.Clear;.Close;.SQL.Add('SELECT cars.voditel FROM travels, cars WHERE cars.id=voditel_id ORDER BY cars.voditel ASC');.Open;.Items.Clear;not q1.Eof do:= q1['voditel'];I := 0 to DriverListBox.Items.Count - 1 doDriverListBox.Items[i] = s thenL_next_while;.Items.Add(s);_next_while:.Next;;.SQL.Clear;.Close;.SQL.Add('SELECT voditel, cars.id FROM cars WHERE cars.id NOT IN (SELECT travels.voditel_id FROM travels)');.Open;not q1.Eof do:= q1['voditel'];.Items.Add(s);

//L_next_while:.Next;;

//DriverListBox.DroppedDown := true;oldIndex < DriverListBox.Items.Count then DriverListBox.ItemIndex := oldIndex;.Repaint;;TMainForm1.FormClose(Sender: TObject; var Action: TCloseAction);.Close;;TMainForm1.FormCreate(Sender: TObject);.ColWidths[0] := 0;.ColWidths[1] := 0;.ColWidths[8] := 0;.ColWidths[0] := 0;.ColWidths[1] := 0;.ColWidths[8] := 0;;TMainForm1.FormKeyPress(Sender: TObject; var Key: Char);Key = #27 then Close;;TMainForm1.FormShow(Sender: TObject);State, Row, oldRow, oldCol: Integer;: String;: Boolean;L_next;:= LocationGrid.Row;:= LocationGrid.Col;

{for I := 0 to LocationGrid.RowCount - 1 do.Rows[i].Clear;.RowCount := 0;

}.Close;.SQL.Clear;.SQL.Add('SELECT cars.voditel, voditel_id, place, from_region, to_region, state, time_send, ' +

'state_id, state_name, time_out ' +

' FROM travels, states, cars WHERE (state=state_id) AND (voditel_id=cars.id) ' +

'ORDER BY time_send DESC ' );

//LocationGrid.Font.Style := [fsBold];.Rows[0].Add('');.Rows[0].Add('');.Rows[0].Add('Водитель');.Rows[0].Add('Статус');.Rows[0].Add('Едет из');.Rows[0].Add('Едет в');.Rows[0].Add('Отправлен');.Rows[0].Add('Сейчас в');.Open;:= 0;LocationGrid.RowCount <> q1.RecordCount then.RowCount := q1.RecordCount;I := 0 to LocationGrid.RowCount - 1 do.Rows[i].Clear;;:= false;I := 0 to LocationGrid.RowCount - 1 do.Cells[1,i] := '';not q1.Eof do

beginq1['voditel_id'] <> NULL then // исключить повторяющихся водителей

for I := 0 to LocationGrid.RowCount - 1 doLocationGrid.Cells[1,i] = String(q1['voditel_id']) thenL_next;

// LocationGrid.RowCount := LocationGrid.RowCount + 1;I := 0 to 8 doq1[Fields[i]] <> NULL thenLocationGrid.Cells[i, Row] <> String(q1[Fields[i]]) then.Cells[i, Row] := String(q1[Fields[i]]);:= true;;