var
MS,MS2: TFileStream;
Pic : TJpegImage;
path:String;
begin
path := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName));
MS := TFileStream.Create(path + '040824-1-14.jpg',fmOpenRead);
MS2 := TFileStream.Create(path + 'new.jpg',fmCreate);
MS.Seek(0, soFromBeginning);
MS2.CopyFrom(MS,SizeOf(MS));
FreeAndNil(MS);
FreeAndNil(MS2);
end;040824-1-14.jpg'是有500多个字节的,为什么生成的new.jpg只有4个字节,请问上面程序是哪里出错啦?
MS,MS2: TFileStream;
Pic : TJpegImage;
path:String;
begin
path := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName));
MS := TFileStream.Create(path + '040824-1-14.jpg',fmOpenRead);
MS2 := TFileStream.Create(path + 'new.jpg',fmCreate);
MS.Seek(0, soFromBeginning);
MS2.CopyFrom(MS,SizeOf(MS));
FreeAndNil(MS);
FreeAndNil(MS2);
end;040824-1-14.jpg'是有500多个字节的,为什么生成的new.jpg只有4个字节,请问上面程序是哪里出错啦?
解决方案 »
- TString和string的问题
- delphi+access, 用dbgrideh显视数据,但当数据类型为“备注”时, dbgrideh列表里显视的是 (memo) 而不是记录的真实内容......
- 我要有序的显示我的五张图片!现在是随机的!在线等!!!
- 各位大侠,快来帮帮忙了!!毕业设计急需解决的问题,请一定援手
- SQLServer表中有八个Chat型字段,怎样用SQL语句汇总出符号条件的数据的个数?
- 我想模拟点另一个程序的右键菜单中的某一项,但是如何得到这个菜单的句柄呢
- 怎么无法启动NT4.0上的DCOM服务,应用服务器放在本地是可以执行的
- 自编函数:处理中文日期 、处理BDE数据库别名、查找目录文件...
- 我已经把*.SWF文件和程序连接起来了,如何实现当打开*.swf时调用我的文件来播放它?(双击*.SWF文件)
- 在用ADO连接SQL Server数据库,对表进行操作的时候如何使用Transaction?
- 如何获取dbnavigator上的单个按扭的单击事件?等
- 这里怎么没有人回答我得问题啊?????????
procedure TForm1.BitBtn1Click(Sender: TObject);
var
MS,MS2: TFileStream;
Pic : TJpegImage;
path:String;
begin
path := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName));
MS := TFileStream.Create(path + 'FlashImage.jpg',fmOpenRead);
MS2 := TFileStream.Create(path + 'new.jpg',fmCreate);
MS.Seek(0, soFromBeginning);
MS2.CopyFrom(MS,ms.Size);
FreeAndNil(MS);
FreeAndNil(MS2);
end;
再加个写的参数 试试
语句中ms对象实际是个指针,SizeOf(指针型变量)值等于4。
ms流的大小应该用ms.size.
MS2.CopyFrom(MS,ms.Size);
这样就可以了。
var
Steam1,Stream2,Stream3 :TFileStream;
begin
Result := False;
Steam1 := TFileStream.Create(SourceName,fmOpenRead);
try
Stream2 := TFileStream.Create(TargetName,fmOpenWrite or fmCreate);
try
Stream2.CopyFrom(Steam1,Steam1.Size);
Result := True;
finally
Stream2.Free;
end;
finally
Steam1.Free;
end;
end;
MS2.CopyFrom(MS,SizeOf(MS));
中的SIZEOF(MS)改为
ms.size.