Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как структуру поместить в TMemoryStream, и достать ее от туда 
:(
    Опции темы
Teran
  Дата 6.10.2006, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



у меня имеется к примеру такая структура:
Код

typedef struct ItemListArticle
{
  int ID;
  TList *ListText;
  TStringList *ListUndoArticles;
  int CurLevel;
  AnsiString FileName;
} TItemListArticle;
typedef TItemListArticle* PItemListArticle;

мне необходимо её поместить в TMemoryStream чтоб в последующем записать её в базу ячейку базы данных *.mdb (ADO), как OLE обьект
ну и соответственно достать её от туда
Можно ли такое прокрутить?


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
tigger
Дата 6.10.2006, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

Репутация: 2
Всего: 4



Помещение и извлечение структуры в поток

Код

struct ItemListArticle
{
  int ID;
  TList *ListText;
  TStringList *ListUndoArticles;
  int CurLevel;
  AnsiString FileName;
};


ItemListArticle TItemListArticle,  my_struct;
//какое-то заполнение структуры для проверки
TItemListArticle.ID = 125;
TItemListArticle.FileName = "Проверка сохранения";
TItemListArticle.CurLevel = 666;

TMemoryStream *Mem;
Mem = new TMemoryStream;

//запись в поток
Mem->Write(&TItemListArticle, sizeof(TItemListArticle));

//чтение из потока
Mem->Seek(0,0);
Mem->Read(&my_struct, sizeof(my_struct));

delete Mem;



--------------------
user posted image
PM MAIL   Вверх
Teran
Дата 6.10.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Спасибо, щас попробую


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Romikgy
Дата 6.10.2006, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Teran, зачем это сувать в поток? там же указатели , они все равно побьются


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Coala
Дата 10.10.2006, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 4.5.2006
Где: Москва

Репутация: нет
Всего: 0



И зачем всё это совать в базу данных smile 
PM MAIL   Вверх
Teran
Дата 10.10.2006, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(Coala @  10.10.2006,  09:10 Найти цитируемый пост)
И зачем всё это совать в базу данных 

в структуре у меня хранятся разные настройки и чтоб не морочиться сохраняя и загружая каждый элемент я думал что можно их(всю структуру) взять и сохранить оптом в базе данных как OLE обьект


Цитата(Romikgy @  6.10.2006,  19:03 Найти цитируемый пост)
зачем это сувать в поток? там же указатели , они все равно побьются 

а как можно сохранить чтоб значения не потерялись?

Это сообщение отредактировал(а) Teran - 10.10.2006, 10:13


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Romikgy
Дата 10.10.2006, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(Teran @  10.10.2006,  09:12 Найти цитируемый пост)
а как можно сохранить чтоб значения не потерялись?

раскручивать все указатели до данных, имхо если много указателей замучаешься это делать , хотя это реально
PS от указателя в базе данных понтов нет , туда надо именно данные впихнуть


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Teran
Дата 10.10.2006, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Вот ё... неужели придется все вручную забивать?


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Romikgy
Дата 10.10.2006, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(Teran @  10.10.2006,  09:31 Найти цитируемый пост)
Вот ё... неужели придется все вручную забивать? 

да и причем все записи!


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Vyacheslav
Дата 10.10.2006, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59




Teran, 
Я же уже писал, что в лоб такую задачу не решишь. Поступи проще. Возьми готовые компоненты, которые решают поставленную задачу. Насколько я помню, такой компонент имеется RXLib


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Teran
Дата 11.10.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(Vyacheslav @  10.10.2006,  11:54 Найти цитируемый пост)
Возьми готовые компоненты, которые решают поставленную задачу. такой компонент имеется RXLib

а как он называется?


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Vyacheslav
Дата 11.10.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



TFormStorage, если не ошибаюсь.
Еще немного и я дойду до мысли выцарапать систему сохранения из моих форм в отдельный компонент для общего пользования. Кстати эта система как раз использовалась для сохранея пользовательских настроек каждой формы  в базе данных для конкретного пользователя. Насколько я понял, Вы преследуете ту же цель

Добавлено @ 15:00 
Правда, он паршивец, похоже сохранеят только в ini-файле.
Но все равно посмотри, может у него есть метод сохранения в stream

Цитата

Компонента TFormStorage сохраняет и восстанавливает размеры и положение формы, которой она принадлежит, а также может сохранить значения любых published-свойств любых других компонент этой же формы. Компонента предназначена для работы с формами всех стилей: Normal, MDIForm, MDIChild, StayOnTop. Сохранение происходит перед уничтожением формы, а восстановление перед тем, как форма станет видимой. Необходимая информация сохраняется в INI-файле. Используемый INI-файл можно задать с помощью свойства IniFileName. Свойство Active определяет, будет ли происходить сохранение/восстановление. 

Свойство Options позволяет указать, какие параметры формы будут восстанавливаться при чтении из INI-файла. 
В дизайнере Delphi Вы можете указать также список свойств других компонентов формы, которые будут сохраняться и восстанавливаться из INI-файла. Для хранения имен этих свойств служит свойство StoredProps. Заметьте, что может оказаться важным порядок следования имен сохраняемыхвосстанавливаемых свойств, особенно при восстановлении их значений из INI-файла. 

Если Вы хотите сохранять только размеры и положение формы, то воспользуйтесь компонентой TFormPlacement, являющейся предком TFormStorage и не содержащую методов для сохранениявосстановления значений свойств других компонентов формы. 

[/quote]


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Vyacheslav
Дата 11.10.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



У меня то можно сохранять любые простые типы и компоненты. И какое совпадение, мои формы назывались TStorageForm


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0626 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.