Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Как вставить в DBImage1 картинку программным путем?   Найти похожие ветки 

 
Arthur1   (2004-01-29 13:39) [0]

Как вставить в DBImage1 картинку программным путем?


 
Val ©   (2004-01-29 14:44) [1]

1.загрузить из файла
2.загрузить из буфера обмена
3.загрузить из БД


 
Arthur1   (2004-01-29 15:05) [2]

Мне нужно по сути загрузить картинку из файла (или из Image) в базу данных. Если точнее, то меня в полне устроит что-то типа
Table1.Fieldbyname("s1").AsString:="AAABBBCCC", но только не со строкой, а с картинкой. Вроди из хелпа понял, что нужно
Table1.Fieldbyname("s1").AsVariant:= ???, но что конкретно ставить вместо ???, я не знаю.

Может есть другие пути (или варианты)?


 
Val ©   (2004-01-29 15:54) [3]

Нужно иметь для этого в таблице базы данных BLOB-поле для хранения изображения. У BLOB-поля есть метод для загрузки данных с диска.


 
Val ©   (2004-01-29 16:00) [4]

Хм..хорошо сказал...
У BLOB-поля ...
Имелся ввиду класс TBlobField, экземпляр которого будет представлять Ваше BLOB-поле в приложении.


 
Arthur1   (2004-01-29 16:11) [5]

А как это реализовать конктретно? Пример, если можно.
Я создал парадоксовкую таблицу, побвязал таблицу к DBImage и всё работает. Но в DBImage могу вставить только из буфера, а это меня не устраивает - нужно из файла.


 
Ega23 ©   (2004-01-29 16:14) [6]

FileName:=ExtractFilePath(ParamStr(0))+"FaceImg.jpg";
TBLOBfield(Query1.FieldByName("PersFaceImg")).SaveToFile(FileName);
Image1.LoadFromFile(FileName);


 
Reindeer Moss Eater ©   (2004-01-29 16:14) [7]

Класс TBlobField
Метод LoadFromFile


 
kvp ©   (2004-01-29 16:22) [8]

У меня сделано так:
procedure TFCxema.DBImage1DblClick(Sender: TObject);
begin
If Table1.ReadOnly=False then begin
If OpenPictureDialog1.Execute then
begin
Table1.Edit;
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Table1.Post;
end; end;
end;


 
GSVSerg ©   (2004-01-29 16:28) [9]

kvp © (29.01.04 16:22) [8]
А если файл JPEG?


 
Val ©   (2004-01-29 16:29) [10]

>Ega23 © (29.01.04 16:14) [6]
Пример несколько сбивающий с толку:
1. Почему не использовать OpenPictureDialog?
2. Тревожное приведение TBLOBfield(), лучше as TBlobField, мне кажется.
3. Почему не использовать DBImage?
4. То что вы делаете, можно сделать с помощью потоков, дабы не тормозить приложение дисковыми операциями.


 
Ega23 ©   (2004-01-29 16:39) [11]


> Val © (29.01.04 16:29) [10]
> >Ega23 © (29.01.04 16:14) [6]
> Пример несколько сбивающий с толку:
> 1. Почему не использовать OpenPictureDialog?
> 2. Тревожное приведение TBLOBfield(), лучше as TBlobField,
> мне кажется.
> 3. Почему не использовать DBImage?
> 4. То что вы делаете, можно сделать с помощью потоков, дабы
> не тормозить приложение дисковыми операциями.


Этот пример - выгрузка фотографии сотрудника из БД. По условиям задачи необходимо чтобы фото хранилось в той же директории, что и exe и с конкретным именем.
Также фото должно изображаться на форме.


 
Reindeer Moss Eater ©   (2004-01-29 16:40) [12]

А по условиям вопроса картинка из файла должна стать видна в T DBImage


 
Ega23 ©   (2004-01-29 16:43) [13]


> А по условиям вопроса картинка из файла должна стать видна
> в TDBImage

DBImage1.Picture.LoadFromFile(FileName).
или
DBImage1.LoadImage;



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
1-79951
Matrex
2004-02-13 19:49
2004.02.25
Focus


14-80241
Nick_Omsk
2004-02-04 18:55
2004.02.25
Про TVicHW32


1-79975
AkaSaint
2004-02-11 18:30
2004.02.25
Ошибка при приведении объекта к типу предка


3-79571
mvg_first
2004-01-19 16:40
2004.02.25
Insert, Update, Delete своими руками


1-79965
_Прохожий
2004-02-13 15:51
2004.02.25
Получение иконки по расширению файла