![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi + поля объекта OLE в MS Access [D7, Access]
OlkaGTS © (2003-07-01 17:22:00)Уважаемые!
Каким образом можно работать с полями OLE из MS Access, поля содержат документы Word. Если можно, дайте ссылку, где можно об этом почитать.
Семен Сорокин (2003-07-02 14:47:00) [1]вот работающий пример (Лесник (с)):
var
MemStream: TMemoryStream;
Img: TBitmap;
jImg: TJPEGImage;
begin
OpenPictureDialog1.Execute;
if not (OpenPictureDialog1.FileName="") then begin
Img := TBitmap.Create;
jImg := TJPEGImage.Create;
MemStream := TMemoryStream.Create;
jImg.LoadFromFile(OpenPictureDialog1.FileName);
Img.Assign(jImg);
jImg.CompressionQuality := 60;
Img.SaveToStream(MemStream);
MemStream.Seek(0, soFromBeginning);
if not (DM.EmployesQuery1.State=dsEdit) then DM.EmployesQuery1.Edit;
TBLOBField(DM.EmployesQuery1.FieldByName("EPhoto")).LoadFromStream(MemStream);
DM.EmployesQuery1.Post;
MemStream.Free;
Img.free;
jImg.Free;
end;
end;
OlkaGTS (2003-07-02 14:03:00) [2]Ничего не получается. Он сохраняет файл в нечитабельном формате, то же самое происходит и при записи.
Семен Сорокин (2003-07-01 17:33:00) [3]
function SaveFileFromBase(AId:integer; APath: string):boolean;
var
_bs : TStream;
_fs : TFileStream;
begin
Result := false;
with TADOQuery.Create(nil) do
try
SQL.Add("SELECT * FROM paterns WHERE id=:id");
Parameters.ParamByName("id").Value := AId;
Open;
if not Eof then begin
_bs := CreateBlobStream(FieldByName("File"), bmRead);
_fs := TFileStream.Create(ExcludeTrailingPathDelimiter(APath) + "\" + FieldByName("filename").AsString, fmCreate);
_fs.CopyFrom(_bs, 0)
end;
Result := true
finally
Close;
Free;
if _bs <> nil then
_bs.Free;
if _fs <> nil then
_fs.Free
end
end;
по аналогии смотри запись