c#- vbcrlf

  • 6284
  • 0
  • C#
  • 2011-05-10

摘要:c#- vbcrlf

觀念描述:

早期的點陣印表機時代!

CR,即chr(13)(Carriage Return 游標返回),就是把印字頭帶回最左方,但不換行。如果,這時就直接輸出字元印出的話,就會與之前已經印出的字重疊了。

LF,即chr(10)(Line Feed 餵一行),就只是做換行動作。如果不先將印字頭拉到最左邊而直接換行印字,則印出位置將在上一行最後一個印完字元之後的那個停止位置,這樣就不是從最前面印起了。

所以,結合了CR+LF,才會真正跳到下一行的最前頭位置開始印。

而現在,有些平台、或有些程式,會將chr(13)、chr(10)、chr(13)+chr(10)都視為相等。所以,在那些環境下,隨便寫都不會有問題。
而目前,在Windows+VB6或VB2005下,都是要用chr(13)+chr(10)才能正確換行的(至少在TextBox中是如此),否則,只是在文字中安插了個看不到的字元(看起來像是空白,但實際不是)而已。
 


以下是在VS2003 C# 的 Exsample
 

1 char vbcr = Convert.ToChar(13);
2 char vblf = Convert.ToChar(10);
3
4 string strTmp = "";
5 strTmp = "Line1" +  vbcr + vblf + "Line2";
6 this.TextBox5.Text = strTmp;


 

PS: 在VS2003中,我發現即使寫成 strTmp = "Line1" + vbcr + "Line2"; 也是可以換行。(或者 vblf 亦可)