...
const
MAX = 100;
type
TTemplate = record
ftemplate: array[0..MAX] of byte;
end;
var
T: TTemplate;
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
IBDataSet1.Open;
end;
procedure TForm1.btnWriteClick(Sender: TObject);
var
i: Integer;
S: TStream;
begin
for i:= 0 to MAX do T.ftemplate[i]:= Random(255);
with IBDataSet1 do
begin
Append;
S:= CreateBlobStream(FieldByName('BYTEARRAY'), bmReadWrite);
try
S.Seek(0, soBeginning);
S.WriteBuffer(T, SizeOf(T));
Post;
finally
S.Free;
end;
end;
end;
procedure TForm1.btnReadClick(Sender: TObject);
var
S: TStream;
i: Integer;
begin
with IBDataSet1 do
begin
S:= TMemoryStream.Create;
try
TBlobField(FieldByName('BYTEARRAY')).SaveToStream(S);
S.Position:= 0;
S.Read(T.ftemplate,SizeOf(T.ftemplate));
finally
S.Free;
end;
end;
ListBox1.Clear;
for i:= 0 to MAX do
ListBox1.Items.Add(IntToStr(T.ftemplate[i]))
end;