Показать сообщение отдельно
  #19  
Старый 18.03.2015, 13:12
Вовайн Вовайн вне форума
Новичок
 
Регистрация: 14.02.2015
Сообщения: 68
Версия Delphi: Delphi EX7 21
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Да уж, качать 36 mb на беднягу свисток ещё то удовольствие - многовато и долго, проще самому примитивчик было подсобрать
У меня столбцы то разные будут. Тут то по оперативке одинаковые, а у меня не только оперативка. Работает классно. Буквально пару строчек прописать) Огромное спасибо.
А вот как еще кнопки редактирование записей туда и отображение картинок приделать. Редактирование записей у меня сделано кнопкой и в отдельной форме с едитами. Ну и загрузка картинки в базу и её отображение.
Код загрузки картинки такой
Код:
procedure PictureToGraphicField(F: TField);
var
     FileName: TFileName;
     Bmp: TBitmap;
     jpg: TJPEGImage;
     D: TDataSet;
begin
 With datamodule1, Form13 do
  begin
   D:= F.DataSet; // множество данных, которое содержит поле F
   if D.Active then // если таблица открыта, то
    if D.RecordCount > 0 then // если в таблице есть записи, то
     if OpenPictureDialog1.Execute then // если файл картинки выбран, то
      begin
       if not (D.State in [dsEdit]) then D.Edit; // перевод таблицы в режим редактирования
       FileName:= OpenPictureDialog1.FileName; // имя файла с картинкой
       try
        Bmp:= TBitmap.Create; // создаем Bitmap в памяти
        jpg:= TJPEGImage.Create; // создаем JPEG
        jpg.CompressionQuality:= 100; // качество сжатия изображения
        jpg.Compress; // сжатие
        jpg.LoadFromFile(FileName); // загрузка
        bmp.Assign(jpg); // передача из JPEG в BMP
        F.Assign(bmp); // передача картинки из Bitmap в поле "Каринка"
        D.Post; // сохранение записи
       except // в случае исключительной ситуции делать:
        ShowMessage('Не удалось загрузить картинку.'); // сообщение об ошибке
        FreeAndNil(jpg); // освобождение памяти, занятой JPEG
        FreeAndNil(bmp); // освобождение памяти, занятой Bitmap
       end;
      end;
   end;
end;


procedure TForm13.sBitBtn1Click(Sender: TObject);
begin
PictureToGraphicField(datamodule1.Tform13.FieldByName('Фото'));
Ответить с цитированием