
Доступны несколько вариантов загрузки самих изображения в BLOB таблицы под названием dBASE либо Paradox...
3 наиболее простых варианта состоят из:
1) именно копирование всех данных из самого буфера обмена под названием Windows исключительно в компонент по имени TDBImage, который связан напрямую с данным BLOB-полем;
2) представляет из себя использование именно метода под названием LoadFromFile компонента по имени TBLOBField;
3) представляет из себя использование метода по имени Assign с целью копирования самого объекта TBitmap- типа именно в значение представленного свойства по имени Picture компонента под названием TBDBImage.
Желаете узнать больше о народной медицине? На веб-сайте naturmedicina.com.ua, Вы можете прочитать о самых новых методиках народной медицины, которые с успехом используются на практике, узнать, что собой представляет лечебный массаж, а также ознакомится с наиболее прогрессивными методами лечения заболеваний позвоночника.
Первый из представленных вариантов, в том случае, если происходит именно копирование нашего изображения только из буфера обмена, наверно, будет самый удобен в том случае, если нужно додать само изображение исключительно в таблицу при самом использовании данного приложения итоговым пользователем.
В данном случае компонент под названием TDBImage удет использоватся именно в виде некоего интерфейса только между нашим BLOB-полем таблицы и самим изображением, которое хранится в данном буфере обмена.
Вариант по имени PasteFromClipboard компонента под названием TDBImage занимается именно тем, что данное изображение копирует из нашего буфера обмена именно в TDBImage. В случае сохранении этой записи изображение будет записано в BLOB.
Из-за того, что буфер обмена самой Windows содержать в себе может данные кардинально разных форматов, то обязательно перед тем как вызывать метод по имени CopyFromClipboard делать проверку всего формата, в котором хранятся данные.
Чтобы сделать это, делаем обьект по имени TClipboard и пробуем метод его HasFormat, который дает возможность хорошо определить сам формат данных.
Помните, что с целью создания объекта под названием TClipboard надоюно модуль добавить под названием Clipbrd именно в секцию uses того модуля, в котором делается сам экземпляр необходимого объекта.
Предоставляем пример кода:
procedure TForm1.Button1Click(Sender: TObject);
var
C: TClipboard;
begin
C := TClipboard.Create;
try
if Clipboard.HasFormat(CF_BITMAP) then
DBImage1.PasteFromClipboard
else
ShowMessage('Учтите тот факт, что буфер обмена изображения не содержит!');
finally
C.Free;
end;
end;
Другой вариант заполнения нужного BLOB-поля состоит именно в загрузке надобного изображения напрямую из файла в самом BLOB-поле. Этот метод действене как при деланьи приложения, так и во время использовании его.
Данный метод использует способ по имени LoadFromFile компонента под названием TBLOBField, применяющегося в Дельфи с целью работы с самими dBASE-таблицами и также двойственными полями Windows либо же таблицами Paradox, а также графическими полями Windows; во всех вариантах без исключения с помощью представленного метода есть хорошая возможность загрузить само изображение и еще его сберечь в необходимой таблице.
Методу же по имени LoadFromFile компонента под названием TBLOBField надобен один только параметр типа самого String: имя файла загружаемого с нужным изображением. Значение именно этого параметра быть может получено только при выборе самого файла юзером с помощью TOpenDialog и свойства его под названием FileName.
В качестве примера покажем код:
procedure TForm1.Button2Clicck(Sender: TObject);
begin
Table1Bitmap.LoadFromFile(
'c:\delphi\images\splash\16color\construc.bmp');
end;
Третий вариант базируется на работе с методом по имени Assign. Объект надобный именно типа TBitmap быть может как самим свойством Bitmap нашего свойства-объекта Picture компонента под названием TImage, так и автономным уже объектом именно TBitmap.
Аналогично методу, копирующем все нужные данные из самого буфера обмена только в компонент TDBImage, все данные самого изображения компонента по имени TDBImage находятся только в BLOB-поле и только после правильного сохранения данной записи.
А вот пример кода, который использует именно метод Assign:
procedure TForm1.Button3Click(Sender: TObject);
var
B: TBitmap;
begin
B := TBitmap.Create;
try
B.LoadFromFile('c:\delphi\images\splashh\16color\athena.bmp');
DBImage1.Picture.Assign(B);
finally
B.Free;
end;
end;