Russian Qt Forum
Сентябрь 30, 2024, 14:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по организации структуры данных  (Прочитано 3114 раз)
merke
Гость
« : Март 06, 2012, 17:58 »

Всем привет. Начну с предусловия. Есть Qt приложение, есть php скрипт. php скрипт будет формировать данные следующего вида,
1) заголовок: там будут следующие поля NAME = имя, DATE = Дата и в таком вот духе.
2) наборы свойств, их может быть множество

старт = ид. свойства
наименование = наименование_свойства
значение = либо просто строка либо массив байт, может быть картинка
стоп = ид. свойства
....

старт = ид. свойства
наименование = наименование_свойства
значение = либо просто строка либо массив байт, может быть картинка
стоп = ид. свойства

....

старт = ид. свойства
наименование = наименование_свойства
значение = либо просто строка либо массив байт, может быть картинка
стоп = ид. свойства

Вот как бы это всё поудобнее организовать. Просто пообсуждать. хочу поучиться в построении таких вот структур данных. Заголовок будет всегда один. Все данные представлены в виде двумерной таблице, что то на подобии QList<QPair<QByteArray, QByteArray> > т.е. идет наименование и значение, и так выстраивается двумерная таблица, вот php скрипт должен мне это передать в виде простого набора байт, а я должен разобрать всё это и превратить в QList<QPair<QByteArray, QByteArray> >.

Всё бы хорошо, вот только смущает массив байт. если бы была простая строка, то можно просто в файл писать построчно и всё это считывать. Но вот когда массив байт я немного в ступор.
« Последнее редактирование: Март 06, 2012, 18:10 от Александр » Записан
Bepec
Гость
« Ответ #1 : Март 06, 2012, 22:34 »

Ну массив байт это та же строка, только в другом представлении. Главное учесть кодировку.

Напомню - у QString есть конструктор из QByteArray.
Записан
BuRn
Гость
« Ответ #2 : Март 07, 2012, 12:28 »

Цитировать
старт = ид. свойства
наименование = наименование_свойства
значение = либо просто строка либо массив байт, может быть картинка
стоп = ид. свойства
ну вот если только это. т.е. ключевых поля всего 4, создай структуру типа
struct MyStruct{
int id_start;
QString name;
QVariant value;
int id_stop;
};
Дальше так как у тебя будет таких свойств много сделай вектор указателей на нее в которой и будешь хранить все данные
std::vector <MyStruct *> recs;
Ну и дальше я думаю понятно ...
Записан
Rem Norton
Гость
« Ответ #3 : Март 07, 2012, 14:55 »

QVariantMap
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 20.