在OSX 使用 TFileStream寫入檔案的一部份 |
答題得分者是:pcplayer99
|
blue
中階會員 發表:170 回覆:136 積分:81 註冊:2002-04-15 發送簡訊給我 |
Hi,各位先進大家好:
小弟需要將資料的一部份寫入檔案的特定位置(用途:分段下載後寫檔) 如下程式,在Windows是可正常的, 但,在 OSX 中卻是在 fs.WriteBuffer(ms.Memory, ms.Size); 出現 Stream write error 請問,是否有先進通到相同問題? 謝謝! unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } FFileName: String; public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); var fs: TFileStream; begin //創建資料檔案,用0填充 fs := TFileStream.Create(FFileName, fmCreate); try fs.Size := 1024000; finally fs.Free; end; end; procedure TForm1.Button2Click(Sender: TObject); var ms: TMemoryStream; fs: TFileStream; begin ms := TMemoryStream.Create; ms.SetSize(1024); fs := TFileStream.Create(FFileName, fmOpenReadWrite or fmShareDenyNone); fs.Seek(20480, soFromBeginning); fs.WriteBuffer(ms.Memory, ms.Size); fs.Free; end; procedure TForm1.FormCreate(Sender: TObject); begin FFileName := './abc.txt'; end; end. |
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |