Zip-уем данные на лету

September 2nd, 2008 Begemot

Встроенные удобства это приятно!:)

Пишу данные в базу, возникла мысль что архивирование может быть очень кстати, попробывал – действительно стало лучше. Арихивирование благодаря встроенным средствам wxWidgets делается легко и быстро. Просто пропускаем данные через wxZlibOutputStream который архивирует\распаковывает на лету.


void SavecbContentToStream(wxMemoryOutputStream &memout, bool zlib/*=false*/) const
{
   scoped_ptr<wxDataOutputStream> dos;
   scoped_ptr<wxZlibOutputStream> zlibstr;

  if(zlib)
   {
        zlibstr.reset(new wxZlibOutputStream(memout, -1, wxZLIB_GZIP));
        dos.reset(new wxDataOutputStream (*zlibstr));
   }
   else
        dos.reset(new wxDataOutputStream (memout));

    // write some data …
   *dos <<(wxUint16)1 <<(wxUint16)cbContent.size();
   //  ...
}

Функция записывает данные в переданный буфер с опциональным архивированием их.


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


wxWidgets: Немного о хорошем

April 12th, 2008 Begemot

Что-то последнее время были преимущественно негативные топики. Но не все так плохо, просто готовил программу к релизу, осваивал кучу новых тем, разумеется много чего не получалось вот и расстраивался:)

А вообще:

  1. Сайзеры это прикольно, конечно незнаю как они поведут себя при портировании под другие ОС. Пока пишу только под винду - вполне нравится.
  2. DialogBlocks is good resource editor for wxWidgets applications. Так все-таки не плох. Конечно надо разобратся, привыкнуть - но в принципе использовать можно. Особенно полезно поигратся на первых порах что бы понять идеологию сайзеров, изучить свойства и поиметь представления как вообще делать интерфейс.  Правда мне не особенно нравится код который он генерит да и гибкости немного не хватает что бы делать главные окна приложений… Но для отдельных простых диалогов - типа опций, вспомогательных окон - достаточно быстро можно нарисовать интерфейс. Хорошая вешь. Кстати незарегистрированная копия - вполне пойдет для ознакомления с иделогией построения интерфейса. Воообщем зачет:)
  3. Проблему с отсутвием контрола для ввода горячей клавиши в wxWidgets. Я вроде решил, вставил родной виндовый Hot Key Control, попытавшись обернуть его в wxWidgets. Так как документации по этой теме я не нашел - код там наверное кривой до ужаса:) Но если испытания покажут что работает, можно будет его почистить и выложить.
  4. Размер программы. Для меня это  имело большое значения, программы у меня маленькие, вспомогательные утилиты которые висят в трее. Сейчас размер получился 1.9М что почти в 4 раза больше версии с MFC, но судя по всему на скорости работы это не сказалось.
  5. Ну и главное я все таки выпустил программу, уже несколько дней вроде полет нормальный:) Так что можете удобно хранить свои быстрые заметки :)

Вообщем к эксплуатации пригодно.


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.