
28.11.2015, 03:14
|
 |
LMD-DML
|
|
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
|
|
Как сохранять
Код:
uses Jpeg;
procedure PictureToGraphicField(D: TDataSet; F: TField);
var
FileName: TFileName;
Bmp: TBitmap;
jpg: TJPEGImage;
begin
D:= F.DataSet; // множество данных, которое содержит поле F
if D.Active then // если таблица открыта, то
if D.RecordCount > 0 then // если в таблице есть записи, то
if OpenPictureDialog1.Execute then // если файл картинки выбран, то
begin
if not (D.State in [dsEdit]) then D.Edit; // перевод таблицы в режим редактирования
FileName:= OpenPictureDialog1.FileName; // имя файла с картинкой
try
Bmp:= TBitmap.Create; // создаем Bitmap в памяти
jpg:= TJPEGImage.Create; // создаем JPEG
jpg.CompressionQuality:= 100; // качество сжатия изображения
jpg.Compress; // сжатие
jpg.LoadFromFile(FileName); // загрузка
bmp.Assign(jpg); // передача из JPEG в BMP
F.Assign(bmp); // передача картинки из Bitmap в поле "Каринка"
D.Post; // сохранение записи
except // в случае исключительной ситуции делать:
ShowMessage('Не удалось загрузить картинку.'); // сообщение об ошибке
FreeAndNil(jpg); // освобождение памяти, занятой JPEG
FreeAndNil(bmp); // освобождение памяти, занятой Bitmap
end;
end;
end;
использование
Код:
PictureToGraphicField(DataSource.DataSet,DataSource.DataSet.FieldByName('Картинка'));
|