Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2009, 15:18   #1
rcn
Новичок
Джуниор
 
Регистрация: 27.01.2009
Сообщений: 1
По умолчанию сортровка непростая!

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


{Ну к примеру:
грид1: материал1 1шт
материал2 2шт
материал3 1шт

грид2: оборудование1 - материал1 1
материал2 1
оборудование2 - материал2 1
материал3 1

Ну и соответственно в третьем гриде он покажет, что можно сделать:
оборудование1-1 шт.
оборудование2 - 1шт.}

Есть идеи как это воплотить?
rcn вне форума Ответить с цитированием
Старый 27.01.2009, 17:10   #2
plato
Форумчанин
 
Регистрация: 23.01.2009
Сообщений: 107
По умолчанию

А какие гриды ты собираешься использовать? DBGrid или StringGrid? DBGrid самостоятельно не существует, нужно сначала создавать базу данных. Определись, с какой именно БД собираешься работать. Далее посоздавать таблицы

таблица material
Id: счетчик //счетчик
Name: строковый //наименование материала
Count: числовой //количество на складе

таблица NameOborud
Id: счетчик //счетчик
Name: строковый //наименование материала

таблица Oborud
Id: счетчик //счетчик
IdNameOborud: числовой //ссылка на позицию имени матеиала. т.е. содержит не имя, а числовой адрес
IdNameMat: числовой // ссылка на позицию имени оборудования
CountMat: числовой //количество материала с номером <IdNameMat> необходимого для производства единицы оборудования <IdNameOborud>


Первые три таблицы это исходные данные, т.е. рецептура и справочники. Четвертая будет выводится чисто на грид. Вичилять ее будешь програмно.
Считаем по каждой строке сколько можно сделать оборудования по каждой единице материала.
Т.е. в твоем примере.
*оборудование1 - материал1 1
* материал2 1
по единице материала <материал1> оборудование <оборудование1> можно сделать 1 шт
по единице материала <материал2> оборудование <оборудование1> можно сделать 2 шт
значит максимально можно сделать оборудование1 - 1 штуку (это минимальное из чисел 1шт и 2шт)

Програмно это выглядит примерно так
Делаем запрос
select CountMat from Oborud where IdNameOborud=<Id оборудования> and IdNameMat=<Id материал>
это число бросаем в какую-то перменную k1
проделываем эту процедуру по всем составляющим указанного оборудования
получаем массив чисел k
из этого массива находим минимальное
и не забудьте подарить детям шоколадку
plato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень непростая схема vitalik007 Общие вопросы Delphi 3 21.01.2008 22:11
C++.Задачка непростая! Стасек Помощь студентам 8 16.01.2008 17:35