Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Помогите спроектировать базу данных и программу на Delphi

Автор: Cowboy_99
Дата сообщения: 21.09.2013 09:29
Пожалуйста помогите спроектировать базу данных и программу на Delphi автоматизированную систему учета сервисного(технического) обслуживания автомобилей
Автор: Dmitry
Дата сообщения: 21.09.2013 09:56
Можешь дать более подробное описание задачи?
Автор: MGAlex
Дата сообщения: 21.09.2013 10:16
Cowboy_99
Что конкретно интересует. Когда-то писал программу по данным водителей такси/

Выглядит вот так: http://i60.fastpic.ru/big/2013/0921/5f/4c9455141d3b15d9c46795173bcde35f.jpg

Может пригодится.
Автор: Cowboy_99
Дата сообщения: 21.09.2013 12:56
Благдарю всех участников форума за то что вы быстро откликнулись

Примерные функции программы можно добавить можно убрать ваши предложения:

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

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

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

но вначале надо спроектировать базу данных
Автор: MGAlex
Дата сообщения: 21.09.2013 13:31
Ничего военного.


Цитата:
но вначале надо спроектировать базу данных

А что проектировать? Нужно определиться с типом БД, создать нужные поля и порядок.
Автор: ekemov
Дата сообщения: 22.09.2013 13:52
Сперва нужно составить ТЗ, то что в программе должно быть. То что ты расписал это обобщенное описание, за которым может скрываться, да и многое зависит от отчетных документов.
Автор: Dmitry
Дата сообщения: 27.09.2013 14:52
Cowboy_99

Ну так подробности будут какие-нибудь по требуемому функционалу?
Автор: MGAlex
Дата сообщения: 27.09.2013 15:13
Человеку надо написать дипломный проект. Опыта нет. Думаю, тут надо полностью сделать программу человеку, а не просто подсказать.
Автор: Dmitry
Дата сообщения: 27.09.2013 15:25
MGAlex
Может и так. Но тут даже не понятно что конкретно человеку нужно
Автор: MGAlex
Дата сообщения: 27.09.2013 15:51
Dmitry
Он мне в личку писал.
Спрашивал, могу ли я ему написать программу. Но в связи с отсутствием времени, я не могу за это взяться. Предложил ему написать в этой теме, чтобы помогли.
Автор: Cowboy_99
Дата сообщения: 03.10.2013 11:01
Доброго времени суток участникам форума огромное спасибо вам за то что проявляете интерес и даете советы
извините за то что так долго задержался были проблемы

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

данную программу проектирую впервые
а тему свободную выбрал главные требования к программе чтобы поиск нормально функционировал сортировка индексирование таблиц бд схема:
http://i58.fastpic.ru/big/2013/1003/5b/c4c4394328b2194f11d8371cde02f45b.jpg
Автор: MGAlex
Дата сообщения: 03.10.2013 13:42
Первым делом нужно определиться с БД. В Вашем случае достаточно взять стандартную Paradox 7, т.к. особых навыков работы с БД Вы, как я понимаю, не имеете.

Создать базу можно с помощью Database Desktop, например.

Дальше необходимо выяснить, какие будут типы полей в БД:

- Номер двигателя - текстовое поле, в Database Dektop - Alpha, т.к. номер двигателя включает, как буквы, так и цифры (Номер двигателя обычно состоит из типового кода (группа знаков, определяющих его тип (модификацию) и порядкового (серийного) номера, например, XY508553)
- Гос. номер - Alpha
Год выпуска - если указывается только год, то можно указать Number. Если указывается дата, например, 02.08.1999, то тип Date.
- Марка авто - Alpha
- Владелец авто - Alpha
- Дата обслуживания - Date

Ходовая часть. Что здесь должно быть? Птичками отмечается, какой вид ремонта был осуществлен?
Если так, то все эти поля булевые, т.е. Logical

Под поиском подразумевается фильтр, я так понимаю? Т.е., в форме поиска вводишь нужные данные и отфильтровываются соответствующие записи.

[more=Пример фильтра]

Здесь можно воспользоваться TQuery.

Создаете форму с нужными полями. Достаточно обычных TEdit и TDateEdit.
Поиск в пределах дат можно осуществить следующим образом:


Код:
procedure TFilterForm.btSetClick(Sender: TObject);
var
cl: boolean;
begin
cl := true;
MainForm.Query1.Close;
MainForm.Query1.SQL.Clear;

if DateEdit1.Text <> ' . . ' then
if DateEdit1.Date <= DateEdit2.Date then
begin
MainForm.Query1.SQL.Text := 'SELECT* FROM Table WHERE Date1 ' +
'BETWEEN ''' + DateEdit1.Text +''' AND ''' + DateEdit2.Text + '''';
end
else
begin
Application.MessageBox('Начальная дата должна быть меньше или равной конечной',
'Название программы', mb_OK + MB_ICONEXCLAMATION);
DateEdit1.SetFocus; cl := false;
end;

//Поиск по ФИО или просто по тексту, можно сделать так:

if Edit1.Text <> '' then
if MainForm.Query1.SQL.Text <> '' then
MainForm.Query1.SQL.Add('AND UPPER(FIO) like UPPER(''%'+Edit1.Text+'%'')')
else
MainForm.Query1.SQL.Text := 'SELECT* FROM OrderTable WHERE UPPER(FIO)' +
'like Upper(''%' + Edit1.Text + '%'')';

//и так далее

// если условия выполнены, тогда делаем фильтр и закрываем окно, если нет, тогда исправляем условия, либо просто закрываем форму без фильтрации
if cl = true then
begin
if MainForm.Query1.SQL.Text = '' then
MainForm.Query1.SQL.Text := 'SELECT* FROM OrderTable';

MainForm.Query1.Open;
Close;
end;
Автор: Cowboy_99
Дата сообщения: 09.10.2013 18:17
Наброски программы учета обслуживания автомобилей

Автор: MGAlex
Дата сообщения: 09.10.2013 20:27
Cowboy_99
Мне кажется, было бы удобнее, если бы Вы набросили это в Delphi, на формах. Так было бы нагляднее.
Тогда можно уже и с дизайном помочь разобраться.

Прежде всего создайте саму БД с помощью Database Desktop.
Запустить его можно отсюда: c:\Program Files (x86)\Common Files\CodeGear Shared\Database Desktop\dbd32.exe - это в ОС х64.
Затем File - New - Table - Paradox 7

В появившемся окне уже вводим названия полей, их тип (столбец Type - правой кнопкой мыши), если надо, размер.
Как правило, первое поле создается с типом (+ Autoincrement) для генерации уникального идентификатора Его же нужно сделать ключевым полем - в колонке Key кликнуть 2 раза, чтобы появилась звездочка.
Например NPP - номер по порядку.
Ну а дальше уже все остальные поля, о которых я написал выше.



После чего сохраняем базу - Save As...
Базу можно хранить, например, в папке с программой в каталоге, скажем, DB.

После этого в BDE Администраторе нужно создать Alias.
c:\Program Files (x86)\Common Files\Borland Shared\BDE\bdeadmin.exe
Object - New - Standard. Вместо Standart пишем наше имя алиаса.
Далее в поле Path указываем путь к нашей базе и сохраняем, нажав синюю стрелочку Apply на панели инструментов.

Пока попробуйте сделать это. А потом уже можно будет и на форме связывать поля с полями БД.
Автор: archikep
Дата сообщения: 10.10.2013 13:30
простой пример на видео http://www.youtube.com/watch?v=OZAPLNBqzOw
Автор: MGAlex
Дата сообщения: 10.10.2013 15:47
archikep
Зачем ему Firebird?
Эта база предусматривает работу Клиент/Сервер. Без опыта работы не просто разобраться.
Автор: Dmitry
Дата сообщения: 10.10.2013 18:49
MGAlex

Цитата:
Зачем ему Firebird?
Эта база предусматривает работу Клиент/Сервер. Без опыта работы не просто разобраться.


Мне кажется, что если он немного разберется на своей задаче, то пользы будет больше чем от BDE.
Хотя если ему только сдать и забыть как страшный сон...
Автор: MGAlex
Дата сообщения: 10.10.2013 19:49
Dmitry
Может тогда уже сразу Oracle начинать изучать?
Вопросов, нет, что пользы больше. Хотя, опять же, пользы больше для чего? Может, человеку никогда и не понадобится разработка приложений клиент/сервер. Начинать изучать сразу Firebirdb, не имея навыков работы даже с BDE, просто запутает и отобьет всякое желание.
Однозначно нужно начинать с простого.
Ведь никто же не начинает знакомство с программированием сразу с Delphi XE5. Сначала блок-схемы учат, потом паскаль, а потом уже переходят к Delphi.

Опять же, если переходить к более сложным СУБД, то лучше начать, пожалуй, с Interbase.
Автор: Dmitry
Дата сообщения: 11.10.2013 13:12
MGAlex

Цитата:
Вопросов, нет, что пользы больше. Хотя, опять же, пользы больше для чего? Может, человеку никогда и не понадобится разработка приложений клиент/сервер. Начинать изучать сразу Firebirdb, не имея навыков работы даже с BDE, просто запутает и отобьет всякое желание.
Однозначно нужно начинать с простого.

Я же написал, что если ему сдать и забыть, то тогда конечно ему BDE лучше подойдет. Но если дальше работать, то навыки работы с BDE ему только мешать будут По своему опыту знаю.
Автор: MGAlex
Дата сообщения: 11.10.2013 18:47
Dmitry
Мне не мешают.
Начинал именно с BDE. И писал сам когда-то нечто подобное.
Сейчас имею дело с Firebird. Хотя сначала работал с Interbase, потом с Yaffil.
Дело в том, что при использовании Firebird, человеку нужно будет еще и с SQL хорошо разобраться.

Помню, во времена учебы в универе нужно было писать курсовую. Увидев тему по Interbase, решил взять, т.к. по работе с ним сталкивался. Преподаватель сначала выдал мне эту тему, а потом посоветовал другую. В универе мы не изучали Interbase, только BDE.

Вообще, все это ерунда. Главное, что выглядит все так, как будто нам это все нужно, а не автору темы.
Автор: Cowboy_99
Дата сообщения: 01.04.2014 12:01
Здравствуйте извините за длительное отсутствие не было интернета недавно нашел одну программу которую нужно доработать по моей теме: Автоматизированная система учета сервисного(технического) обслуживания автомобилей (учитывает проделанные работы в автосервисе)
пожалуйста посмотрите эту программу что можно сделать я хочу с вашей помощью доработать программу
вот ссылка на программу :http://rghost.ru/53660741

Заранее огромное всем спасибо буду рад любой помощи!
мне нужна реальная помощь я не жду готовой но есть некоторые проблемы давно не работал в Delphi и многое забыл готов вспомнить и подучиться
Автор: MGAlex
Дата сообщения: 01.04.2014 23:23
Прежде всего нужно доработать интерфейс и структуру программы. Пока все крайне запутано и программа, мягко говоря, не имеет интерфейса. То, что есть - это катастрофа.

Я бы, например, главное окно сделал по примеру RibbonControls.



Примеры RibbonControls находятся здесь c:\Users\Public\Documents\RAD Studio\12.0\Samples\Delphi\VCL\RibbonControls\Ribbon Demo\

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

На ленте размещаем нужные кнопки, а в главном окне видим, скажем, список всех заказов в гриде.

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

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

После этого уже можно будет приступать к программированию.
Автор: Cowboy_99
Дата сообщения: 23.04.2014 08:36
у меня нет возможности установить RAD XE а только старый Delphi 7 тогда ладно интерфейс не важно разберусь потом, а что со структурой программы?
пожалуйста остальные функции посмотрите что можно сделать?
Автор: miwa
Дата сообщения: 23.04.2014 12:26
Cowboy_99
Можно сделать что угодно, вопрос - надо ли и если надо, то кому.

В целом такая работа делается следующим образом: берется за шкирку человек, которому это надо (допустим, директор твоего сервиса) и детально его расспрашивается что именно ему надо. Какие цифырки он уже считает в тетрадке/калькуляторе/екселе, какие хотел бы, но не может. В идеале, если этот человек самостоятельно сформулирует свои хотелки хоть от руки, хоть в ворде. После чего у этого же человека расспрашивается, кто еще будет работать с программой (тоесть, бух взаиморасчеты будет там вести, или нет? механик будет сам вносить список деталей/работ, или как?) и делается аналогичный обход по всем этим людям. Изучаются их рабочие места, что они делают и как (тоесть, как механик с руками в масле будет кнопки тыкать и будет ли на это время у буха с жопой в мыле во время сдачи отчетности).

Дальше садишся сам и начинаешь рисовать схемки (на бумаге) - что откуда и куда будет в программе двигаться. Ну там, бух принял запчасти, завсклад их получил, выдал механику, механик всунул в машину, запчасть не подошла, вернул завскладу и взял другую...). Результат - показываешь директору и (опционально) всем заинтересованым лицам. Спрашиваешь, все ли правильно понял. Доделываешь что неправильно. Заодно - то, что забыли тебе сказать в прошлый раз.

Потом берешь какой-нить Pencil или что-то в этом роде, и делаешь по-быстрому макет приложения с основными оконными формами. Обходишь с ноутом и этим макетом заинтересованных лиц...

И только после этого открываешь среду разработки и думаешь над функциями.

Как показывает практика, по-другому выходит медленее, дороже и хуже в конечном результате.
Автор: dsk
Дата сообщения: 24.04.2014 10:46

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

Золотая фраза на самом деле ИБО у директора свое видение, у главбуха свое, у завскладом свое и прямо противоположное видению директора и главбуха. В итоге получается такой крокодил...
Автор: miwa
Дата сообщения: 24.04.2014 13:03
dsk

Вот чтобы крокодил хоть немножко был похож на трепетную лань и делаются все эти па-де-па, о которых я распинался.
Автор: LadyOfWood
Дата сообщения: 24.04.2014 20:45

Цитата:
ИБО у директора свое видение, у главбуха свое, у завскладом свое и прямо противоположное видению директора и главбуха.

На самом деле нужен человек который может видеть со всех сторон, он имеено и должен писать ТЗ. Будет ли этим человеком программист большой вопрос.
Автор: miwa
Дата сообщения: 25.04.2014 08:40
LadyOfWood
Отдельный писатель ТЗ, судя по постановке вопроса, Cowboy_99 не светит
Автор: dsk
Дата сообщения: 27.04.2014 14:53

Цитата:
Отдельный писатель ТЗ, судя по постановке вопроса, Cowboy_99 не светит

Скорее всего.
Cowboy_99, как дела с программой?
Автор: Cowboy_99
Дата сообщения: 29.04.2014 13:05
Программа стоит сроки сдачи подходят
хотелось бы сделать так как расписал miwa но увы нет никаких людей у которых можно посоветоваться насчет составления ТЗ и которые бы сформулировали, нет ни директоров и других людей
сейчас программа свободная и нужно сделать хотя бы простую программу для автосервиса или центра сервисного обслуживания автомобилей (это так примерно, потом можно доработать)
Благодарю всех форумчан засоветы огромное всем спасибо

Страницы: 12

Предыдущая тема: Вопросы по Embarcadero RAD Studio XE5-XE8,10.x(Seattle, Berl


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.