|
2 / 3 / 0
Регистрация: 19.01.2018
Сообщений: 11
|
|||||||||||||||||||||
Excel Составной/вложенный тип + словарь03.08.2020, 22:40. Показов 3062. Ответов 11
Метки нет (Все метки)
Добрый вечер.
Помогите, пожалуйста, написать код для следующей задачи: есть Завод1, Завод2...и т.д., у каждого завода набор количественных характеристик (отгрузка по жд план/факт, отгрузка на авто план/факт). Можно, не используя массивы, организовать следующую структуру данных?: Zavod("Завод1").ZhD.Plan Zavod("Завод1").ZhD.Fact Zavod("Завод1").Auto.Fact Zavod("Завод2").ZhD.Plan и т.д. Вот, что у меня получается: Модуль класса clsZavods
0
|
|||||||||||||||||||||
| 03.08.2020, 22:40 | |
|
Ответы с готовыми решениями:
11
Вложенный словарь и как его изменить Составной тип, проверка на ссылочность Составной тип данных в запросе |
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 04.08.2020, 11:47 | |
|
Можно сделать словарь словарей.
Можно массив словарей. Можно словарь с массивом. Можно словарь с коллекцией. И всё это без классов, я их как-то и не применяю, зачем усложнять? Словарь с массивом здесь вроде как вполне бы подошёл, но Вы против массивов ![]() Добавлено через 1 минуту Ну тогда словарь словарей.
0
|
|
|
2 / 3 / 0
Регистрация: 19.01.2018
Сообщений: 11
|
||
| 04.08.2020, 19:31 [ТС] | ||
|
Hugo121, спасибо, что обратили внимание на мое сообщение.
Если есть возможность, подскажите, как сделать еще одно вложение в класс?
0
|
||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 04.08.2020, 20:28 | |
|
Я же написал, я без классов обхожусь. Когда прижмёт - тогда и буду вникать.
Добавлено через 55 минут Если у всех заводов известное количество этих характеристик, то словарь+массив вполне достаточно. И в массиве можно собирать хоть суммы, хотя по коду это и не нужно. А если не нужно - то проще словарь+коллекция, в которой храним строки типа "Plan = 10" Хотя в принципе достаточно одного словаря с ключами типа "Завод1.План", "Завод1.Факт" и т.д. Тем более что этот словарь уже используете, а всё остальное выкинуть ![]() И суммы собирать нет проблем
0
|
|
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
||||||||||||||||||||||||||||||||||||||||||||
| 04.08.2020, 20:57 | ||||||||||||||||||||||||||||||||||||||||||||
Как ранее писал Hugo121 - использовать массивы, вот, ячейки это тоже массивы ![]() Добавлено через 19 минут
А для динамики нужно в класс Заводы добавить Collection
0
|
||||||||||||||||||||||||||||||||||||||||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|||||||
| 04.08.2020, 21:00 | |||||||
1
|
|||||||
|
2 / 3 / 0
Регистрация: 19.01.2018
Сообщений: 11
|
||||||||||||||||
| 04.08.2020, 21:00 [ТС] | ||||||||||||||||
|
Всем спасибо за помощь.
Сделал, что хотел. Возможно, кому-нибудь пригодится: создаем два класса clsZavods (внешний) и clsTransports (внутренний) Класс clsZavods
1
|
||||||||||||||||
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
|||||||||
| 04.08.2020, 21:27 | |||||||||
|
Мой вариант по объектному запросу
(я ещё не дорос)Добавлено через 4 минуты Hugo121, кстати, в вашем варианте хорошо хранить, но как быть с вычисляемыми параметрами ? Добавлено через 4 минуты Я имею ввиду, например, рассчитать изделие производства, там куча параметров, и куча вычислений, а на выходе всего то строка с названием и ценой Добавлено через 12 минут Добавлено через 3 минуты Ага, я врубился, проблема была вот в этом обращении
0
|
|||||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 04.08.2020, 21:54 | ||||||
|
Кто-нибудь может мне прояснить в чём преимущество тех 79 строк кода с классами перед моими прогнозирую 11-ю на два завода (с объявлением и созданием объектов)?
Про вычисления вообще не понял, в чём может быть проблема например выяснить
0
|
||||||
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
||
| 04.08.2020, 22:02 | ||
|
0
|
||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 04.08.2020, 22:04 | |
|
Ну так понятно, оно там нужно, для такого-то монстра
0
|
|
|
2 / 3 / 0
Регистрация: 19.01.2018
Сообщений: 11
|
||||||||||||
| 04.08.2020, 22:42 [ТС] | ||||||||||||
|
Еще удобно расширять код, например, нужно добавить дельту (Факт-План). Для этого в класс clsTransports добавляем
1
|
||||||||||||
| 04.08.2020, 22:42 | |
|
Помогаю со студенческими работами здесь
12
Отчет. Группы. составной тип Составной тип данных для реквизита Управляемые формы, составной тип данных Составной тип данных в табличной части Составной тип данных в табличной части документа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|