Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
 
 

Советы по delphi \ Базы данных \ Записи, индексы, поля, закладки \ Запись потока в BLOB-поле

Запись потока в BLOB-поле

Вся хитрость заключается в использовании StrPcopy (помещения вашей строки в PChar) и записи буфера в поток. Вы не сможете передать это в PChar непосредственно, поскольку ему нужен буфер, поэтому для получения необходимого размера буфера используйте [0] и StrLen().

Вот пример использования TMemoryStream и записи его в Blob-поле:

var
  cString: string;
  oMemory: TMemoryStream;
  Buffer: PChar;
begin
  cString := 'Ну, допустим, хочу эту строку!';

  { СОздаем новый поток памяти }
  oMemory := TMemoryStream.Create;

  {!! Копируем строку в PChar }
  StrPCopy(Buffer, cString);

  { Пишем =буфер= и его размер в поток }
  oMemory.Write(Buffer[0], StrLen(Buffer));

  {Записываем это в поле}
  < Blob / Memo / GraphicFieldName > .LoadFromStream(oMemory);

  { Необходимо освободить ресурсы}
  oMemory.Free;
end;

Название: Запись потока в BLOB-поле
Дата публикации: 2004-03-17 (3038 Прочтено)

 
 

 

Page generation 0.036 seconds