如何把 檔案(TFileStream)變成一個String傳送後再還原?? |
答題得分者是:hagar
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
試試:
procedure TForm1.Button1Click(Sender: TObject); var fs: TFileStream; ss: TStringStream; begin fs := TFileStream.Create('c:\value.txt', fmOpenRead); try ss := TStringStream.Create(''); try ss.CopyFrom(fs, fs.Size); // ... finally ss.Free; end; finally fs.Free; end; end; procedure TForm1.Button2Click(Sender: TObject); var fs: TFileStream; ss: TStringStream; begin ss := TStringStream.Create('test'); try fs := TFileStream.Create('c:\value.txt', fmCreate or fmOpenWrite); try fs.CopyFrom(ss, ss.Size); finally fs.Free; end; finally ss.Free; end; end;-- 向 KTop 的弟兄們致敬! |
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
但還有問題請教,因我要用於RemoteDataModule 的 Funciton
所以必轉為 WideString ,但這樣存入的檔案就會與原本不同了
但文字正確?? procedure TJFText1Server.SendFile(const FieldName, DataString: WideString); 謝謝各前輩!! --------------------------------- 測試 Funciton procedure TMainForm.SnedFileWideString(FiendName:WideString ;FString :WideString);
var
newss:TStringStream;
newFs : TFileStream;
dataString : String;
begin dataString :=FString;
newss:= TStringStream.Create(dataString);
newfs := TFileStream.Create('C:\Temp2\' FiendName, fmCreate);
newfs.CopyFrom( newss, newss.size);
newfs.Free;
newss.Free
end; procedure TMainForm.Button3Click(Sender: TObject);
var
fs: TFileStream;
ss: TStringStream;
dataString :String; DataWideString :WideString;
begin
fs := TFileStream.Create('C:\Temp1\a.mdb', fmOpenRead);
ss := TStringStream.Create(''); ss.CopyFrom(fs, fs.Size); dataString:=ss.DataString ;
fs.Free;
ss.Free;
DataWideString:=dataString;
SnedFileWideString( 'a.mdb',DataWideString);
ShowMessage('完成')
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |