我做兩個功能的加入,在TFileStream的劃分文件,代碼:文件分割成一個TFileStream的
加入
procedure TFormHome.btnJoinClick(Sender: TObject);
var
InStream, OutStream: TFileStream;
OutFileName, InFileName1, InFileName2: string;
begin
OutFileName := 'salida.out';
InFileName1 := 'image.jpg';
InFileName2 := 'test.exe';
OutStream := TFileStream.Create(OutFileName, fmCreate);
try
InStream := TFileStream.Create(InFileName1, fmOpenRead);
ShowMessage(IntToStr(InStream.Size));
try
OutStream.CopyFrom(InStream, InStream.Size);
finally
InStream.Free;
end;
InStream := TFileStream.Create(InFileName2, fmOpenRead);
ShowMessage(IntToStr(InStream.Size));
try
OutStream.CopyFrom(InStream, InStream.Size);
finally
InStream.Free;
end;
finally
OutStream.Free;
end;
end;
鴻溝
procedure TFormHome.btnUnJoinClick(Sender: TObject);
var
Source, Target: TStream;
Buffer: array of Byte;
i: Integer;
SourceName, TargetNames: string;
SizeTargets: Integer;
begin
SourceName := 'salida.out';
TargetNames := 'test.exe';
SizeTargets := 2232832;
Source := TFileStream.Create(SourceName, fmOpenRead);
Target := TFileStream.Create(TargetNames, fmCreate);
try
SetLength(Buffer, SizeTargets);
Source.ReadBuffer(Pointer(Buffer)^, Length(Buffer));
Target.WriteBuffer(Buffer[0], Length(Buffer));
finally
Target.Free;
end;
end;
的問題是,當我劃分文件時,可執行文件中斷並運行時,我想顯示如下錯誤:
Windows can not find the file "route ..." Make sure the name is spelled correctly and try again
或
The version of this file is not compatible with the version of Windows you are running ... (and then talking about 32 or 64 bits)
檢查與所述可執行的第二功能的大小是好的。
的問題是,在第二個代碼,結果都在文件被破壞
我該如何解決這個問題?
的問題是,在第二個代碼中導致所有文件被破壞 – TheHune