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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2017, 08:55   #1
vovakms
Пользователь
 
Регистрация: 13.04.2017
Сообщений: 13
По умолчанию Динамическая структура

Подскажите можно ли во время выполнения программы создать структуру, количество полей и тип полей приходит во время выполнения,
или например динамически задать количество полей а тип сразу выставить какой нибудь универсальный типа var или void

чтобы как бы вот так (абстрактным языком)
Код:
 
byte[] BytBuf ; // уже заполненный байтовый массив

infCol[] // уже заполненный массив структур "информация о колонках "

СТРУКТУРА структ = new СТРУКТУРА() // объявили пустую структуру-приемник

for(int n=0; n<Кол-воКолонок ; n++)
{
структ.ДобавитьНовоеПоле.Тип = infCol[n].type ;
}
vovakms вне форума Ответить с цитированием
Старый 20.04.2017, 09:33   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Вы задачу озвучьте, потому что это действительно надо в очень редких случаях и они не так просты.
Может вам std::variant хватит.
p51x вне форума Ответить с цитированием
Старый 20.04.2017, 10:11   #3
vovakms
Пользователь
 
Регистрация: 13.04.2017
Сообщений: 13
По умолчанию

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

вот как то так

Последний раз редактировалось Аватар; 20.04.2017 в 10:20.
vovakms вне форума Ответить с цитированием
Старый 20.04.2017, 10:34   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Я просил озвучить задачу, а не виденье вашего подхода.

Обычно это нафик не надо. Все что тянется из БД обычно мапируется на классы логики. Даже кучу либ есть для ORM. А вот так просто тянуть из БД байты... смысла мало.
p51x вне форума Ответить с цитированием
Старый 21.04.2017, 05:23   #5
vovakms
Пользователь
 
Регистрация: 13.04.2017
Сообщений: 13
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Я просил озвучить задачу, а не виденье вашего подхода.
ну вообще от СУБД HyTech прилетает байтовый массив, его надо в читабельном виде в виде таблицы вывести на экран , вместе с названиями колонок и типами каждой колонки

вот такая задача как бы
vovakms вне форума Ответить с цитированием
Старый 21.04.2017, 05:24   #6
vovakms
Пользователь
 
Регистрация: 13.04.2017
Сообщений: 13
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Обычно это нафик не надо.
в смысле что не надо ???
vovakms вне форума Ответить с цитированием
Старый 21.04.2017, 05:43   #7
vovakms
Пользователь
 
Регистрация: 13.04.2017
Сообщений: 13
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Все что тянется из БД обычно мапируется на классы логики.
это где так ???
или Вы в смысле про то когда используете готовые инструменты там всякие конекторы или DataSource SqlDataSource и аналогичные
а тут я и пытаюсь как раз сделать аналогичные вещи для СУБД HyTech имея только "API Клиентской части HyTech SQL сервера" тоесть это описание
https://hytechdb.ru/index.php?s=docs...i/txt_func.htm
сама DLL-ка и h и все это хозяйство писано еще 30 лет назад на чистом Си
вот такие вот пироги

программа то уже написано , я просто ищу все варианты , от самых простых в лоб через два цикла и в внутри switch

если заинтересует поглянь https://github.com/vovakms
приготовил и на Си , и на C++ с классами , и на C#WPF

вот но хотелось бы все таки посмотреть узнать как то по другому может это делается
vovakms вне форума Ответить с цитированием
Старый 21.04.2017, 05:50   #8
vovakms
Пользователь
 
Регистрация: 13.04.2017
Сообщений: 13
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А вот так просто тянуть из БД байты... смысла мало.
тут уж нас не кто не спрашивает мало смысла или много , так сделали разработчики и все , и при том не я тяну из БД байты , а СУБД шлет мне результат (ответ на мой sql-запрос) в виде набора байтов по tcpip но на своей стороне dll-ка как раз и распаковывает пакеты tcpip и мне отдает уже чисто байтовый массив с указанием числа строк столбцов сколько размер одной строки и сколько размер каждого столбца и тип каждого столбца

вот чувствуете разницу
vovakms вне форума Ответить с цитированием
Старый 21.04.2017, 05:52   #9
vovakms
Пользователь
 
Регистрация: 13.04.2017
Сообщений: 13
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Даже кучу либ есть для ORM.
подскажите что такое ORM и что за либы , для чего ?
vovakms вне форума Ответить с цитированием
Старый 21.04.2017, 05:53   #10
vovakms
Пользователь
 
Регистрация: 13.04.2017
Сообщений: 13
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
обычно мапируется на классы логики.
еще не скромный вопрос можно ?
что такое "мапируется" ???

и как это на классы логики ???

можно ли это применить к моему случаю ???
vovakms вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая структура JoberLord Общие вопросы C/C++ 2 25.05.2013 09:28
динамическая структура Тимурка Помощь студентам 0 20.04.2011 17:37
Динамическая структура. triasoft Фриланс 5 02.06.2010 01:47
Динамическая структура Nitriyc Помощь студентам 0 18.12.2009 17:51
динамическая структура o4arova6ka90 Помощь студентам 0 17.10.2009 14:05