線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1629
推到 Plurk!
推到 Facebook!

如何把 檔案(TFileStream)變成一個String傳送後再還原??

答題得分者是:hagar
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-14 11:58:51 IP:61.218.xxx.xxx 未訂閱
請教各位前輩!! 如何把 檔案(TFileStream)變成一個String傳送後再還原?? TFileStream 是否可以 轉為 String , 及之後再還原?? 還是有其它物件?? 謝謝各位前輩!! 感動 這網站讓我感動!!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-14 13:11:44 IP:202.39.xxx.xxx 未訂閱
試試:
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-14 13:38:35 IP:61.218.xxx.xxx 未訂閱
又是 hagar 大大,真是感謝....... Delphi 功能真多........
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-15 14:26:02 IP:61.218.xxx.xxx 未訂閱
但還有問題請教,因我要用於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;
系統時間:2024-05-18 16:34:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!