close

一直搞不懂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

(恩,老實說我看不懂它的解釋,似懂又非懂)

 

chr10):Ascii碼中的換行鍵,相當於vblf

 

chr13):Ascii碼中的回車鍵,相當於vbcr

 

在窗體輸出中:

chr13)、chr10)、chr13+chr10是換一行;

chr10+chr13、兩個chr13)、兩個chr10)是換兩行。

=>

較古怪的應該是換一行跟換兩行的最後跟最前代碼這裡

試著用程式執行..真是莫名的古怪且好像跟查得文章有些不一

 

vb中的chr(13) chr(10)是表示crlf兩個字元。

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屬性賦值的字串中如需換行則欲換行處加入字串“chr13+chr10)”

 

chr10):ascii碼中的換行鍵,相當於vblf

chr13):ascii碼中的回車鍵,相當於vbcr

chr13+chr10=vbcrlf

 

……….

..老實說查到這裡我就不想看了..

瞬間覺得殺人魔王秦始皇他是對的

 

0QLqXJ.jpg

 

怕看倌跟我一樣看完想瞈瞈睏...只好.....

arrow
arrow

    Ray 發表在 痞客邦 留言(0) 人氣()