Форум: "Базы";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
ВнизКак записать содержимое 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.033 c