Если необходимо чек об оплате можно распечатать, для этого достаточно нажать кнопку <распечатать>.
Чтобы вернуться на предыдущую форму нужно нажать кнопку <ok>. Важной особенностью здесь также является то, что при нажатии на клавишу <ok> автоматически генерируется отчёт.
2.6.2 Форма 7(добавление квартир предлагаемых продавцами)
Эта форма не являлась бы обязательной если бы была связь с базой данных по квартирам в интернете, которая постоянно обновляется. Но от меня выполнение такой задачи не требовалось, поэтому для увеличения и обновления данных о продавцах и квартирах я создал данную форму.
Так как база по квартирам находится в подчинении у базы по продавцам, то для того чтобы добавить квартиру, необходимо сначала выбрать нужного продавца. Для просмотра продавцов предусмотрен ‘навигатор’, благодаря которому также можно добавлять нового продавца. Для быстрого поиска продавца предусмотрен специальный поиск. Поиск представлен ячейкой для ввода данных и выбором для поиска владельца по: <имени>, <расч_счёту>.
Для поиска достаточно выбрать пункт и начать вводить данные в ячейку(по мере того как их вводят(по мере схожести данных) будет появляться нужная информация).
После того как выбран нужный продавец можно:
- передвигаться по записям с помощью навигатора;
- редактировать записи по квартире(достаточно изменить записи в ячейках и нажать ‘V’ в навигаторе для отмены изменений нажать ‘Х’);
- добавлять новую квартиру выбрав ‘+‘ в навигаторе;
- удалять запись нажав ‘-’;
Для того чтобы вернуться на предыдущую форму нажать кнопку <OK>.
2.7 Форма 6(отчёт)
Это форма представляет собой таблицу с записями о деятельности фирмы. Для простоты перехода по записям здесь также предусмотрен навигатор,
С помощью него удобнее осуществить удаление ненужной записи в отчёте.
Главное в этом отчёте то, что он автоматизирован, то есть записи заносятся сюда автоматически по мере работы. Генерация идёт после того как в форме 5(чек) мы нажали <ок> , часть записей идёт из чека(то есть после осуществления сделки), часть ,в соответствии, из формы 4.
Для возврата в главное меню нужно нажать кнопку <назад>.
ЗАКЛЮЧЕНИЕ
В данной курсовой работе была достигнута частичная автоматизация работы фирмы по продаже квартир. Принцип работы программы довольно прост, любой кто хоть раз держал ‘мышку’ в руке способен понять её работу.
С точки зрения практического применения программный продукт не является полноценным, хотя некоторые модули могут быть использованы для разработки пригодного к реальным условиям приложения. Целью проекта является демонстрация возможностей автоматизации в сфере бытового обслуживания, а также демонстрация удобства и простоты работы. Благодаря программе отпадает необходимость ведения многих документов, вдобавок исключаются ошибки человека(так называемый человеческий фактор).
Очень удобно в программе автоматическое заполнение чеков и отчётов ведь это как правило довольно неинтересный и скучный процесс, одно дело когда надо заполнить несколько документов, другое когда сотни и даже тысячи и вот здесь велика человеческая ошибка.
Много внимания возможностям языка SQL, предоставляющего средства для обработки данных. Запросы дают разнообразные возможности поиска необходимых данных. находить разного рода информацию по клиентам, сотрудникам. Также SQL запросы помогают отсеивать данные по необходимым параметрам, отсеивать можно до тех пор пока не останется нужная нам информация. Данное приложение может быть адаптировано к любой службе занимающихся работой с квартирами или недвижимостью, учитывая схожесть организации основных функций и решаемых задач. Ко всему прочему программу легко расширить например до работы риэлторской фирмы, которая предоставляет различные услуги в виде: оценки квартир, обмен квартир и имеющей другие функции.
Внедрение проекта позволит в значительной мере ускорить обмен информацией в фирме, снизить затраты рабочего времени на действия, напрямую не относящиеся к должностным обязанностям. При использовании для защиты информации и разграничения доступа средств операционной системы и дополнительных программно-аппаратных средств планируется в значительной мере повысить уровень безопасности информации, так как резко сокращается число людей, способных нанести ущерб информации.
Таким образом, реализация проекта позволит значительно уменьшить затраты рабочего времени на организационные вопросы, а, следовательно, повысить производительность труда и экономическую эффективность проводимых работ.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. Архангельский А.Я. Программирование В Delphi 5 – М.:
ЗАО «Издательство Бином», 2000 г. – 1072 с.: ил.
2. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. Второе издание исправленное и дополненное. Авторы Томас Конноли и Каролин Бегг.
3. Встроенное справочное руководство BorlandDelphi 5.
4. Интернет-сайт www.citforum.ru ftp-архив.
5. Документы конференции по Delphi.
Приложение А
Project2
program Project2;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4},
Unit5 in 'Unit5.pas' {Form5},
Unit6 in 'Unit6.pas' {Form6},
Unit7 in 'Unit7.pas' {Form7};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7);
Application.Run;
end.
Unit1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Db, Grids, DBGrids, DBTables, ColorGrd, ExtCtrls, StdCtrls, jpeg,
Buttons;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
DataSource1: TDataSource;
Table1: TTable;
Table1FirstName: TStringField;
Table1SecondName: TStringField;
Table1Otchestvo: TStringField;
Table1Npassporta: TFloatField;
Table1Adress: TStringField;
Table1Phone: TFloatField;
Table1Obrazov: TStringField;
Table1OpWork: TFloatField;
Table1DataBorn: TDateField;
Table1Family: TStringField;
Table1Dolgnost: TStringField;
Table1Oklad: TFloatField;
Table1DataPostWork: TDateField;
N6: TMenuItem;
ColorGrid1: TColorGrid;
DataSource4: TDataSource;
Table4: TTable;
DBGrid4: TDBGrid;
Table4Name: TStringField;
Table4Surname: TStringField;
Table4Adress: TStringField;
Table4Telefhone: TFloatField;
Table4RayonKv: TStringField;
Table4Tipplan: TStringField;
DataSource2: TDataSource;
Table2: TTable;
DataSource3: TDataSource;
Table3: TTable;
Table3Vlad: TStringField;
Table3Rschet: TFloatField;
Table3Adress: TStringField;
Table3Telephone: TFloatField;
Table2Inomer: TFloatField;
Table2Oper: TStringField;
Table2Tipplan: TStringField;
Table2Rayon: TStringField;
Table2Adress: TStringField;
Table2Obpl: TFloatField;
Table2Plkux: TFloatField;
Table2Sostkv: TStringField;
Table2Kolroom: TFloatField;
Table2Sityname: TStringField;
Table2Zena: TFloatField;
Table2Dopsv: TStringField;
Table2Vlad: TStringField;
N7: TMenuItem;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
N8: TMenuItem;
Button1: TButton;
Button2: TButton;
BitBtn1: TBitBtn;
Label3: TLabel;
Label4: TLabel;
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ColorGrid1Change(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
pole:shortstring;
implementation
uses Unit2, Unit4, Unit3, Unit5, Unit6, Unit7;
{$R *.DFM}
procedure TForm1.N3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Form1.table1.flushbuffers;
Form1.table2.flushbuffers;
Form1.Hide;
Form2.Show;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form1.table2.flushbuffers;
Form1.hide;
Form4.show;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with table4 do begin
first;
insert;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
table4.Edit;
if messagedlg('Удалить', mtconfirmation, [mbyes, mbno],0)=mryes
then table4.delete;
end;
procedure TForm1.ColorGrid1Change(Sender: TObject);
begin
form1.Color:=ColorGrid1.ForeGroundColor;
form2.Color:=ColorGrid1.ForeGroundColor;
form3.Color:=ColorGrid1.ForeGroundColor;
form4.Color:=ColorGrid1.ForeGroundColor;
form5.Color:=ColorGrid1.ForeGroundColor;
form6.Color:=ColorGrid1.ForeGroundColor;
form7.Color:=ColorGrid1.ForeGroundColor;
colorgrid1.visible:=false;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
colorgrid1.visible:=true;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
table4.flushbuffers;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
image1.visible:=true;
label1.visible:=true;
label2.visible:=true;
label4.visible:=true;
label3.visible:=false;
dbgrid4.Visible:=false;
BitBtn1.visible:=false;
button1.visible:=false;
button2.visible:=false;
end;
procedure TForm1.Image1Click(Sender: TObject);
begin
image1.visible:=false;
label1.visible:=false;
label2.visible:=false;
label4.visible:=false;
label3.visible:=true;
dbgrid4.Visible:=true;
BitBtn1.visible:=true;
button1.visible:=true;
button2.visible:= true;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
form1.hide;
form6.show;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
table4.flushbuffers;
end;
end.
Unit2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, ExtCtrls;
type
TForm2 = class(TForm)
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Label10: TLabel;
DBEdit10: TDBEdit;
Label11: TLabel;
DBEdit11: TDBEdit;
Label12: TLabel;
DBEdit12: TDBEdit;
Label13: TLabel;
DBEdit13: TDBEdit;
Label1: TLabel;
DBNavigator1: TDBNavigator;
Label14: TLabel;
Label15: TLabel;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Label16: TLabel;
RadioGroup1: TRadioGroup;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1, Unit3;
{$R *.DFM}
procedure TForm2.Button1Click(Sender: TObject);
begin
form2.hide;
form3.show;
Form1.Table1.Last;
Form1.Table1.Insert;
try
except
form3.dbedit1.setfocus;
end;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
form2.Hide;
form1.show;
end;
procedure TForm2.Edit1Change(Sender: TObject);
begin
if Edit1.Text<>'' then
begin
case RadioGroup1.ItemIndex of
0: begin
form1.Table1.Locate('secondname',Edit1.Text,[]);
end;
1: begin
form1.table1.locate('dolgnost',edit1.text,[]);
end;
end;
end;
end;
end.
Unit3
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,