2014-02-07 54 views
0

當我使用這個const語句時,我的編碼工作正常。在Visual Basic中定義的錯誤

Const strFullName As String = "C:\Sample\Haha.txt" 

當我更改Search.text(文本框名稱)後,它不斷出現錯誤。

Const strFullName As String = "C:\Sample\" & Search.Text & ".txt" 

編譯錯誤:

常量表達所需

然後我嘗試創建textbox1.text = Searchbox.Text。在TextBox1中顯示C:\ SAMPLE \ Haha.txt

請幫幫忙,謝謝〜

+1

正如錯誤所述,將值賦給常量時,您必須使用字面值 - 您不能將變量用作表達式的一部分來計算值。改用String變量。 –

+0

除了常量定義,還有什麼還可以使用? – whywhy

回答

1

Search.Text不是一個恆定值 - 這是一個運行時間屬性,其價值是不知道,直到運行時間,所以它不能被分配到一個常量。你可以只定義strFullName作爲一個變量而不是一個常數:

Dim strFullName As String 

... 
' Set strFullName at run-time 
strFullName = "C:\Sample\" & Search.Text & ".txt" 

如果Search是一個文本框,你可能還需要檢查是否有有效的輸入,以確保你不是要形成無效的文件名;例如,您可以使用Len(Search.Text)來確定文本框中文本的長度。

+0

太棒了!感謝你的建議。真的非常感謝:D – whywhy

+1

或者只需檢查以確保'Len(Dir(strFullName))<> 0',這將有助於確保您不會收到格式錯誤的文件路徑。 –