請教Key中的#10和#13有何區別﹖ |
答題得分者是:ddy
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
感謝hagar版主﹒ 但小弟嘗試使用#10,#13,#10#13都是同樣換行的效果呢﹖測試程式碼如下﹕
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then ShowMessage('#10#13' #10#13 '#10' #10 '#13' #13); end;但使用各種方法結果一樣﹐ShowMessage結果如下﹕ #10#13 #10 #13 請問該如何判斷其作用的區別﹖ 謝謝﹗ 努力,相信會獲得美麗! 忻晟
------
忻晟 |
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
印象中~~~
#10#13
可能在DOS/Windows 下比較難區分
但是在UNIX/Linux 的文字檔而言是有區隔的 最明顯的測試方法就是
利用UltraEdit 修改文字檔
例: ABC
DEFG
HIJKL 用hex 來編輯
41 42 43 0D 0A 44 45 46 47 0D 0A 48 49 4A 4B 4C
改為
41 42 43 0D 20 44 45 46 47 20 0A 48 49 4A 4B 4C 重新打開
在Windows/DOS 格式看起來如下:
ABC DEFG HIJKL (似乎0D0A 缺一不可,就失去"換行"的效果了)在UltraEdit 重新打開,它會提示是否要轉換成 Dos Format ? 選否,就可以看出來它的差異了 顯示如下 ABC DEFG HIJKL以個人經驗習慣,還是會以最完整的方式 #13#10 來表示換行,是比較標準的寫法 如有不足或有誤,尚請其它先進指教 ps:如果UltraEdit 若將修改過的文字檔轉換成Dos format,則會主動檢查,發現有0A無0D 時就會於0A之前自動補上0D 另搜尋到相關連結,供參考 http://bbs.ee.ntu.edu.tw/boards/Programming/7/11.html ps2: 節錄自 http://home.kimo.com.tw/wufonna/file_n/add_1.htm ASCII 的換行字元 在DOS時期,chr(13)只是歸 位,就是回第一行的位置(column 1),而chr(10)才是新增一列(new row)。 UNIX根本不這麼 分。只是單純的用一個chr(13)就代表了Return。 某些Windows的軟體(如Delphi),的確用一個就夠。但是,為了相容,這類的軟體內部仍將單一一個chr(13)轉換作chr(13)+chr(10)。 同樣使用ASCII 的環境, 對於文字檔案EOL (End of Line)的定義未盡相同.據我所知有三種慣例 (三種環境的影響力都不小): DOS: CR+LF VMS: CR UNIX: LF |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |