top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
Delphiでバリューオブジェクトで作成したバリューオブジェクトに、バイナリの項目を追加します。画像コンポーネントなどは SaveToStream を持っており 内部データをストリームに変換することができます。
unit uOrderItemVO;
interface
uses System.Classes, System.SysUtils;
// 注文アイテムバリューオブジェクト
type
TOrderItemVO = class
private
FItemNo: string;
FPrice: Integer;
FAmount: Integer;
// 注文アイテムの画像イメージ
FItemImage: TBytes;
public
// アイテム番号
property ItemNo: string read FItemNo write FItemNo;
// 価格
property Price: Integer read FPrice write FPrice;
// 数量
property Amount: Integer read FAmount write FAmount;
// 注文アイテムの画像イメージ
property ItemImage: TBytes read FItemImage write FItemImage;
procedure SetItemImageFromStream(const Stream: TMemoryStream);
function GetItemImageAsStream(): TMemoryStream;
end;
implementation
procedure TOrderItemVO.SetItemImageFromStream(const Stream: TMemoryStream);
begin
SetLength(FItemImage, Stream.Size);
Stream.Position := 0;
Stream.Read(FItemImage[0], Stream.Size);
end;
// 呼び出し元でメモリ開放
function TOrderItemVO.GetItemImageAsStream()
: TMemoryStream;
begin
Result := TMemoryStream.Create;
Result.Write(ItemImage, length(ItemImage));
end;
end.