Вниз
Скачать: CL | DM;

Как передать в процедуру ИЗОБРАЖЕНИЕ?   Найти похожие ветки 

← →
yuli ©   (2003-02-04 14:40) [0]

Задача - учет сотрудников на фирме. Не могу сделать Изменение анкеты. Чтоб изменить карточку, выставить новую фотку и ПОСЛЕ нажатия кнонки ОК данные занеслись в Базу. Помогите, очень надо, уже дымлюсь! Спасибо.


← →
D   (2003-02-04 14:46) [1]

В какую проц-ру?

После нажатия кнопки - Dataset.Post.


← →
yuli ©   (2003-02-04 14:49) [2]

нужно передать Image.Picture.Bitmap в базу как параметр UDF, но вылазит ошибка несовпадения данных либо ничего не передается. Поле типа BLOB.
И обратная задача - из поля, возвращаемого UDF скопировать данные в Image.Picture.Bitmap

То есть нужно хранить картинки в базе и показывать их в Image.

Дайте пример плиз!


← →
Digitman ©   (2003-02-04 15:04) [3]


> нужно передать Image.Picture.Bitmap в базу как параметр
> UDF


А зачем UDF-то ? Каково назначение UDF в этой цепочке ?

Клиент на своей стороне может создать объект класса TBlobStream, ассоциированный с Blob-полем, предназначенным для хранения картинки (см. метод CreateBlobStream)

Поскольку класс TBitmap имеет методы SaveToStream/LoadFromStream, ничто не мешает передать в эти методы параметром тот самый экз-р объекта TBlobStream.



← →
yuli ©   (2003-02-04 16:05) [4]

а можно пример, как из Image.Picture.Bitmap передать битмап в IBStoredProc.Param[0], ну не получается...


← →
Digitman ©   (2003-02-04 16:31) [5]

ну что-то типа такого :


var stream: TMemoryStream;
..

stream := TMemoryStream.Create;
try
Image.Picture.Bitmap.SaveToStream(stream);
stream.Position := 0;
IBStoredProc.Prepare;
IBStoredProc.Param[0].LoadFromStream(stream, ftBlob);
// старт транзакции
try
IBStoredProc.ExecProc;
// подтверждение транзакции
except
// откат транзакции
raise;
end;
finally
stream.Free;
end;




← →
D   (2003-02-04 16:41) [6]

Param[0].Assign(BitMap) ?


← →
yuli ©   (2003-02-04 17:28) [7]

Вроде что-то жужжит, в базу пишет, осталось работы два локтя по карте, спасибо большое. Будем ковырять дальше. ОГРОМАДНОЕ спасибо!


← →
yuli ©   (2003-02-05 10:21) [8]

еще один глупый вопрос - а как из параметра процедуры считать данные в Image.Picture.Bitmap?
SaveToStream у TParam нету


← →
Digitman ©   (2003-02-05 11:14) [9]

var stream: TMemoryStream;
..

stream := TMemoryStream.Create;
try
stream.Size := IBStoredProc.Param[..].GetDataSize;
IBStoredProc.Param[..].GetData(stream.Memory);
..
Image.Picture.Bitmap.LoadFromStream(stream);
finally
stream.Free;
end;



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
14-63786
БИС
2003-02-03 10:39
2003.02.20
Есть ли программисты, которые не пьют пива или это нонсенс ?


14-63789
SPeller
2003-02-02 19:42
2003.02.20
Классы в Дельфи


6-63713
SinnerPro
2002-12-31 09:45
2003.02.20
Где достать компоненту NMHTTP ?


3-63490
Fishka
2003-01-31 14:36
2003.02.20
Foxpro-шные файлы с CDX, MEMO-полями - как с ними работать?


14-63838
Saracin
2003-02-01 12:44
2003.02.20
Перед тем как ночать тоскать компоненты на форму :)




   Наверх