Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Paradox foto  (Прочитано 9685 раз)
0 Пользователей и 1 Гость смотрят эту тему.
korzhik
Гость
« : 07-06-2008 13:08 » 

как с базы(парадокс) передть фото  в компонент   image. Можно кусочек код ?
Заранее спс
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #1 : 07-06-2008 16:04 » 

ничего не понятно. В базе нет фотографии! фотография хранится в файловой системе, что куда и как тебе нужно передать?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
zubr
Гость
« Ответ #2 : 07-06-2008 16:15 » 

Код:
Image1.Picture.Assign(TBlobField(Query1.FieldByName('Foto')));
Записан
korzhik
Гость
« Ответ #3 : 10-06-2008 04:45 » 

Код:
Image1.Picture.Assign(TBlobField(Query1.FieldByName('Foto')));
если не понятен вопрос зачем отписываться? ну пропусти вопрос ничего.

zubr спс.
Нашел вот такой пример если кому нужно:

  ms:TMemoryStream;// Поток для чтения BLOB из базы
  bmpImg:TPicture; // Объект для картинки в битмаповском формате
  jpgImg:TJPEGImage;// Объект для картинки в JPEG формате


ms:=TMemoryStream.Create;
        TBlobField(dm.Table1.FieldByName('Foto')).SaveToStream(ms); // Приводим поле к типу блоб и считываем в поток
        // Создаём картинки в памяти
        bmpImg:=TPicture.Create;
        jpgImg:=TJPEGImage.Create;
        try
        ms.Seek(0,soBeginning); // Устанавливаем позицию потока на начало
        bmpImg.Bitmap.LoadFromStream(ms); // Пытаемся создать картинку в битмап формате
        image1.Picture.Assign(bmpImg.Bitmap); // Отображаем
        except
        on E:Exception do // УУПС возможно это была JPEG картинка
        begin
        ms.Seek(0,soBeginning); // Устанавливаем позицию потока на начало
        jpgImg.LoadFromStream(ms); // Пытаемся создать картику в JPEG формате
        image1.Picture.Bitmap.Assign(jpgImg); // Отображаем
        end;
        end;
        // Очищаем память
        ms.Clear;
        ms.Free;
        bmpImg.Free;
        jpgImg.Free;
Записан
zubr
Гость
« Ответ #4 : 10-06-2008 06:34 » 

Поток здесь лишнее.
Вот сделай так:
Код:
If TBlobField(Table1.FieldByName('Foto')).BlobSize>0 then //проверяем не пустое ли поле
begin
  jpg:=TJpegImage.Create;
  try
   jpg.Assign(TBlobField(Table1.FieldByName('Foto')));
   Image1.Picture.Assign(jpg);
  finally
   jpg.Free;
  end;
end;
Записан
korzhik
Гость
« Ответ #5 : 10-06-2008 14:17 » 

zubr !!!
1. как можно с компоненты image значение picture передать в значение filename компоненты OpenpictureDialog?
2. и как можно сохранить с компоненты image  в базу парадокс(блоб файл)?
Записан
zubr
Гость
« Ответ #6 : 10-06-2008 14:43 » 

1. Image1.Picture.SaveToFile(OpenDialog1.FileName);
2.
Код:
Table1.Edit;
jpg:=TJpegImage.Create;
   try
    jpg.Assign(Image1.Picture.Graphic);
    TBlobField(Table1.FieldByName('Foto')).Assign(jpg);
   finally
    jpg.Free;
   end;
Table1.Post;
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines