Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TBitmap to XML [D7, XP]


*Стажер* ©   (2006-11-23 11:32:00) 

В программе на панели создаются кнопки TSpeedButton, при закрытии сохраняю все в XML, а как сохранить Bitmap’ы с кнопок сообразить не могу.

Пытаюсь затолкать данные из памяти в PChar, а его уже сохранить в XML

var
 ms : TMemoryStream;
 Buffer : PChar;
begin
 ms := TMemoryStream.Create;

   TSpeedButton(Panel1.Controls[0]).Glyph.SaveToStream(ms);
   //ms.Seek(0, soFromBeginning);
   ms.Position := 0;
   GetMem(Buffer, ms.Size - 1);
 try  
   ms.ReadBuffer(Buffer[0], ms.Size - 1);
   ShowMessage('MS=' + IntToStr(ms.Size) + #13 +
               'Buffer size=' + IntToStr(length(Buffer) - 1)+ #13
               +'Buffer=' + Buffer);
 finally
   FreeMem(Buffer);
   ms.Free;
 end;

Не работает. Как поправить? Или возможно есть другой способ сохранить Bitmap в XML?


*Стажер*   (2006-11-24 10:35:00) [1]


> Андрей Сенченко ©

Сделал AppBar, (а то весь стол ярлыками засыпан) добавляем файл через WM_DROPFILES, из файла извлекаем иконку и вставляем ее в кнопку, если иконка не устраивает устанавливаем свой Bitmap, все кнопки сохраняем в XML, поэтому до кучи и в порядке самообразования решил затолкал туда и Glyph'ы.


Андрей Сенченко   (2006-11-24 10:21:00) [2]

Тогда просто непонятно - зачем Тебе сохранять битмапы в XML если достаточно сохранить ID-шник глифа в инишку ...

.. ну ладно


*Стажер*   (2006-11-24 09:25:00) [3]


> Андрей Сенченко ©

Да и Glyph'ов, да я написал процедуру сохранения уже, пока "кривовато работает", нужно немного доработать.


Андрей Сенченко   (2006-11-23 19:22:00) [4]

*Стажер*   (23.11.06 11:32)  

А Битмапы берутся из "штатных" глифов TSpeedButton или подгружаются извне ?


SPad   (2006-11-23 18:55:00) [5]

В хелпе D7 нет ни слова о base64, а в сети лежат функции только для кодировки строк :(


clickmaker   (2006-11-23 11:38:00) [6]

по традиции, бинарные данные сливают в XML в base64


Наверх

Титульная страница Поиск, карта сайта Написать письмо