Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.06.2009, 15:28
Rofar Rofar вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 23
Репутация: 10
Вопрос Добавление в таблицу Paradox картинок и отображение их в DBImage

Здраствуйте! Есть маленький вопросик) помогите плз, очень нужно...
Например есть база, в ней два поля Opisanie(типа alpha) и Foto (типа Graphic). Как зделать так чтобы при нажатии кнопки пользователь мог выбрать из файлов нужную картинку(OpenPictureDialog) нажать ОК и эта картинка сохранилась в таблице для первой записи и отображалась в DBImage...
Ответить с цитированием
  #2  
Старый 13.06.2009, 16:50
Rofar Rofar вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 23
Репутация: 10
По умолчанию

В нэте нарыл вот этот код
Код:
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: Пользуемся тегами!

если есть у него недостатки плз напишите!!!!

Последний раз редактировалось Admin, 13.06.2009 в 22:16.
Ответить с цитированием
  #3  
Старый 14.06.2009, 12:46
Rofar Rofar вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 23
Репутация: 10
По умолчанию

Пожалуйста найдите в этом коде ошибки если они есть...

Код:
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; 
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter