Мне необходимо в приложении на С++ создать таблицы. Эти таблицы могут иметь произвольную структуру. Вопрос такой — нужен совет как лучше организовать внутреннюю структуру этой таблицы, чтобы можно было легко объединять, разделять ячейки. Еще одна проблема, которую я не могу решить, как связать структуру таблицы с данными, которые содержаться в ячейках.
Сейчас я остановился на следующем варианте — сделать примерно как таблице в HTML, однако что-то меня в нем не устраивает (пока сам понять не могу). Вообщем, любые советы которые могут дать пищу для размышлений, приветствуются.
С уважением, Kolo.
Здравствуйте, __kolo, Вы писали:
__>Мне необходимо в приложении на С++ создать таблицы. Эти таблицы могут иметь произвольную структуру. Вопрос такой — нужен совет как лучше организовать внутреннюю структуру этой таблицы, чтобы можно было легко объединять, разделять ячейки. Еще одна проблема, которую я не могу решить, как связать структуру таблицы с данными, которые содержаться в ячейках. __>Сейчас я остановился на следующем варианте — сделать примерно как таблице в HTML, однако что-то меня в нем не устраивает (пока сам понять не могу). Вообщем, любые советы которые могут дать пищу для размышлений, приветствуются. __>С уважением, Kolo.
Только не HTML, а XML.
Когда появляются сложние структуры данных, я всегда создаю самодостаточный эталонный XML документ. Сразу появляется ВЕСЬ(!) набор по манипуляции данными. И не только реляционными.
Потом строю объектную модель по документу (XML Binding). Ну, это может и не понадобится.
Здравствуйте, int64, Вы писали:
I>Только не HTML, а XML. I>Когда появляются сложние структуры данных, я всегда создаю самодостаточный эталонный XML документ. Сразу появляется ВЕСЬ(!) набор по манипуляции данными. И не только реляционными. I>Потом строю объектную модель по документу (XML Binding). Ну, это может и не понадобится.
А можно поподробнее, как можно использовать XML в приложении на С++, я такого раньше не использовал. Получается надо создать какой-то класс, который будет содержать документ xml, соответстсвующий структуре таблицы, и потом уже по этому документу производить отрисовку таблицы?, или я что-то неправильно понял.
Здравствуйте, __kolo, Вы писали:
__>А можно поподробнее, как можно использовать XML в приложении на С++, я такого раньше не использовал. Получается надо создать какой-то класс, который будет содержать документ xml, соответстсвующий структуре таблицы, и потом уже по этому документу производить отрисовку таблицы?, или я что-то неправильно понял.
__>С уважением, Kolo.
Я лишь рассказал, что я делаю в подобных случаях.
Про XML в приложении на С++ здесь уже достаточно перетёрли. Полазейте по сайту.
В рантайм у вас строится сруктурированный "деревянный" объект отображающий структуру вашего документа. Собственно патерн Билдер для таких вещей и придумывался. Но вам ничего делать и придумывать не надо — для XML кодирования все уже придумано. И этих средств хватает для решения задач. Если не хватает, порождайте наследников от DOM элементов с привязкой к вашим интерфейсам. Для рекурсивной прорисовки, напрмер. Хотя XHTML легко отображается в браузерах.
В Delphi есть тул, который по XML документу генерирует классы (декорация над DOM). Под с++ такое тоже наверное есть,- не искал.
Помимо DOM есть альтернативные штуки.
Удачи.