Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Как записать содержимое BLOB поля в Буфер (Clipboard)   Найти похожие ветки 

 
Меджид   (2005-02-07 11:49) [0]

Привет Мастерам! Помогите кто знает как правельно записать в Буфер (ClipBord) из BLOB поля. В этом поле "куски" из Документа Word2000 (т.е. не целый файл,если это имеет значение). Нашол такой код, но я ничего не мыслю в потоках, а может и в Дельфи вообщем тоже:)

procedure TForm1.Button3Click(Sender: TObject);
var
 hbuf: THandle;
 bufptr: Pointer;
 mstream: TMemoryStream;
 b: TBlobStream;
 wtmp: Word;
begin
 mstream := TMemoryStream.Create;
 Table1.Open;
 Table1.RecNo:= 2;
 try
   {-- Записываем данные в mstream. --}
   mstream.LoadFromStream(TBlobStream.Create((Table1.FieldByName("Qwes"))as TBlobField, bmRead));
   hbuf := GlobalAlloc(GMEM_MOVEABLE, mstream.size);
   try
     bufptr := GlobalLock(hbuf);
     try
       Move(mstream.Memory^, bufptr^, mstream.Size);
       Clipboard.SetAsHandle(49163, hbuf);
     finally
       GlobalUnlock(hbuf);
     end;
   except
     GlobalFree(hbuf);
     raise;
   end;
 finally
   mstream.Free;
   b.Free
 end;
end;


 
Меджид   (2005-02-07 12:16) [1]

Строку mstream.LoadFromStream(TBlobStream.Create((Table1.FieldByName("Qwes"))as TBlobField, bmRead)); добавил я сам, его не было в первоначальном коде.



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.027 c
4-1106554241
tradakad
2005-01-24 11:10
2005.03.06
замена черного цвета прозрачным на карте бит


14-1108716632
syte_ser78
2005-02-18 11:50
2005.03.06
уменьшение значения переменной в цикле


14-1108709083
lehich
2005-02-18 09:44
2005.03.06
WordApplication.ActiveDocument.PrintOut


3-1106643803
DenisWW
2005-01-25 12:03
2005.03.06
переработать метод SetActive компонента TADOQuery


14-1108104276
Steepe Wolf
2005-02-11 09:44
2005.03.06
MX6E040L0, 7200 об, U-DMA133 Установка WinXP