Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение из полей OLE 
:(
    Опции темы
PsiMagistr
Дата 11.9.2011, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



Ребята, 

у меня картинки появились прямо в  в базе (Accsess) , я решил отказаться от ImageList, (при добавлении очередного мсонстра надо перекомпилировать программу). 

Пытаюсь читать:

Код

Avatara.Picture.Bitmap.Assign(TBlobField(Q2.FieldByName('Картинка')));



Выходит ошибка

BitMap Image is not valid.

Помогите разобраться. Соответствующие темы на форуме читал - не выходит.


Важно: Картинка битмап была сохранена в базе через Acсess, а не через Дельфи






Это сообщение отредактировал(а) PsiMagistr - 11.9.2011, 11:48

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  434.JPG 128,75 Kb


--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
Данкинг
Дата 11.9.2011, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Попробуй под себя адаптировать:
Код

procedure tform1.Load_pic;
var S : TStream;
    FileName:string;
begin
  filename:=extractfilepath(application.ExeName)+'\temp.jpg';
  deletefile(filename);
  if zapros_ib2.FieldByName('Картинка').IsNull then Exit;
  S:=zapros_ib2.FieldByName('Картинка').DataSet.CreateBlobStream(zapros_ib2.FieldByName('Картинка'), bmRead);
  if FileExists(FileName) then
    FileS:=TFileStream.Create(FileName, fmOpenWrite)
  else
    FileS:=TFileStream.Create(FileName, fmCreate);
  try
    FileS.CopyFrom(S, S.Size);
  finally
    S.Free;
    FileS.Free;
  end;
image1.Picture.LoadFromFile(filename);
end;




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
PsiMagistr
Дата 11.9.2011, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



Данкинг,  С сохранением файла?

Добавлено через 39 секунд
Данкинг, спасибо конечно, но лишние телодвижения...

Добавлено через 9 минут и 14 секунд
Как прочитать правильный bitmap картинки из таблицы БД MS Access,
которая была сохранена там не програмно, а с помощью Microsoft Access 2000 

Access пишет в базу не битмапу, а OLE-объект. Нужно просто считать его в блок памяти, найти в начале блока (cj cvtotybtv d ytcrjkmrj ltcznrjd ,fqn jn yfxfkf) сигнатуру bitmap (BM) и с этой позиции прочитать в другой блок памяти нужное число байт. Это число легко определить, разбирая заголовок bitmap, который следует за сигнатурой (см. описание формата BMP) 


В теории понятно, но вот как это на практике осуществить?






--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.