Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FAQ по Borland C++ Builder

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
procedure TfrmSprCargo.SpeedButton8Click(Sender: TObject);
var
        ms         :TMemoryStream;
        bmpImg     :TPicture; // Объект для картинки в битмаповском формате
        jpgImg     :TJPEGImage; // Объект для картинки в JPEG формате
begin
    // загрузка в базу картинок - бмп и джепегов (без разницы) код целиком с инета
    if FotoLoad.Execute then begin
        ms:=TMemoryStream.Create;
        // Создаём картинки в памяти
        bmpImg:=TPicture.Create;
        jpgImg:=TJPEGImage.Create;
        try
           bmpImg.Bitmap.LoadFromFile(FotoLoad.FileName); // Пытаемся создать картинку в битмап формате
           bmpImg.Bitmap.SaveToStream(ms);
           Photo.Picture.Assign(bmpImg.Bitmap); // Отображаем
        except
        on E:Exception do // УУПС возможно это была JPEG картинка
           begin
             jpgImg.LoadFromFile(FotoLoad.FileName); // Пытаемся создать картику в JPEG формате
             Photo.Picture.Bitmap.Assign(jpgImg); // Отображаем
             jpgImg.SaveToStream(ms);
            end;
        end;
        TBlobField(adoSprCargo.FieldByName('Foto')).LoadFromStream(ms);
        // Очищаем память
        if Photo.Picture.Bitmap.Empty then Photo.Picture:=nil;  
        ms.Clear;
        ms.Free;
        bmpImg.Free;
        jpgImg.Free;
    end;
end;
 
procedure TfrmSprCargo.adoSprCargoAfterScroll(DataSet: TDataSet);
var
        ms:TMemoryStream;// Поток для чтения BLOB из базы
        bmpImg:TPicture; // Объект для картинки в битмаповском формате
        jpgImg:TJPEGImage; // Объект для картинки в JPEG формате
begin
        // при прокрутке записей обновляем  информацию в данных о грузе и картинки
        lcFrom.KeyValue:=adoSprCargo.FieldByName('StFrom').AsInteger;
        lcOtpr.KeyValue:=adoSprCargo.FieldByName('Otpr').AsInteger;
        lcPol.KeyValue:=adoSprCargo.FieldByName('Pol').AsInteger;
        dtFrom.DateTime:=adoSprCargo.FieldByName('dtFrom').AsDateTime;
        tmFrom.DateTime:=adoSprCargo.FieldByName('dtFrom').AsDateTime;
        dtTo.DateTime:=adoSprCargo.FieldByName('dtTo').AsDateTime;
        tmTo.DateTime:=adoSprCargo.FieldByName('dtTo').AsDateTime;
        lcTo.KeyValue:=adoSprCargo.FieldByName('StTo').AsInteger;
        ms:=TMemoryStream.Create;
        TBlobField(adoSprCargo.FieldByName('Foto')).SaveToStream(ms); // Приводим поле к типу блоб и считываем в поток
        // Создаём картинки в памяти
        bmpImg:=TPicture.Create;
        jpgImg:=TJPEGImage.Create;
        try
           ms.Seek(0,soFromBeginning); // Устанавливаем позицию потока на начало
           bmpImg.Bitmap.LoadFromStream(ms); // Пытаемся создать картинку в битмап формате
           Photo.Picture.Assign(bmpImg.Bitmap); // Отображаем
        except
        on E:Exception do // УУПС возможно это была JPEG картинка
           begin
             ms.Seek(0,soFromBeginning); // Устанавливаем позицию потока на начало
             jpgImg.LoadFromStream(ms); // Пытаемся создать картику в JPEG формате
             Photo.Picture.Bitmap.Assign(jpgImg); // Отображаем
            end;
        end;
        // Очищаем память
        if Photo.Picture.Bitmap.Empty then Photo.Picture:=nil;
        ms.Clear;
        ms.Free;
        bmpImg.Free;
        jpgImg.Free;
end;
 
 



----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 05:29 28-03-2009
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FAQ по Borland C++ Builder


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru