Topic: считалочки

добрый день.
помогите с программкой.
есть составной предмет.
он состоит из (это все пример)::

1. вес (10 т)
2. основа (1 шт)
3. колеса (4 шт)
4. прицеп (вес 5 т)
5. груз в кузове самого авто

Вот мне надо просчитать , к примеру, необходимое количество колес для передвижения машины.   
К примеру, мы знаем, что 4 колеса потянут вес 10 т (т.е. сам общий вес авто). 
Если добавить еще прицеп (а он 5т), то сколько колес на самом авто понадобится для передвижения всей массы?
Или если мы возьмем 2, 3,  5 прицепов (ну к примеру,  колеса прицепа не учитываем).

Надеюсь замысел понятен.

А еще надо сделать просчет с выбором элементов.
Например, нам надо просчитать только с учетом одного прицепа.  или прицепа и груза в кузове.

2 (edited by zenja 2020-09-16 15:58:00)

Re: считалочки

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

Post's attachments

Attachment icon BusinessCalc.rar 430.56 kb, 247 downloads since 2020-09-16 

3 (edited by stas.kodpi 2020-09-16 19:50:13)

Re: считалочки

ок.
а как сделать так, что-бы просчитывалось именно то значение, которое я выбираю
т.е. (пример)

блок питания:   500Вт (общая мощность)

Затраты мощности:

1. ОЗу - 5 Вт -  чекбокс
2. ОЗУ - 5 Вт   -  чекбокс
3. Вдеокарта - 100 Вт    -  чекбокс
4. Процессор - 140 Вт   -  чекбокс
5. Привод - 5Вт   -  чекбокс

Вот мы выбираем только 1 планку памяти, и процессор   -   как сделать так, что-бы оно просчитало только выбранные значения?

Re: считалочки

Добавляем для вашей переменной логическое поле (ДА/НЕТ). Где значение ДА - участвует в расчете, соответственно значение НЕТ - не участвует в расчете. А дальше дело техники. Но вообще, конечно, не совсем понятна задача, вы не сформулировали толком какой именно результат хотите получить.

5 (edited by stas.kodpi 2020-09-17 07:19:52)

Re: считалочки

ок. конкретно по моему вопросу:
есть конструкция как строительные леса.
вот эта конструкция состоит из определенных элементов.

1. она имеет высоту и длину.
2. состоит из стоек (проходная, торцевая, с лестницей)
3. имеет ригель
4. имеет зацеп для стены   
и т.д...

Мы знаем, что, к примеру, количество стоек  равно 4 для длины и высоты лесов  2*3м = 6 кв. метров
(создаю текстэдит для длины и высоты (в таблице задаю формулу, длина * высота. Но значение это записывается в отдельную ячейку в таблице).
А мне надо, что-бы сразу в доп поле, которое будет возле тектэдитов длины и высоты. Как сделать?



Вот в итоге нам надо просчитать количество этих самых стоек для лесов длиной, скажем, 10*20 = 200 кв. м, 
Но в программе надо еще путем чекбоксов выбирать нужные нам элементы для итогового расчета. (например, леса имеют только проходную и торцевую стойку, а также 10 ригелей, к примеру).

Вроде все написал.

Re: считалочки

stas.kodpi wrote:

ок.
А мне надо, что-бы сразу в доп поле, которое будет возле тектэдитов длины и высоты. Как сделать?

Если я правильно понял, то создаем для компонента Edit (или другого) событие OnChange, в котором прописываем расчет для доп. поля.

Например:

procedure frmForma_Edit2_OnChange (Sender: TObject);
begin
frmForma.Edit3.Value := frmForma.Edit1.Value * frmForma.Edit2.Value;
end;

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

Re: считалочки

приложу свое начало,
все равно не получается, что-бы оно автоматом проставляло.
А получается, когда я любой символ там введу (поле м2)
И как сделать так, что-бы использовались только те значения, у которых стоит галочка? (но значение отдельно, а галочка отдельно идут)

Post's attachments

Attachment icon заказ.zip 635.5 kb, 219 downloads since 2020-09-17 

Re: считалочки

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

9 (edited by stas.kodpi 2020-09-17 11:45:12)

Re: считалочки

все, я сделал. но мне не совсем  понятна логика автоматического просчета.

теперь мне интересен другой вопрос.

выставил я длину и высоту.

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



и еще:
допустим должны быть леса длиной 5 м и высотой 10 м.
Вот еще надо просчитать, сколько понадобится стоек для этого дела, ригелей, и т.д...

(скорее всего это надо указать где-то в статической форме, что на 1м длины и высоты нужно 5 ригелей, и 3 зацепа, к примеру?  я правильно онимаю? если да - то как это реализовать?

10 (edited by zenja 2020-09-17 14:58:48)

Re: считалочки

Я все-таки набросал пример для расчета. Идея проста, строительные леса - это модульная конструкция. Один модуль имеет определенные габариты и определенное количество элементов конструкции. Также один модуль имеет конкретную площадь, и цифра эта неизменяемая. Забиваем в справочники все необходимые параметры для каждого элемента. Затем исходя из площади которую нам надо рассчитать, определяем количество этажей конструкции и совмещенных секций. Это нужно, чтобы рассчитать корректировку количества. Т.к. связанные между собой в горизонте секции будут иметь общие стойки, а значит их пойдет меньше. В общем, все свои действия постарался описать в скрипте, можно еще больше эту систему автоматизировать. Например описать в справочнике габариты лесов от разных производителей, и связать это со справочником элементов, а также с расчетом площади, этажности, и секционности конструкции. Думаю, дальше разберетесь)

Post's attachments

Attachment icon ZakazPrimer.rar 297.99 kb, 227 downloads since 2020-09-17 

Re: считалочки

Zenja, леса конечно модульная конструкция, но считается не совсем так. Базовый модуль это 2 рамы, 2 ригеля, 3 настила (щита), 1 диагональная стяжка и 1 горизонтальная. А вот когда это большой фасад уже считается иначе. Вплоть до учета количества подъемов. Количество мест крепления тоже не всегда по расчету проходит (типовое).
Stas, читая Ваши мысли у меня вообще не формируется понимание какие именно леса Вы считаете: рамные РЛСП, хомутовые или клиновые? Разные конструкции - разный метод счета.

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

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

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

А почему бы не проверять состояние чекбокса Checked?
Весь расчет формы запихнуть в 1 процедуру и повесить ее на событие OnChange всех параметров.
Базовые параметры либо подтягивать из ini файла, либо жестко задать в переменных процедуры счета.

12 (edited by stas.kodpi 2020-09-17 18:32:34)

Re: считалочки

спасибо огромное,   но, сложно для меня.. чесслово..

мои же идеи были наоборот.. как я думал:

1. имеем минимальную длину и высоту лесов  (пример = 2*3 м)
2. забиваем для минимального этого значения ригель в кол-ве 5 штук, и т.д. по определенному количеству штук (с возможностью редактировать эти значения)
3. ну а далее просто забиваем нужные нам значения длины и высоты лесов, только с учетом отбора нужных позиций (например ригеля не нужны)...
4. оно в таблицу выводит
уже количество посчитанных элементов, которые мы отметили чекбоксами...


вот только как это оформить , так как я думал...   я пока набросал только то, что приложил в своем 7 посте


мне казалось на тот момент - это более простым и правильным..

Re: считалочки

То, что у Вас в 7 посте - очень набросок ))). Так леса не считают. Это я Вам как специалист говорю. Если нужно подробнее - в лс.

Re: считалочки

indigen wrote:

Zenja, леса конечно модульная конструкция, но считается не совсем так. Базовый модуль это 2 рамы, 2 ригеля, 3 настила (щита), 1 диагональная стяжка и 1 горизонтальная. А вот когда это большой фасад уже считается иначе. Вплоть до учета количества подъемов. Количество мест крепления тоже не всегда по расчету проходит (типовое).

Да я и не настаиваю, от строительства далек) Просто пример расчета сделал, в своем понимании)