2016-07-28 42 views
0

背景:
創建文本(完成)日誌文件,但沒有設置vbTab成功
VB.NET - 如何設置一個點的vbTab?


格式:
[DATETIME] [用戶名] [類名] [vbTab] [LogIndexMessage]

例:

[01 Jan,2016 24:59:59 PM][LocalHost\User][Class1]    This is Message1 
[01 Jan,2016 24:59:59 PM][LocalHost\User][Class2NameWasLongerThanClass1Name]    This is Message2 


如果我想設置與標籤位置的固定點,使它象:

[01 Jan,2016 24:59:59 PM][LocalHost\User][Class1]        This is Message1 
[01 Jan,2016 24:59:59 PM][LocalHost\User][Class2NameWasLongerThanClass1Name] This is Message2 


我怎麼能設置一個選項卡到一些像我之前說過的那樣固定的位置?
大多數的人告訴我說有其他的方式來設置空間方面是這樣的:

Log_String = String.Format("{0,-7}{1,-2}{2,-2}{3,-50}", _Date & _User & _Class & _Message) 

但對於一些字符的大小是不一樣的,所以我是知道的任何方式將Tab設置爲某個位置?

最好的問候,
錦鯉曾

回答

0

試試這個代碼:

Dim strTag = vbTab 
    Dim iLen = 100 
    Dim strTime1 = "[01 Jan,2016 24:59:59 PM][LocalHost\User][Class1]" 
    Dim strMg1 = "This is Message1" 
    Dim strTime2 = "[01 Jan,2016 24:59:59 PM][LocalHost\User][Class2NameWasLongerThanClass1Name]" 
    Dim strMg2 = "This is Message2" 
    Dim iChar1 = strTime1.Length + strMg1.Length 
    Dim strRow1 = strTime1 & strTag.PadLeft(iLen - iChar1) + strMg1 

    Dim iChar2 = strTime2.Length + strMg2.Length 
    Dim strRow2 = strTime2 & strTag.PadLeft(iLen - iChar2) + strMg2