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

TMemoryStream轉成String問題

答題得分者是:william
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-16 17:01:00 IP:203.204.xxx.xxx 未訂閱
把字串寫到MemoryStream後,請問要如何轉回string,謝謝
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-16 17:10:54 IP:147.8.xxx.xxx 未訂閱
I think you would better store the size. e.g.
var
len: longint;
s: string;
MemStream: TMemoryStream;
{ write }
len := length(s);
MemStream.Write(len,SizeOf(len));
if len>0 then
    MemStream.Write(s[1],len);
{ read }
MemStream.Read(len,SizeOf(len));
SetLength(s,len);
if len>0 then
    MemStream.Read(s[1],len);
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-16 17:39:15 IP:203.204.xxx.xxx 未訂閱
想再請問一下william,為什麼要寫MemStream.Write(len,SizeOf(len));//有什麼特別的意思嗎?謝謝     
    var
len: longint;
s: string;
MemStream: TMemoryStream;
{ write }
len := length(s);
MemStream.Write(len,SizeOf(len));//為什麼要寫這一行呢?謝謝
if len>0 then
    MemStream.Write(s[1],len);
{ read }
MemStream.Read(len,SizeOf(len));
SetLength(s,len);
if len>0 then
    MemStream.Read(s[1],len);         
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-16 17:52:04 IP:203.204.xxx.xxx 未訂閱
剛試了一下read部份,但是會有錯誤。
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-16 18:13:36 IP:203.204.xxx.xxx 未訂閱
偶試出來了,3q
系統時間:2024-05-16 16:24:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!