Создание базы данных: «Автоматизированное рабочее место сервисного центра»

Курсовая работа

Цель работы: Создание базы данных: «Автоматизированное рабочее место сервисного центра»

СУБД или язык программирования, используемые для реализации курсовой работы: SQL server InterBase 7, Delphi 7

Основные аспекты курсовой работы:

Основная задача курсовой работы создание программного продукта позволяющего вести учет приемки-выдачи заказов в сервисном центре.

Состав курсовой работы должен содержать следующие составные части:

1. Полностью завершённый проект базы данных «Автоматизированное рабочее место сервисного центра», реализованный на базе СУБД InterBase 7, и алгоритмического языка Delphi 7, содержащий следующие модули:

  • Ввод нового заказа
  • Работа с существующими заказами
  • Сортировка
  • Отчет о проделанной работе сервисного центра

Заказчик также требует учесть чтобы был ввод данных сервисного центра, возможность сортировать по состоянию заказа.

Обзор рынка аналогичных программ. Имеется целая серия ПО позволяющих вести работу в сервисном центре. Но не многие из этой армии Software имеют гибкую настройку сортировки заказов. К тому же, программы подобного уровня стоят не малые деньги. Также во многих аналогах нет возможности быстро оценить степень срочности заказа благодаря цветовому выделению. Нет также в своем большинстве таких программ вывода информации на бумажный носитель.

В нашей работе мы устраним эти недостатки. А именно добавим в проект возможность гибкой сортировки заказов, цветовое выделение строк, вывод отчетов на бумажный носитель. Программа получила свое название: Dialog3.

Сбор исходных данных. Разберем сам процесс автоматизации рабочего места сервисного центра.

В сервисный центр поступает (Дата приемки, Дата выдачи) устройство (Устройство, Производитель, Модель, Серийный номер), вносятся сведенья о сделавшем заявку, это может быть как физическое лицо, так и юридическое. В случае, если сделало заявку юридическое лицо вносятся сведенья о названии организации и фамилия, имя, отчество через кого была сделана заявка организацией (Правовая форма, Адрес, Телефон, Фамилия, Имя, Отчество) и кто из сотрудников выполнил заявку (Выполнил, Фамилия, Имя, Отчество).

После выполнения заявки вносятся дополнительные сведенья о проделанной работе: какая работа была проделана, в случае если выполняемые услуги в сервисном центре систематизированы вводиться артикул, количество видов работ, цена работы, общая сумма за выполненную работу, дополнительное описание работы если есть необходимость, в случае если пришлось заменить какое-то комплектующие вносятся сведенья об снятом устройстве и сведенья об установленном устройстве (Работа, Артикул, Количество, Цена, Сумма, Описание, Выполнено, Снято, Установлено).

25 стр., 12123 слов

Автоматизация деятельности сервисного центра

... «Металлопрокат». Предмет исследования – автоматизация деятельности сервисного центра ООО «Металлопрокат». Целью данной работы является разработка автоматизированной системы для сервисного центра ООО «Металлопрокат» В соответствии с целью была определена необходимость постановки и решения следующих задач: ...

Интерфейс проекта

После запуска программы мы видим главное окно программы. Можно посмотреть, что необходимо делать. Цветов выделено:

Что позволяет быстро сориентироваться сотруднику сервисного центра – какую работу надо проделать в п6ервую очередь.

Если мы выберем меню Файл, то нам будет предложено выйти из программы.

При выборе в пункте меню поля Запись, нам будет предложено:

Выберем Добавить: мы видим форму заявки на обслуживание. Номер заявка на ремонт и дата приема заявки подставляется автоматически. Далее необходимо выбрать какой вид ремонта производиться: платный или гарантийный.

После чего выбираем устройство, если в устройствах выбрано устройство, которое может содержать другие комплектующие (например системный блок может содержать процессор, материнскую плату, жесткий диск видео и звуковую карту и т.д.), то нажимаем кнопочку возле поля Устройство.

Далее мы выбираем производителя, модель и серийный номер устройства. После чего нам необходимо заполнить название организации делающей заявку или же имя, фамилию, отчество заявителя. Ввести адрес и телефон заказчика. В случае, если заказ делала организация, необходимо ввести фамилию, имя, отчество через кого производился заказ.

После того, как мы ввели основные сведенья нам необходимо нажать далее кнопку Далее, без заполненной формы кнопка ОК для принятия заказа не активируется.

После того, как мы заполнили форму Неисправность и перечень работ, мы нажимаем Ок. Заказ принят.

При нажатии клавиши Enter или же Запись -> Изменить появляется следующая форма:

В этой форме мы можем изменить, как первоначальные сведенья, так и сведенья необходимые нам в течении всей работы над заказом. Во-первых это свойство Состояние.

После того, как работа выполнена заполняется форма Выполненная работа:

Здесь мы устанавливаем какая работа проводилась над заказом и стоимость проводимой работы.

В случае, если во время ремонта производилась замена деталей или комплектующих, то указывается это в формах Снято и Установлено соответственно.

Здесь указываются сведенья об устройстве, серийный номер устройства, артикул, количество и цена устройства. Устройств может быть неограниченное количество.

Если на форме мы нажмем кнопку печать, то появится следующая форма:

Если мы выберем кнопку Квиток, то появиться форма для вывода на печать заявки на ремонт.

Данный квиток выдается заказчику. Данную форму предоставил заказчик программы, она содержит все необходимые заказчику сведенья: дату заказа, кто принял заказ, название и телефон организации по которому можно узнать, как продвигается выполнение работы, номер заказа, какая работа выполняется и какое оборудование предоставил заказчик сервисному центру.

Если же мы выберем Отчет, то появиться отчет о проделанной работе над заказом. В отчете предоставлены полные сведенья о проделанной работе: номер заказа, дата приемки и дата выдачи заказа, кто принимал и кто выдавал заказ, какая работа была проведена, какие устройства были заменены, общая стоимость проведенных работ. Благодаря тому, что сведенья о конечной сумме проделанной работы достаточно полные это позволяет заказчику увидеть «за что» он отдает деньги.

19 стр., 9112 слов

Разработка программы для автоматизации работы магазина спортивной одежды

... для каждого из сотрудников будет создано свое приложение. Список функций для каждого приложения, автоматизация ... XP, Windows 7. Для разработки системы желательно использовать ... информацию о различных аспектах работы магазина. Система также ... оформление договора; оформление заказа клиента; продажа товара; ... Для процесса занесения данных также требуется декомпозиция. На рисунке 5 отображено, какие данные необходимо ...

Для данного отчета приведен пример: в сервисный центр поступила заявка на лечение вирусов. Для лечения вирусов был установлен антивирусный пакет стоимостью 500 рублей. В процессе работы встала производственная необходимость извлечь из системного блока CD – Rom, тут же указывается его цена и модель. В результате этой манипуляции в графе Итого Выполненная работа из общей цены была отнята цена привода.

После того, заказ выполнен необходимо нажать кнопку Заказ выполнен, после чего со строки спадает выделение цветом.

Если в меню Запись выбрать Удалить, то строчка будет выделена черным цветом.

Последний пункт в меню Запись это Сортировка.

Сортировка имеет три вкладки Сортировка, Дополнительно и Расширенный поиск. В Сортировке вводиться критерий выборки и пункт по которому производиться сортировка. В случае, если необходим расширенный поиск, то необходимо выбрать свойство Использовать расширенный поиск.

При выборе условий используются логические операции И и Или. Если необходимо, то для сортировки необходимо использовать вкладку Дополнительно

В Сортировка -> Дополнительно, можно выбрать свойства: Показывать удаленные записи, Находиться сколько дней в ремонте, Показать все невыполненные заказы, находящиеся более 7 дней.

Далее в меню идет Отчет. В отчете мы можем увидеть работу сервисного центра: какие заказы выполнены, кто заказчик, доход за указанный промежуток времени, дату выполнения заказа, какой вид ремонта (гарантийный или платный ремонт).

Программа оснащена достаточно полной справочной системой. В справке полностью отражены о системойолнения формы:сновные свойства программного продукта.

По пожеланиям заказчика в программе реализовано ведение истории работы с программой. Благодаря этому свойству Руководитель может в любое время посмотреть когда и восколько была заявка или же был произведен ремонт. В целом благодаря истории можно просмотреть активность работы отдела.

Так же, конечный пользователь базы данных может настроить программу соответствуя своим пожеланиям.

По умолчанию при установке программы в первый раз все свойства включены.

Пользователь программы может по своему усмотрению изменить цвета выделения в программе. Единственное, что необходимо учесть в данном случае это то, что если после того, как изменить настройки и выйти из программы, то другому пользователю запустившему программу после произведенных изменений будет работать с уже произведенными настройками. То есть, может произойти прецедент, что сотрудники будут постоянно менять настройки программы, поэтому рекомендуется оставлять настройки по умолчанию.

Изменения цвета в программе реализовано очень удобным образом. По желанию, могут быть использованы, как заранее предложенные цвета, так и цвета на выбор пользователя используя графическую палитру.

В программу так же включено сведенья о разработчике: Имя, номер телефона и адрес электронной почты. Это позволяет в случае необходимости доработки или форс-мажорных обстоятельств легко связаться с разработчиком.

39 стр., 19206 слов

Автоматизация управления предприятием

... непрерывный учет, что и будет выполнять разрабатываемое программное обеспечение. 1. Аудит знаний предприятия управление база программный С тех пор как экономисты начали использовать понятие «интеллектуальный капитал», ... операции. 1.2 Ключевые предпосылки Не имеет смысла начинать работу по созданию системы управления знаниями предприятия, пока в той или иной форме не определено, что же на ...

Технологии. Процедура закраски ячеек:

  • procedure TForm1.DBCoolGrid1DrawColumnCell(Sender: TObject;
  • const Rect: TRect;
  • DataCol: Integer;
  • Column: TColumn;
  • State: TGridDrawState);

var

ss,s:string;

  • dat,dat1:TDateTime;
  • d1,d,m1,m,y1,y:word;

begin

if DataModule2.IBQuery1_2.RecordCount>0 then

begin

s:=column.Field.Text;

  • if Column.Index=0 then

begin

if s=’N’ then

s:=’В ремонте’;

if s=’B’ then

s:=’Отправлено по гарантии’;

if s=’C’ then

s:=’Ждем запчасти’;

if s=’D’ then

s:=’Ждем заказчика’;

if s=’Y’ then

s:=’Выполнено’;

if s=’X’ then

s:=’Удалено’;

  • end;
  • if Column.Index=3 then

begin

ss:= (Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T113’).AsString;

  • if ss<>’Y’ then s:=’Не готово’;
  • end;
  • if Column.Index=5 then

begin

if s=’1′ then s:=’Платный’else

if s=’2′ then s:=’Гарантийный’;

  • end;
  • if Column.Index=4 then

begin

DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl04 ‘);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T401=’+s+’ ‘);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

s:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T402’).AsString);

  • end;
  • if Column.Index=6 then

begin

DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl07 ‘);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T701=’+s+’ ‘);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

s:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T702’).AsString);

  • end;
  • if Column.Index=7 then

begin

DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl07 ‘);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T701=’+s+’ ‘);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

s:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T707’).AsString);

  • end;
  • if Column.Index=8 then

begin

DataModule2.IBQueryAll.Close;

with DataModule2 do

2 стр., 947 слов

Технологии анализа данных (Text Mining, Data Mining)

... УДК 004.912 2. А.А. Барсегян, М.С. Куприянов, В.В. Степаненко, И.И. Холод: Технологии анализа данных. Data Mining, Visual Mining, Text Mining, OLAP: БХВ-Петербург, 2007 3. <http://megaputer.ru/data_mining.php> 4. <http://www.compress.ru/article.aspx?id=10290&iid=424> 5. <http://www.iteam.ru/publications/it/section_92/article_1448/> ...

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl08 ‘);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T801=’+s+’ ‘);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

s:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T802’).AsString);

  • end;
  • if Column.Index=9 then

begin

DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl08 ‘);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T801=’+s+’ ‘);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

s:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T802’).AsString);

  • end;
  • if (Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T113′).AsString=’Y’ then

begin

DBCoolGrid1.Canvas.Font.Color:=clGray;

  • DBCoolGrid1.Canvas.Brush.Color:=clWhite;

end

else

begin

DBCoolGrid1.Canvas.Font.Color:=clBlack;

  • DBCoolGrid1.Canvas.Brush.Color:=clWhite;
  • end;
  • if (Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T113′).AsString<>’Y’ then

begin

dat:=(Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T103’).AsDateTime;

  • dat1:=Date;
  • DecodeDate(Dat,y,m,d);
  • DecodeDate(Dat1,y1,m1,d1);
  • if dat1-dat >=7 then

begin

if (Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T113′).AsString=’N’ then

begin

DBCoolGrid1.Canvas.Font.Color:=clWhite;

  • DBCoolGrid1.Canvas.Brush.Color:=form12.Panel1.Color;
  • end;
  • if (Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T113′).AsString=’D’ then

begin

DBCoolGrid1.Canvas.Font.Color:=clWhite;

  • DBCoolGrid1.Canvas.Brush.Color:=form12.Panel2.Color;
  • end;
  • if (Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T113′).AsString=’C’ then

begin

DBCoolGrid1.Canvas.Font.Color:=clWhite;

  • DBCoolGrid1.Canvas.Brush.Color:=form12.Panel3.Color;
  • end;
  • if (Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T113′).AsString=’B’ then

begin

DBCoolGrid1.Canvas.Font.Color:=clWhite;

  • DBCoolGrid1.Canvas.Brush.Color:=form12.Panel4.Color;
  • end;
  • end;
  • end;
  • if (Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T113′).AsString=’X’ then

begin

DBCoolGrid1.Canvas.Font.Color:=clGray;

  • DBCoolGrid1.Canvas.Brush.Color:=form12.Panel5.Color;
  • end;

{if gdFocused in State then

44 стр., 21893 слов

Разработка информационно-аналитической системы контакт-центра

... покупок (связь, развлечения, служба быта). Целью данной дипломной работы является разработка информационно-аналитической системы контакт центра "СИМПРЕЗА". Для достижения данной цели необходимо решить следующие ... выявляет потребности клиентов, их категорию и направленность. 2. Планирует работу с клиентами, разрабатывает методики общения с ними. 3. Организует предварительные переговоры с клиентами, ...

NoId:=DataModule2.IBQuery1_2T101.AsInteger;

  • if NoId =(Sender as TDBGrid).DataSource.DataSet.FieldByName(‘T101’).AsInteger then

begin

DBCoolGrid1.Canvas.Font.Style:=[fsBold];

  • DBCoolGrid1.Canvas.Font.Color:=clWhite;
  • DBCoolGrid1.Canvas.Brush.Color:=$00FF8000;
  • end;

}

if gdFocused in State then

begin

DBCoolGrid1.Canvas.Font.Style:=[fsBold];

  • DBCoolGrid1.Canvas.Font.Color:=clWhite;
  • DBCoolGrid1.Canvas.Brush.Color:=$00FF8000;
  • end;
  • DBCoolGrid1.Canvas.FillRect(Rect);
  • DBCoolGrid1.Canvas.TextRect(Rect, Rect.Left+1, Rect.Top + 2, s);
  • end;
  • end;

Процедура занесения данных в базу:

  • procedure TForm3.SpeedButton1Click(Sender: TObject);

var

i,NT2,NT1,NT4,NT5,NT6,NT7,NT8,NT9,NT10,NT11,NT12:integer;

  • s,snam,sot,ss:string;
  • DtD:TDateTime;
  • DD,MM,YY:word;

begin

dxPickEdit1.Text:=TestStr(dxPickEdit1.Text);

  • dxPickEdit2.Text:=TestStr(dxPickEdit2.Text);
  • dxPickEdit3.Text:=TestStr(dxPickEdit3.Text);
  • dxPickEdit4.Text:=TestStr(dxPickEdit4.Text);
  • dxPickEdit5.Text:=TestStr(dxPickEdit5.Text);
  • dxPickEdit6.Text:=TestStr(dxPickEdit6.Text);
  • dxPickEdit7.Text:=TestStr(dxPickEdit7.Text);
  • dxPickEdit8.Text:=TestStr(dxPickEdit8.Text);
  • dxPickEdit9.Text:=TestStr(dxPickEdit9.Text);
  • dxPickEdit10.Text:=TestStr(dxPickEdit10.Text);
  • dxPickEdit11.Text:=TestStr(dxPickEdit11.Text);
  • form1.Memo1.Lines.Append(‘+——{**___**}——+’);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit1.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit2.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit3.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit4.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit5.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit6.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit7.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit8.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit9.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit10.Text);
  • form1.Memo1.Lines.Append(‘Add:’+dxPickEdit11.Text);
  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl04 ‘);
  • s:=Trim(dxPickEdit1.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T402=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

nt4:=DataModule2.IBQueryAll.fieldbyname(‘T401’).AsInteger

17 стр., 8435 слов

Информационные технологии в образовании (2)

... создания подобных электронных приложений. Дипломный проект состоит из трех частей: 1. Первая часть - аналитическая, в ней содержится: Аспекты внедрения новых информационных технологий, как в повседневную ... каждого пользователя как в российское, так и в мировое информационное пространство. работе учащихся на домашнем компьютере. назначение. Огромный объем памяти носителя информации позволяет ...

else

begin

DataModule2.IBTable4.Insert;

  • DataModule2.IBTable4T401.AsInteger:=0;
  • s100:=dxPickEdit1.Text;
  • if s100=» then s100:=’none’;
  • DataModule2.IBTable4T402.AsString:=s100;
  • DataModule2.IBTable4.Post;
  • DataModule2.IBQueryAll.Close;
  • DataModule2.IBQueryAll.Open;
  • nt4:=DataModule2.IBQueryAll.fieldbyname(‘T401’).AsInteger

end;

  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl05 ‘);
  • s:=Trim(dxPickEdit2.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T502=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

nt5:=DataModule2.IBQueryAll.fieldbyname(‘T501’).AsInteger

else

begin

DataModule2.IBTable5.Insert;

  • DataModule2.IBTable5T501.AsInteger:=0;
  • s100:=dxPickEdit2.Text;
  • if s100=» then s100:=’none’;
  • DataModule2.IBTable5T502.AsString:=s100;
  • DataModule2.IBTable5.Post;
  • DataModule2.IBQueryAll.Close;
  • DataModule2.IBQueryAll.Open;
  • nt5:=DataModule2.IBQueryAll.fieldbyname(‘T501’).AsInteger

end;

  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl06 ‘);
  • s:=Trim(dxPickEdit3.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T602=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

nt6:=DataModule2.IBQueryAll.fieldbyname(‘T601’).AsInteger

else

begin

DataModule2.IBTable6.Insert;

  • DataModule2.IBTable6T601.AsInteger:=0;
  • s100:=dxPickEdit3.Text;
  • if s100=» then s100:=’none’;
  • DataModule2.IBTable6T602.AsString:=s100;
  • DataModule2.IBTable6.Post;
  • DataModule2.IBQueryAll.Close;
  • DataModule2.IBQueryAll.Open;
  • nt6:=DataModule2.IBQueryAll.fieldbyname(‘T601’).AsInteger

end;

  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl08 ‘);
  • s:=Trim(dxPickEdit11.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T802=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

nt8:=DataModule2.IBQueryAll.fieldbyname(‘T801’).AsInteger

else

begin

DataModule2.IBTable8.Insert;

  • DataModule2.IBTable8T801.AsInteger:=0;
  • s50:=dxPickEdit11.Text;
  • if s50=» then s50:=’none’;
  • DataModule2.IBTable8T802.AsString:=s50;
  • DataModule2.IBTable8.Post;
  • DataModule2.IBQueryAll.Close;
  • DataModule2.IBQueryAll.Open;
  • nt8:=DataModule2.IBQueryAll.fieldbyname(‘T801’).AsInteger

end;

24 стр., 11706 слов

Автоматизация рабочего места диспетчера по транспорту

... получения необходимой информации. Актуальность данной работы заключается в необходимости комплексной автоматизации рабочих мест диспетчеров. Целью дипломной работы является разработка и внедрение модуля ... 1С: Управление Автотранспортом». «1С: Управление Автотранспортом» обеспечивает комплексную поддержку бизнес-процессов в транспортных организациях и подразделениях, позволяет получать и использовать ...

  • DataModule2.IBQueryAll.Close;
  • if dxPickEdit5.Text=» then

begin

snam:=trim(dxPickEdit9.Text);

  • sot:=trim(dxPickEdit10.Text);
  • ss:=Trim(dxPickEdit8.Text);
  • if snam<>» then

ss:=ss+’ ‘+snam[1]+’.’;

  • if sot<>» then

ss:=ss+’ ‘+sot[1]+’.’;

  • dxPickEdit5.Text:=ss;
  • end;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl07 ‘);
  • s:=Trim(dxPickEdit5.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where (T702=»’+s+»’) and’);
  • s:=Trim(dxPickEdit6.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘ (T706=»’+s+»’) and’);
  • s:=Trim(dxPickEdit7.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘ (T707=»’+s+»’) and’);
  • s:=Trim(dxPickEdit8.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘ (T703=»’+s+»’) and’);
  • s:=Trim(dxPickEdit9.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘ (T704=»’+s+»’) and’);
  • s:=Trim(dxPickEdit10.Text);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘ (T705=»’+s+»’)’);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

nt7:=DataModule2.IBQueryAll.fieldbyname(‘T701’).AsInteger

else

begin

DataModule2.IBTable7.Insert;

  • DataModule2.IBTable7T701.AsInteger:=0;
  • s100:=dxPickEdit5.Text;
  • if s100=» then s100:=’none’;
  • DataModule2.IBTable7T702.AsString:=s100;
  • s30:=dxPickEdit8.Text;
  • if s30=» then s30:=’none’;
  • DataModule2.IBTable7T703.AsString:=s30;
  • s30:=dxPickEdit9.Text;
  • if s30=» then s30:=’none’;
  • DataModule2.IBTable7T704.AsString:=s30;
  • s30:=dxPickEdit10.Text;
  • if s30=» then s30:=’none’;
  • DataModule2.IBTable7T705.AsString:=s30;
  • s100:=dxPickEdit6.Text;
  • if s100=» then s100:=’none’;
  • DataModule2.IBTable7T706.AsString:=s100;
  • s30:=dxPickEdit7.Text;
  • if s30=» then s30:=’none’;
  • DataModule2.IBTable7T707.AsString:=s30;
  • DataModule2.IBTable7.Post;
  • DataModule2.IBQueryAll.Close;
  • DataModule2.IBQueryAll.Open;
  • nt7:=DataModule2.IBQueryAll.fieldbyname(‘T701’).AsInteger

end;

15 стр., 7480 слов

Автоматизированная обучающая система «Программирование»

... часть 1.1 Описание предметной области В данной курсовой работе требуется автоматизировать процесс обучения студентов по дисциплине «Программирование». Для описания предметной области воспользуемся ... показывает, что данные проблемы могут быть решены с использованием автоматизированных обучающих систем. Автоматизированные обучающие системы представляют собой комплексы научно-методической, учебной ...

  • {Showmessage(‘T4=’+inttostr(nt4)+’ T5=’+inttostr(nt5)+’ T6=’+inttostr(nt6)+’ T7=’+inttostr(nt7)+’ ‘+’ T8=’+inttostr(nt8)+’ ‘);}

begin

DataModule2.IBTable1.Insert;

  • DataModule2.IBTable1T101.AsInteger:=0;
  • DataModule2.IBTable1T102.AsInteger:=round(dxSpinEdit1.Value);
  • DataModule2.IBTable1T103.AsDateTime:=StrToDate(dxDateEdit1.Text);
  • dtd:=StrToDate(dxDateEdit1.Text);
  • DecodeDate(DtD,YY,MM,DD);
  • DtD:=DateSer(YY,MM,DD-1);
  • DataModule2.IBTable1T104.AsDateTime:=DtD;
  • DataModule2.IBTable1T105.AsInteger:=NT4;
  • DataModule2.IBTable1T106.AsInteger:=NT5;
  • DataModule2.IBTable1T107.AsInteger:=NT6;
  • s20:=dxPickEdit4.Text;
  • if s20=» then s20:=’none’;
  • DataModule2.IBTable1T108.AsString:=s20;
  • if dxCheckEdit1.Checked then

DataModule2.IBTable1T109.AsString:=’1′

else

DataModule2.IBTable1T109.AsString:=’2′;

  • DataModule2.IBTable1T110.AsInteger:=NT7;
  • DataModule2.IBTable1T111.AsInteger:=NT8;
  • DataModule2.IBTable1T112.AsInteger:=NT8;
  • DataModule2.IBTable1T113.AsString:=’N’;
  • DataModule2.IBTable1.Post;
  • DataModule2.IBQueryAll.Close;
  • DataModule2.IBQueryAll.Open;
  • DataModule2.IBTable1.Refresh;
  • DataModule2.IBTable1.Last;
  • nt1:=DataModule2.IBTable1T101.AsInteger;

for i:=1 to 5 do

if trim(form4.StringGrid1.Cells[1,i])<>» then

begin

DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl09 ‘);
  • s:=trim(form4.StringGrid1.Cells[1,i]);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T902=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

nt2:=DataModule2.IBQueryAll.fieldbyname(‘T901’).AsInteger

else

begin

DataModule2.IBTable9.Insert;

  • DataModule2.IBTable9T901.AsInteger:=0;
  • s200:=trim(form4.StringGrid1.Cells[1,i]);
  • if s200=» then s200:=’none’;
  • DataModule2.IBTable9T902.AsString:=s200;
  • DataModule2.IBTable9.Post;
  • DataModule2.IBQueryAll.Close;
  • DataModule2.IBQueryAll.Open;
  • nt2:=DataModule2.IBQueryAll.fieldbyname(‘T901’).AsInteger

end;

  • DataModule2.IBTable2.Insert;
  • DataModule2.IBTable2T201.AsInteger:=0;
  • DataModule2.IBTable2T202.AsInteger:=nt1;
  • DataModule2.IBTable2T203.AsInteger:=nt2;
  • DataModule2.IBTable2.Post;
  • end;
  • end;
  • for i:=1 to Form14.CoolStringGrid1.RowCount-1 do

if trim(form14.CoolStringGrid1.Cells[1,i])<>» then

begin

DataModule2.IBTable14.Insert;

  • DataModule2.IBTable14T1401.AsInteger:=0;
  • DataModule2.IBTable14T1402.AsInteger:=nt1;
  • s100:=Form14.CoolStringGrid1.Cells[0,i];
  • if s100=» then s100:=’none’;
  • DataModule2.IBTable14T1403.AsString:=s100;
  • s100:=Form14.CoolStringGrid1.Cells[1,i];
  • if s100=» then s100:=’none’;
  • DataModule2.IBTable14T1404.AsString:=s100;
  • DataModule2.IBTable14.Post;
  • end;
  • DataModule2.IBTable1.Refresh;
  • DataModule2.IBTable2.Refresh;
  • DataModule2.IBTable4.Refresh;
  • DataModule2.IBTable5.Refresh;
  • DataModule2.IBTable6.Refresh;
  • DataModule2.IBTable7.Refresh;
  • DataModule2.IBTable8.Refresh;
  • DataModule2.IBTable9.Refresh;
  • Form1.RefreshDB;
  • close;
  • end;

Процедура закрытия БД (эмуляция перезагрузки компьютера):

  • Procedure TForm1.RefreshDB;

begin

DataModule2.IBDatabase1.Close;

  • DataModule2.IBDatabase1.Open;
  • DataModule2.IBTable1.Open;
  • DataModule2.IBTable2.Open;
  • DataModule2.IBTable3.Open;
  • DataModule2.IBTable4.Open;
  • DataModule2.IBTable5.Open;
  • DataModule2.IBTable6.Open;
  • DataModule2.IBTable7.Open;
  • DataModule2.IBTable8.Open;
  • DataModule2.IBTable9.Open;
  • DataModule2.IBTable10.Open;
  • DataModule2.IBTable11.Open;
  • DataModule2.IBTable12.Open;
  • DataModule2.IBTable14.Open;
  • DataModule2.IBQuery1.Open;
  • DataModule2.IBQuery1_1.Open;
  • DataModule2.IBQuery1_2.Open;
  • DataModule2.IBQuery10.Open;
  • DataModule2.IBQuery11.Open;
  • DataModule2.IBQuery12.Open;
  • DataModule2.IBQuery14.Open;
  • DataModule2.IBQuery14_1.Open;
  • DataModule2.IBQuery2.Open;
  • DataModule2.IBQuery2_1.Open;
  • DataModule2.IBQuery3.Open;
  • DataModule2.IBQuery3_1.Open;
  • DataModule2.IBQuery4.Open;
  • DataModule2.IBQuery5.Open;
  • DataModule2.IBQuery6.Open;
  • DataModule2.IBQuery7.Open;
  • DataModule2.IBQuery8.Open;
  • DataModule2.IBQuery9.Open;
  • DataModule2.IBQueryAll.Open;
  • DataModule2.IBQueryAll2.Open;
  • end;
  • function DateSer(y, m, d: Integer): TDateTime;

const

mj: array[1..12] of Integer = (31, 28, 31, 30, 31, 30, 31,

31, 30, 31, 30, 31);

var

add: Integer;

begin

while (true) do

begin

y := y + (m — 1) div 12;

  • m := (m — 1) mod 12 + 1;
  • if m <= 0 then

begin

Inc(m, 12);

  • Dec(y);
  • end;

if ((y mod 4 = 0) and

((y mod 100 <> 0) or (y mod 400 = 0)))

and (m = 2) then

add := 1 //дополнительный день в феврале

else

add := 0;

  • if (d >
  • 0) and (d <= (mj[m] + add)) then

break;

  • if d > 0 then

begin

Dec(d, mj[m] + add);

  • Inc(m);

end

else

begin

Inc(d, mj[m] + add);

  • Dec(m);
  • end;
  • end;
  • Result := EncodeDate(y, m, d);
  • end;

Заполнение полей:

  • procedure TForm3.FormShow(Sender: TObject);

var

s:string;

begin

dxPickEdit1.Items.Clear;

  • DataModule2.IBQuery4.First;

repeat

s:=Trim(DataModule2.IBQuery4T402.AsString);

  • if s<>» then

if dxPickEdit1.Items.IndexOf(s)=-1 then

dxPickEdit1.Items.Add(s);

  • DataModule2.IBQuery4.Next;
  • until DataModule2.IBQuery4.Eof;
  • dxPickEdit1.Sorted:=true;
  • dxPickEdit2.Items.Clear;
  • DataModule2.IBQuery5.First;

repeat

s:=Trim(DataModule2.IBQuery5T502.AsString);

  • if s<>» then

if dxPickEdit2.Items.IndexOf(s)=-1 then

dxPickEdit2.Items.Add(s);

  • DataModule2.IBQuery5.Next;
  • until DataModule2.IBQuery5.Eof;
  • dxPickEdit2.Sorted:=true;
  • dxPickEdit3.Items.Clear;
  • DataModule2.IBQuery6.First;

repeat

s:=Trim(DataModule2.IBQuery6T602.AsString);

  • if s<>» then

if dxPickEdit3.Items.IndexOf(s)=-1 then

dxPickEdit3.Items.Add(s);

  • DataModule2.IBQuery6.Next;
  • until DataModule2.IBQuery6.Eof;
  • dxPickEdit3.Sorted:=true;
  • dxPickEdit11.Items.Clear;
  • DataModule2.IBQuery8.First;

repeat

s:=Trim(DataModule2.IBQuery8T802.AsString);

  • if s<>» then

if dxPickEdit11.Items.IndexOf(s)=-1 then

dxPickEdit11.Items.Add(s);

  • DataModule2.IBQuery8.Next;
  • until DataModule2.IBQuery8.Eof;
  • dxPickEdit11.Sorted:=true;
  • dxPickEdit5.Items.Clear;
  • dxPickEdit6.Items.Clear;
  • dxPickEdit7.Items.Clear;
  • dxPickEdit8.Items.Clear;
  • dxPickEdit9.Items.Clear;
  • dxPickEdit10.Items.Clear;
  • DataModule2.IBQuery7.First;

repeat

s:=Trim(DataModule2.IBQuery7T702.AsString);

  • if s<>» then

if dxPickEdit5.Items.IndexOf(s)=-1 then

dxPickEdit5.Items.Add(s);

  • s:=Trim(DataModule2.IBQuery7T706.AsString);
  • if s<>» then

if dxPickEdit6.Items.IndexOf(s)=-1 then

dxPickEdit6.Items.Add(s);

  • s:=Trim(DataModule2.IBQuery7T707.AsString);
  • if s<>» then

if dxPickEdit7.Items.IndexOf(s)=-1 then

dxPickEdit7.Items.Add(s);

  • s:=Trim(DataModule2.IBQuery7T703.AsString);
  • if s<>» then

if dxPickEdit8.Items.IndexOf(s)=-1 then

dxPickEdit8.Items.Add(s);

  • s:=Trim(DataModule2.IBQuery7T704.AsString);
  • if s<>» then

if dxPickEdit9.Items.IndexOf(s)=-1 then

dxPickEdit9.Items.Add(s);

  • s:=Trim(DataModule2.IBQuery7T705.AsString);
  • if s<>» then

if dxPickEdit10.Items.IndexOf(s)=-1 then

dxPickEdit10.Items.Add(s);

  • DataModule2.IBQuery7.Next;
  • until DataModule2.IBQuery7.Eof;
  • dxPickEdit5.Sorted:=true;
  • dxPickEdit6.Sorted:=true;
  • dxPickEdit7.Sorted:=true;
  • dxPickEdit8.Sorted:=true;
  • dxPickEdit9.Sorted:=true;
  • dxPickEdit10.Sorted:=true;
  • end;

Процедура открытия и редактирования:

  • procedure TForm1.N7Click(Sender: TObject);

var

id,id2,i,no:integer;

  • s:string;

begin

BM := DataModule2.IBQuery1_2.GetBookmark;

  • id:=DataModule2.IBQuery1_2T101.AsInteger;
  • id2:=DataModule2.IBQuery1_2T102.AsInteger;
  • Form5.NT1:=id;
  • Form5.id2:=id2;
  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl01 ‘);
  • IBQueryAll.SQL.Add(‘where T101=’+inttostr(id)+’ ‘);
  • end;
  • DataModule2.IBQueryAll.Open;
  • Form5.NT2:=DataModule2.IBQueryAll.fieldbyname(‘T102’).AsInteger;
  • Form5.dxDateEdit1.Date:=DataModule2.IBQueryAll.fieldbyname(‘T103’).AsDateTime;
  • Form5.dxDateEdit2.Date:=DataModule2.IBQueryAll.fieldbyname(‘T104’).AsDateTime;
  • Form5.NT5:=DataModule2.IBQueryAll.fieldbyname(‘T105’).AsInteger;
  • Form5.NT6:=DataModule2.IBQueryAll.fieldbyname(‘T106’).AsInteger;
  • Form5.NT7:=DataModule2.IBQueryAll.fieldbyname(‘T107’).AsInteger;
  • Form5.dxPickEdit4.Text:=trim(DataModule2.IBQueryAll.fieldbyname(‘T108’).AsString);
  • Form5.NT9:=DataModule2.IBQueryAll.fieldbyname(‘T109’).AsString;
  • Form5.NT10:=DataModule2.IBQueryAll.fieldbyname(‘T110’).AsInteger;
  • Form5.NT11:=DataModule2.IBQueryAll.fieldbyname(‘T111’).AsInteger;
  • Form5.NT12:=DataModule2.IBQueryAll.fieldbyname(‘T112’).AsInteger;
  • Form5.NT13:=DataModule2.IBQueryAll.fieldbyname(‘T113’).AsString;
  • Form5.Caption:=’Редактирование заявки на обслуживание № ‘+inttostr(form5.NT2);
  • if Form5.NT13<>’Y’ then Form5.dxDateEdit2.Visible:=false;
  • form5.SpeedButton6.Enabled:=true;
  • if Form5.NT13=’Y’then form5.SpeedButton6.Enabled:=false;
  • Form5.dxCheckEdit1.Checked:=false;
  • Form5.dxCheckEdit2.Checked:=false;
  • If form5.NT9=’1′ then

Form5.dxCheckEdit1.Checked:=true;

  • If form5.NT9=’2′ then

Form5.dxCheckEdit2.Checked:=true;

  • if form5.NT13=’N’ then

form5.dxPickEdit13.ItemIndex:=0;

  • if form5.NT13=’B’ then

form5.dxPickEdit13.ItemIndex:=1;

  • if form5.NT13=’C’ then

form5.dxPickEdit13.ItemIndex:=2;

  • if form5.NT13=’D’ then

form5.dxPickEdit13.ItemIndex:=3;

  • if form5.NT13=’Y’ then

form5.dxPickEdit13.ItemIndex:=4;

  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl04 ‘);
  • s:=inttostr(form5.NT5);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T401=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • Form5.dxPickEdit1.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T402’).AsString);
  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl05 ‘);
  • s:=inttostr(form5.NT6);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T501=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • Form5.dxPickEdit2.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T502’).AsString);
  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl06 ‘);
  • s:=inttostr(form5.NT7);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T601=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • Form5.dxPickEdit3.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T602’).AsString);
  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl07 ‘);
  • s:=inttostr(form5.NT10);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T701=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • form5.dxSpinEdit1.Value:=form5.id2;
  • Form5.dxPickEdit5.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T702’).AsString);
  • Form5.dxPickEdit6.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T706’).AsString);
  • Form5.dxPickEdit7.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T707’).AsString);
  • Form5.dxPickEdit8.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T703’).AsString);
  • Form5.dxPickEdit9.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T704’).AsString);
  • Form5.dxPickEdit10.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T705’).AsString);
  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl08 ‘);
  • s:=inttostr(form5.NT11);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T801=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • Form5.dxPickEdit11.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T802’).AsString);
  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl08 ‘);
  • s:=inttostr(form5.NT12);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T801=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • Form5.dxPickEdit12.Text:=Trim(DataModule2.IBQueryAll.fieldbyname(‘T802’).AsString);
  • DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl02 ‘);
  • s:=inttostr(form5.NT1);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T202=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll.Open;
  • DataModule2.IBQueryAll.First;
  • i:=0;
  • Form5.CoolStringGrid1.Clear;
  • if DataModule2.IBQueryAll.RecordCount>0 then

repeat

no:=DataModule2.IBQueryAll.fieldbyname(‘T203’).AsInteger;

  • DataModule2.IBQueryAll2.Close;

with DataModule2 do

begin

IBQueryAll2.SQL.Clear;

  • IBQueryAll2.SQL.Add(‘select * from tabl09 ‘);
  • s:=inttostr(No);
  • if s=» then s:=’none’;
  • IBQueryAll2.SQL.Add(‘where T901=»’+s+»»);
  • end;
  • DataModule2.IBQueryAll2.Open;
  • Inc(i);
  • Form5.CoolStringGrid1.Cells[0,i]:=trim(DataModule2.IBQueryAll2.fieldbyname(‘T902’).AsString);
  • DataModule2.IBQueryAll.Next;
  • until DataModule2.IBQueryAll.Eof;

Процедура автоматического заполнения формы:

  • procedure TForm3.dxPickEdit5KeyPress(Sender: TObject;
  • var Key: Char);

var

s:string;

begin

s:=dxPickEdit5.Text;

{if key=#13 then}

begin

DataModule2.IBQueryAll.Close;

with DataModule2 do

begin

IBQueryAll.SQL.Clear;

  • IBQueryAll.SQL.Add(‘select * from tabl07 ‘);
  • if s=» then s:=’none’;
  • IBQueryAll.SQL.Add(‘where T702=»’+s+»»);
  • IBQueryAll.SQL.Add(‘order by T701 desc ‘);
  • end;
  • DataModule2.IBQueryAll.Open;
  • if DataModule2.IBQueryAll.RecordCount>0 then

begin

dxPickEdit6.Text := Trim(DataModule2.IBQueryAll.fieldbyname(‘T706’).AsString);

  • dxPickEdit7.Text := Trim(DataModule2.IBQueryAll.fieldbyname(‘T707’).AsString);
  • dxPickEdit8.Text := Trim(DataModule2.IBQueryAll.fieldbyname(‘T703’).AsString);
  • dxPickEdit9.Text := Trim(DataModule2.IBQueryAll.fieldbyname(‘T704’).AsString);
  • dxPickEdit10.Text := Trim(DataModule2.IBQueryAll.fieldbyname(‘T705’).AsString);
  • end;
  • Руководство.

Программа имеет интуитивно понятный интерфейс. Не всегда есть необходимость ввести полный набор данных, поэтому необязательно вводить всю информацию, достаточно ввести только основное.

Так как программа имеет очень узко специализированную область применения (это требуется заказчику), и нет необходимости создавать дополнительную справочную систему. Достаточно будет обучения заказчика. В план обучения входит:

  • Обучение установки программы
  • Восстановление поврежденных данных и предотвращение. (эти два пункта есть в помощи поставляемой с InterBase)
  • Обучение заполнению данных (для дальнейшей работы, есть справочник который в полном объеме представляет информацию по программе, а благодаря интуитивно понятному интерфейсу, вероятность ошибиться равна нулю).

Помощь по работе с программой:

1. Создание новой записи

Находясь в рабочей области нажмите <<Ins>> или Запись —> Новая.

В появившемся окне желательно заполнить графы: устройство, Организация/физ. лицо, Специалист сервисного центра. И О Б Я З А Т Е Л Ь Н О указать вид ремонта. Затем нажать далее и указать неполадки.

Если заполняя графу <<Организация/Физ.лицо>> дважды нажать <<Enter>>, то остальные графы заполнятся сами, используя предыдущие данные.

2. Открытие записи

Находясь в рабочей области нажмите <<Enter>> или Запись —> Открыть. В появившемся окне можно указать выполненные операции и распечатать. Дату выдачи есть смысл ставить только при установлении

состояния в положение <<Выполнено>>

3. Сортировка записи

Находясь в рабочей области нажмите <<F3>> или Запись —> Сортировка. В появившемся окне нужно указать критерий выборки и текст выборки. Если не требуется выборка, то в критерии выборки нужно указать — none- В этой версии не требуется вводить весь текст. Достаточно ввесть только часть. например: дана фамилия «Иванов» можно ввести «Ив». добавлять знак «%» не требуется. Если нужно искать по типу ремонта то при платном нужно указать «1», а при гарантийном «2»

4. Настройки

Находясь в рабочей области нажмите Настройка —> Настройка.В появившемся окне есть два пункта Цвет и Log. Для изменения цвета нужно кликнуть по цветному квадратику

Порядок ввода в эксплуатацию.

Установка Программы.

На диске находится Borland Interbase v7.0.1. следует запустить Setup.exe и проследовав инструкции установить сервер. Для регистрации следует запустить KeyGen.exe.

Далее следует перезагрузить компьютер и посмотреть должен появиться процесс ibguardian теперь нужно запустить программу IBConsole. В ней создать новый сервер Local Server. Теперь зайти в папку Dialog2 и запустить setup.exe.

Теперь установка завершена.

Оценка проекта.

Заказчик:

Все поставленные цели выполнены

1. Полностью завершённый проект базы данных «Автоматизированное рабочее место сервисного центра», реализованный на базе СУБД InterBase 7, и алгоритмического языка Delphi 7, содержащий следующие модули:

  • Ввод нового заказа
  • Работа с существующими заказами
  • Сортировка
  • Отчет о проделанной работе сервисного центра

В целом программа является функциональной и завершенной, удовлетворяющая поставленной задачи.

Литература 1. Справочная служба поставляемая с комплексом Borland InterBase 7.0

2. Справочная служба поставляемая с комплексом Borland Delphi 7.0

3. Шкарина Л. Язык SQL: учебный курс. – СПб.: Питер, 2001. – 592 с.:ил.

4. Дарахвелидзе П. Delphi 4. СПб.: БХВ –Санкт-Питербург,1999. –816 с.:ил.

5. Дарахвелидзе П. Программирование в Delphi 7. СПб.: БХВ –Петербург,2003. –784 с.:ил.