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

Caption部分文字會消失 沒辦法顯示出來

答題得分者是:daldal
meiandnsync
一般會員


發表:2
回覆:5
積分:1
註冊:2008-04-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-29 12:21:30 IP:140.112.xxx.xxx 訂閱
我要在panel的caption顯示我的信件檔名跟主旨

hello0001.eml

可是他只會出現到
hello0001.e
後面的文字都被cut掉了

就算改文字大小 如果字串再長一點 還是會被cut掉後面的
要怎樣才能讓所有的文字都全部出現呢?
RaynorPao
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-29 23:18:20 IP:61.60.xxx.xxx 未訂閱
建議你用文字編輯器(記事本或UltraEdit)打開*.eml檔案,觀查「Subject:」欄位的資料內容,有些「Subject:」欄位會使用big5/utf8/base64編碼,編碼的結果可能會有很多行,如果你想看到原本的字串,必須先把每一行解碼回來,然後再組成完成的字串,也就是你要的主旨內容
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
meiandnsync
一般會員


發表:2
回覆:5
積分:1
註冊:2008-04-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-04-30 00:11:44 IP:140.112.xxx.xxx 訂閱
可是像我如果只有英文的subject 像是Hello
這在編碼上 還是英文
現在我就是只讀著Hello出來加上檔名
字串後面就會消失了
這應該跟我有沒有decode還沒有關係吧
是因為caption本身就有限制長度嗎?
GGump
一般會員


發表:2
回覆:16
積分:8
註冊:2006-08-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-01 10:36:27 IP:118.166.xxx.xxx 未訂閱
Caption屬性並沒有長度限制,請貼上你讀入主旨的那片段的程式碼吧
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-05-01 10:42:00 IP:61.220.xxx.xxx 訂閱
小弟一般都是在後面多加幾個 半型 or 全形 空白 , 避免顯示被截斷
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
meiandnsync
一般會員


發表:2
回覆:5
積分:1
註冊:2008-04-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-05-01 12:21:01 IP:61.216.xxx.xxx 訂閱
        for(int i=0;i<Tempfile->Count;i++)
{
AnsiString sbuf=Tempfile->Strings[i].c_str();
AnsiString Sample = "Subject:";
int Result = sbuf.Pos( Sample );
if(Result==1)
{
int First = 9;
int Length = sbuf.Length()-8; //扣掉subject: 的長度
AnsiString str = sbuf.SubString( First , Length ); //讀到主旨
s=str;
break;
}
}
int Pos = 1;
AnsiString Test = M; //這是信件檔名
AnsiString Destination = Test.Insert( s , Pos ); //把subject 信件檔名
daldal
高階會員


發表:6
回覆:102
積分:226
註冊:2007-06-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-05-02 09:41:07 IP:220.130.xxx.xxx 未訂閱
試試看把字形屬性中預設的
[code cpp]
Panel1->Font->Charset = DEFAULT_CHARSET;
[/code]
改成
[code cpp]
Panel1->Font->Charset = OEM_CHARSET;
[/code]

Panel1請改成使用的Panel名稱OEM_CHARSET 255 Depends on the codepage of the operating system.
以上改法要注意使用者的系統編碼要跟開發者的電腦是否相同
不然日文系統開中文軟體還是有可能會發生切字
畢竟不是Unicode support@@
daldal
高階會員


發表:6
回覆:102
積分:226
註冊:2007-06-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-05-02 10:06:15 IP:220.130.xxx.xxx 未訂閱
剛剛測試了一下,charset使用OEM_CHARSET
英文、數字顯示出來很醜,可以使用下面方式解決

charset還是使用DEFAULT_CHARSET
改成使用Tahoma字形,Caption長度的計算就不會錯了
meiandnsync
一般會員


發表:2
回覆:5
積分:1
註冊:2008-04-29

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-05-04 16:07:49 IP:61.216.xxx.xxx 訂閱
不好意思 我有用過前兩位的作法了
可是還是一樣字都會被截斷耶
有沒有其他辦法呢?
拜託了
meiandnsync
一般會員


發表:2
回覆:5
積分:1
註冊:2008-04-29

發送簡訊給我
#10 引用回覆 回覆 發表時間:2008-05-05 21:36:07 IP:140.112.xxx.xxx 訂閱
我找到問題點在哪了
因為我是在Panel上動態增加Checkbox
而我字顯示的Caption 應該是在Checkbox上
而非Panel
所以只要多設個Checkbox的Width就好
這是我自己的誤解
雖然回答都沒有解決到我的問題
但我還是給daldal大大點數
因為他的回答 才讓我後來有靈感
謝謝
系統時間:2024-05-05 13:39:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!