procedure TF_dk_create.pic_find;
var BStream : TStream;
AJ : TJPegImage;
AB : TBitmap;
Data : array[0..15] of Char;
begin
with dm1.IBQdk_create do
begin
try
if active then
begin
BStream := CreateBlobStream(fieldbyname('pic'),bmread);
try
BStream.Read(Data,16);
BStream.Position := 0;
if(Data[6]='J')and(Data[7]='F')and(Data[8]='I')and(Data[9]='F') or (data='') then
begin
AJ := TJPegImage.Create;
try
AJ.LoadFromStream(BStream);
img1.Picture.Assign(AJ);
image1.Picture.Assign(AJ);
finally
AJ.Free;
end;
end
else if(Data[0]='B')and(Data[1]='M') then
begin
AB := TBitmap.Create;
try
AB.LoadFromStream(BStream);
img1.Picture.Assign(AB);
image1.Picture.Assign(AB);
finally
AB.Free;
end;
end
else
begin
코딩을 안봐서 확실하진 않지만 스트림에서 읽을때나 저장할때 파일의 위치가 맨끝에 있기 때문에 그런겁니다. 파일을 읽을때 위치를 맨처음으로 맞추어주세요...
^^ 항상 즐코하세요...