一直搞不懂VBA裡的換行、回車、chr(10) (13) ....的細微差異..查後...
恩..我更加看不懂了..哈哈哈哈
只能說,查到後來...我越看越糊塗了...給我台打字機先...
Vb
chr(10)表示換行 chr(13)表示回車,感覺都一樣,那幹嗎分兩個
為什麼連在一起用呢?
解釋:
“回車”(carriage return)和“換行”(line feed)這兩個概念的來歷和區別
Chr(10)=> 換行(\n)就是游標下移一行卻不會移到這一行的開頭。
Chr(13)=> 回車(\r)就是回到目前行的開頭但卻不向下移一行。
也就是當按下Enter鍵後會執行\n\r這樣就是我們看到的一般意義的回車了,所以你用16進制檔查看方式看一個文本,就會在行尾發現"\n\r"
電腦還沒出現前,有一種叫做電傳打字機(Teletype Model 33)的玩意,每秒鐘可以打10個字元。(打一個字元用去0.1秒)
但是它有一個問題,就是打完一行在換行時,會等待0.2秒,也就是等同打兩個字元的時間。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將遺失。
於是研製人員想了個辦法解決這個問題,就是在每行後面加兩個表示結束的字元。
一個叫做(回車)(chr(13)‖ carriage return
目的:告訴打字機把打印頭定位在左邊界;
另一個叫做―換行(chr10)‖ line feed
目的:告訴打字機把字向下移一行。
這就是―(換行) 和―(回車) 的來歷,從它們的英語名字上也可以看出一二。
電腦出現後,這兩個概念也就被移到電腦上。
那時記憶體很貴,一些科學家認為在每行結尾加兩個字元太浪費了,改加一個就可以。
於是出現了分歧。
@ Unix系統裡,每行結尾只有―<換行>‖,即―\n‖;
@ Windows系統裡,每行結尾是 ―<換行><回車>‖,即―\n\r‖;
@ Mac系統裡,每行結尾是―<回車>,即-\r‖。
直接後果是,Unix/Mac 系統下的檔在Windows裡打開的話,所有文字會變成一行;而Windows裡的檔在Unix/Mac下打開的話,在每行的結尾可能會多出一個^M 符號。
(恩,老實說我看不懂它的解釋,似懂又非懂)
chr(10):Ascii碼中的換行鍵,相當於vblf。
chr(13):Ascii碼中的回車鍵,相當於vbcr。
在窗體輸出中:
chr(13)、chr(10)、chr(13)+chr(10)是換一行;
chr(10)+chr(13)、兩個chr(13)、兩個chr(10)是換兩行。
恩…恩…恩…=>
較古怪的應該是換一行跟換兩行的最後跟最前代碼這裡
試著用程式執行…恩..真是莫名的古怪且好像跟查得文章有些不一
vb中的chr(13) 和chr(10)是表示cr和lf兩個字元。
chr(13)是回車字元,
chr(10)是換行字元。
參考:msdn6.0
以下…看了令我心生畏懼
vb中的 chr(13)和chr(10)的區別
vb中的回車(vblf,或chr(10))和換行(vbcr,或chr(13))比較特別也較混亂。
如果是輸出到螢幕,則:
單用回車chr(10),
單用換行chr(13),
先用換行chr(13)再用回車chr(10)
這三種情況下都是從當前行換到下一行去,而先用回車再用換行,就會從當前行往下連續走兩行。
如果是輸出到文字框(要求允許多行顯示),除了換行加回車,才會真正換行外,其他的都不換行,但回車和換行都會各佔一個字元的長度。
為了統一起見,一般就用vbcrlf(或chr(13) & chr(10))表示換行加回車。
Chr(10):回車,和chr(13):換行有何區別
回文:
一個字元和兩個字元的區別,ascii碼裡 回車只有 0d 回車換行是 0d0a
書上說:向text屬性賦值的字串中如需換行則欲換行處加入字串“chr(13)+chr(10)”
chr(10):ascii碼中的換行鍵,相當於vblf
chr(13):ascii碼中的回車鍵,相當於vbcr
chr(13)+chr(10)=vbcrlf
……….
恩..老實說…查到這裡…我就不想看了..
瞬間覺得殺人魔王秦始皇他是對的…
怕看倌跟我一樣看完想瞈瞈睏...只好.....
留言列表