![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 01.03.2014
Сообщений: 6
|
![]()
Здравствуйте!
Ситуация такова: Есть несколько динамических массивов разных записей. С каждым массивом нужно выполнять похожие действия, типа расширения на Х элементов, или удаления конкретного. Проблема - массивов записей может быть очень много, поэтому писать для каждого свою процедуру обработки неэффективно, ибо долго. Да и код становится до безобразия громоздкий. А нужно обрабатывать каждый массив. Возможно, какой-нибудь универсальной процедураой. Вопрос - Существуют ли универсальные способы решения проблемы кроме следующих? Способ 1) Тупо написать для каждого массива свою процедуру обработки. Неэффективно, поэтому приемлемо только в крайнем случае. Пример реализации первым способом: Код:
работают чуть медленней, чем специальные. Поправьте, если неправ. Пример реализации вторым способом: Код:
Пример реализации третьим способом: Код:
|
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Исходя из представленных выше примеров могу посоветовать только два решения:
1) Матрица вариантов. Решает проблемы с разными типами. Обеспечивает универсальность кода для разных массивов. Однако далеко не всегда удобна в описании. 2) Создавать на каждый тип не массив а класс. Он будет работать со своим массивом. Если операции с массивом однотипны то можно наследовать их от базового класса 3)Работать не в массивами а с СУБД (например на основе XML). Создавать временные таблицы, куда будет помещаться разнотипная информация. В твоем случае я бы наверное выбрал первый вариант, но оформил его в класс.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]() Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 01.03.2014 в 22:29. |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]() Цитата:
Смотря что за функционал. Если только расширение массива и удаление элементов, то не нужно писать по отдельному набору функций для каждого типа.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
|
![]() |
![]() |
![]() |
#6 | ||||
Регистрация: 01.03.2014
Сообщений: 6
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
![]() Последний раз редактировалось Stilet; 01.03.2014 в 23:28. |
||||
![]() |
![]() |
![]() |
#7 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Вот погули почитай про нее и функции иже с ними, и поймешь о чем я. Если от себя: Создать массив (матрицу) в котором будут элементы разных типов. Это сможет заменить тип записей, если в ячейки такого массива создавать другие массивы типа variant. Можно даже получить древесное (иерархическое) представление данных. Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#8 | ||
Регистрация: 01.03.2014
Сообщений: 6
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Динамический массив Variant, чем не вариант?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#10 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Можно предложить рассмотреть работу с Generic.Collections появившимися в Дельфи 2009 . Вводная
При этом, конечно, не лишним будет представление об ООП, и вообще опыт проектирования систем с высокоуровневой обработкой. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инициализация динамических массивов | Алексей_2012 | Общие вопросы Delphi | 2 | 28.06.2013 16:48 |
Выполнить обработку массивов. предусмотреть описание массивов как динамических | Vika_0_0 | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 03.06.2012 10:12 |
Организация динамических массивов. | MaSTeD | C# (си шарп) | 0 | 29.02.2012 10:18 |
обработка динамических массивов | funky | Помощь студентам | 0 | 11.05.2009 17:53 |