Показать сообщение отдельно
  #10  
Старый 05.05.2015, 23:00
gewasop gewasop вне форума
Прохожий
 
Регистрация: 05.05.2015
Сообщения: 26
Версия Delphi: Delphi XE7
Репутация: 10
По умолчанию

Советую сделать кнопку для загрузки картинки в DBImage

Можно подрубить модуль.
uses JPEG

Функция на конвертацию картинки из JPEG в BMP:
Код:
procedure JPEGtoBMP(FileName: TFileName; var Bmp: TBitmap);
var
  jpg: TJPEGImage;
begin
  jpg := TJPEGImage.Create;
  jpg.CompressionQuality := 100;
  jpg.Compress;
  jpg.LoadFromFile(FileName);
  Bmp.Assign(jpg);
  FreeAndNil(jpg);
end;

Кнопка загрузки картинки:
Код:
procedure TfMASTERS.SpeedButton1Click(Sender: TObject);
var
  FileName: TFileName;
  Bmp: TBitmap;
begin
  if fdm.QMASTERS.Active then
    if fdm.QMASTERS.RecordCount > 0 then
      if OpenPictureDialog1.Execute then
      begin
        fdm.QMASTERS.Edit;
        FileName := OpenPictureDialog1.FileName;
        Bmp := TBitmap.Create;
        try
          JPEGtoBMP(FileName, Bmp);
          fdm.QMASTERS.Fields[7].Assign(Bmp);
          FreeAndNil(Bmp);
        except
          ShowMessage('Не удалось загрузить картинку.');
          FreeAndNil(Bmp);
        end;
      end;
end;

Вот так у меня все путем и когда я загружаю новую картинку, предыдущая удаляется.
И привяжите DBImage к BLOB полю в вашей таблице таблице.
Только для загрузки в таблице должна быть хотя бы одна запись. Так что перед тем, как грузить, сделайте запись без картинки, потом добавьте нормальную запись(с картинкой) и запись без картинки уже можно удалить.



Ответить с цитированием