
3 Описание готового программного продукта
Результатом разработки явился готовый программный продукт, способный производить учет и контроль поломок элементов водоснабжения в городе и за его пределами.
Разработано многооконное приложение, обеспечивающее выполнение всех основных задач по ведению базы данных «Заявки на ремонт элементов водоснабжения»
Приложение состоит из двух папок:
папка БД «DB4». Для обеспечения сохранения всех данных, фигурирующих в системе;
папка с оболочкой и необходимыми исходниками «Водоканал» для последующей модернизации и изменений. Там содержится исполняемый файл «Project1.exe», обеспечивающий управление всеми данными в указанной базе.
Заключение
Разработка данного проекта позволила существенно облегчить работу по ведению документации по учету и контролю поломок элементов водоснабжения на территории г. Кисловодска и за его пределами.
Программный продукт позволяет существенно сократить рабочее время на обработку входной и выходной информации, а главное на ее анализ. Очень важным моментом является автоматизация генерации отчетов. Так как все данные хранятся в БД, будет достаточно просто сформировывать дополнительные отчеты на базе хранимых сведений.
Очень важно и то, что даже неопытный пользователь несколькими нажатиями кнопки мыши может воспользоваться нужными функциями: заполнения данными о поломках элементов водоснабжения на каждый день или на любой промежуток времени, коррекцию этих сведений, а также выводить все необходимые данные на печать.
Автоматизация перечисленных действий делает работу операторов наиболее эффективной и экономически выгодной.
Список использованных источников
1 Фаронов В. В. «Программирование баз данных в Delphi 7. Учебный курс». – СПб.: Питер, 2005 – 459 с.
2 В. Понамарёв «Базы данных в Delphi 7. Самоучитель» - СПб.: Питер, 2003. – 224 с.
3 Бобровский С. И. «Delphi 7. Учебный курс» – СПб.: Питер, 2005, 736 с.: ил.
4 Хомоненко А. Д. и др. «Delphi 7. Наиболее полное руководство». – СПб.: БХВ-Петербург, 2005. – 1216 с.: ил.
Приложение а
(обязательное)
Листинг программного кода
(с. 23 - 30)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, StdCtrls, Mask,
ComCtrls, Buttons, Menus;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
Database1: TDatabase;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
F_DOM_KV: TDBEdit;
L_DOM_KV: TLabel;
L_UL: TLabel;
F_UL: TDBEdit;
F_DATAP: TDateTimePicker;
Label1: TLabel;
F_DATAU: TDateTimePicker;
Label2: TLabel;
B_Save: TBitBtn;
F_POLOMKA: TDBEdit;
Label3: TLabel;
B_Append: TBitBtn;
F_UL4: TDBComboBox;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
LishUl: TTable;
F_POLOMKA4: TDBComboBox;
N6: TMenuItem;
N7: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Table1BeforePost(DataSet: TDataSet);
procedure B_SaveClick(Sender: TObject);
procedure B_AppendClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure dob_ulitsu;
var i: integer;
s: string;
begin
//Добавляем значения для подстановки улицы
form1.F_UL4.Clear;
form1.LishUl.Open;
for i:=1 to form1.LishUl.RecordCount do
begin
form1.LishUl.RecNo:=I;
s:=form1.LishUl['Type']; //Если необходим тип улицы, расскомментировать
s:=form1.LishUl['NAME']; //s+' '+
form1.F_UL4.Items.Add(s);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Table1.Open;
dob_ulitsu;
end;
procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
table1.FieldByName('DataP').Value:=F_DATAP.Date;
table1.FieldByName('DataU').Value:=F_DATAU.Date;
end;
procedure TForm1.B_SaveClick(Sender: TObject);
begin
table1.Edit;
form1.Table1.Post;
dob_ulitsu;
end;
procedure TForm1.B_AppendClick(Sender: TObject);
begin
table1.Edit;
form1.Table1.Append;
dob_ulitsu;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
form2.ShowModal;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
showMessage('Эта безумная программа, которая была сделана со 104 раза.'+#13+'Автор: студентка 341 группы Каргина Екатерина Васильевна');
end;
procedure TForm1.N7Click(Sender: TObject);
begin
form3.ShowModal;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;
type
TForm2 = class(TForm)
STREETS: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
form2.STREETS.Open;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, ComCtrls,
StdCtrls, RpCon, RpConDS, RpDefine, RpRave;
type
TForm3 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
RvProject1: TRvProject;
RvDataSetConnection1: TRvDataSetConnection;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Label2Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure Label5Click(Sender: TObject);
procedure Label7Click(Sender: TObject);
procedure Label6Click(Sender: TObject);
procedure Label8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
form3.Table1.Open;
form3.Edit1.Text:='Введите название улицы';
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
if form3.Table1.Locate('DataP',form3.DateTimePicker1.Date,[]) then
form3.DBGrid1.SetFocus;
end;
procedure TForm3.Label2Click(Sender: TObject);
var s: string;
begin
s:='('+'DataP='+#39+DateToStr(form3.DateTimePicker1.Date)+#39+')';
//showmessage(s);
form3.Table1.Filter:=s;
form3.Table1.Filtered:=true;
end;
procedure TForm3.Label3Click(Sender: TObject);
begin
form3.Table1.Filtered:=false;
end;
procedure TForm3.Label5Click(Sender: TObject);
begin
if form3.Table1.Locate('Ulitsa',form3.edit1.Text,[]) then
form3.DBGrid1.SetFocus;
end;
procedure TForm3.Label7Click(Sender: TObject);
begin
form3.Table1.Filtered:=false;
end;
procedure TForm3.Label6Click(Sender: TObject);
var s: string;
begin
s:='('+'Ulitsa='+#39+form3.Edit1.Text+#39+')';
form3.Table1.Filter:=s;
form3.Table1.Filtered:=true;
end;
procedure TForm3.Label8Click(Sender: TObject);
begin
form3.RvProject1.Execute;
end;
end.