|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Добавление в таблицу Paradox картинок и отображение их в DBImage
Здраствуйте! Есть маленький вопросик) помогите плз, очень нужно...
Например есть база, в ней два поля Opisanie(типа alpha) и Foto (типа Graphic). Как зделать так чтобы при нажатии кнопки пользователь мог выбрать из файлов нужную картинку(OpenPictureDialog) нажать ОК и эта картинка сохранилась в таблице для первой записи и отображалась в DBImage... |
#2
|
|||
|
|||
В нэте нарыл вот этот код
Код:
procedure TForm1.Button1Click(Sender: TObject); begin //загрузка из файла if OpenPictureDialog1.Execute then begin Table1.Edit; dbImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName); table1.Post; end; end; procedure TForm1.TableBeforePost(DataSet: TDataSet); var BLOB:TBlobStream; begin //сохранение картинки в базе BLOB:=TBlobStream.Create(TBlobField(Table1),bmWrite); try Image1.Picture.Graphic.SaveToStream(BLOB); finally BLOB.Free; end; end; если есть у него недостатки плз напишите!!!! Последний раз редактировалось Admin, 13.06.2009 в 22:16. |
#3
|
|||
|
|||
Пожалуйста найдите в этом коде ошибки если они есть...
Код:
procedure TForm1.SpeedButton1Click(Sender: TObject); var fEdit:boolean; begin //загрузка из файла if OpenPictureDialog.Execute then begin if Table.State=dsBrowse then begin Table.Edit; fEdit:=true; end else fEdit:=false; Image.Picture.LoadFromFile(OpenPictureDialog.FileName); if fEdit then Table.Post; end; end; procedure TForm1.TableBeforePost(DataSet: TDataSet); var BLOB:TBlobStream; begin //сохранение картинки в базе BLOB:=TBlobStream.Create(TableImage,bmWrite); try Image.Picture.Graphic.SaveToStream(BLOB); finally BLOB.Free; end; end; procedure TForm1.DataSourceDataChange(Sender: TObject; Field: TField); var BLOB:TBlobStream; Code:word; begin //считывание картинки из базы if DataSource.State=dsBrowse then begin BLOB:=TBlobStream.Create(TableImage,bmRead); try BLOB.Read(Code,SizeOf(Code)); BLOB.Seek(0,0); case Code of $4D42: begin Image.Picture.Graphic:=TBitmap.Create; Image.Picture.Graphic.LoadFromStream(BLOB); end; $D8FF: begin Image.Picture.Graphic:=TJPEGImage.Create; Image.Picture.Graphic.LoadFromStream(BLOB); end; end; finally BLOB.Free; end; end; end; |