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

TStringList是否有長度限制?

缺席
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-12 11:49:25 IP:211.78.xxx.xxx 未訂閱
TStringList* MyList = new TStringList(); MyList->Clear(); MyList->Add(Form1->NMPOP3->MailMessage->Head->Text); MyList->Add(Form1->NMPOP3->MailMessage->RawBody->Text); MyList->SaveToFile(Form1->Dir3 c.File_Name ".eml"); 當內容很長時,存的檔案就會有某些行數內的字串重複,造成這個檔案錯誤. 為什麼會這樣呢?是因為有長度的限制嗎? Thanks for help... 發表人 - palw 於 2003/03/12 11:53:15
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-12 12:10:00 IP:203.73.xxx.xxx 未訂閱
引言: TStringList* MyList = new TStringList(); MyList->Clear(); MyList->Add(Form1->NMPOP3->MailMessage->Head->Text); MyList->Add(Form1->NMPOP3->MailMessage->RawBody->Text); MyList->SaveToFile(Form1->Dir3 c.File_Name ".eml"); 當內容很長時,存的檔案就會有某些行數內的字串重複,造成這個檔案錯誤. 為什麼會這樣呢?是因為有長度的限制嗎?
palw 你好: 是否把你會發生此問題的 mail 的內容,先存成一個檔案 然後上傳到 ktop,讓我試試看呢?? http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19268 -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-12 12:25:55 IP:211.75.xxx.xxx 未訂閱
信件內容有一定的格式,如(MIME...etc.) 若將信件內容顯存到TStringList->Add內 TStringList 在SaveToFile 時會自動把每一個Items加上" \r\n " 所以可能照成信件內容的錯誤, (ps.可用筆記本將信件內容打開看看,或將它存成.eml在雙擊當案,就會用outlook開啟,開啟後 檔案\內容 就可以看當信件內容了,和正確的比較一下 就知道哪裡錯了)
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-12 13:21:15 IP:211.78.xxx.xxx 未訂閱
引言: 信件內容有一定的格式,如(MIME...etc.) 若將信件內容顯存到TStringList->Add內 TStringList 在SaveToFile 時會自動把每一個Items加上" \r\n " 所以可能照成信件內容的錯誤, (ps.可用筆記本將信件內容打開看看,或將它存成.eml在雙擊當案,就會用outlook開啟,開啟後 檔案\內容 就可以看當信件內容了,和正確的比較一下 就知道哪裡錯了) < face="Verdana, Arial, Helvetica"> 謝謝大家的回應! 可是檔案的內容並沒有把"每一個"item都有問題,而是某些行數的,某些字串有重複的動作! 可是每次再存取的時候,我都有清空阿.為什麼會有這種現象呢? 我已把檔案上傳...
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-12 15:32:50 IP:203.73.xxx.xxx 未訂閱
引言: 可是檔案的內容並沒有把"每一個"item都有問題,而是某些行數的,某些字串有重複的動作! 可是每次再存取的時候,我都有清空阿.為什麼會有這種現象呢? 我已把檔案上傳...
palw 你好: 那先試試改用 TMemoryStream 來儲存檔案(看看還會不會發生你說的問題) < class="code"> int iLen, iPos; TMemoryStream *ms=new TMemoryStream; iLen=NMPOP31->MailMessage->Head->Text.Length(); ms->Size=iLen; iPos=0; ms->Position=iPos; ms->Write(&(NMPOP31->MailMessage->Head->Text[1]), iLen); iPos=iLen; iLen=NMPOP31->MailMessage->RawBody->Text.Length(); ms->Size =iLen; ms->Position=iPos; ms->Write(&(NMPOP31->MailMessage->RawBody->Text[1]), iLen); ms->SaveToFile("Test.eml"); delete ms; -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-12 16:17:28 IP:211.78.xxx.xxx 未訂閱
版主你好:       依舊不行耶!一樣的情況發生...............
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-12 16:41:36 IP:203.73.xxx.xxx 未訂閱
引言: 版主你好: 依舊不行耶!一樣的情況發生............... < face="Verdana, Arial, Helvetica"> palw 你好: 嗯?? 奇怪了?? 我已經試過用 TStringList 及 TMemoryStream 都是可以的 我的測試環境是 >我是拿你提供的檔案(一模一樣)來做測試的 --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-12 16:57:53 IP:211.78.xxx.xxx 未訂閱
內容比較長的Mail像附加檔案有影片檔的,才會有此問題.一般檔案的接收都是蠻正常的...
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-03-12 17:44:21 IP:211.78.xxx.xxx 未訂閱
此問題已經解決!我將解答Post如下...謝謝版主的大力幫忙摟~~~~~ >>>>>>>>>>>>>>>>>
系統時間:2024-04-27 11:27:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!