2017-09-14 31 views
0

我是新來的VB,我希望有人可以幫助我遇到的第一個重大問題。從字符串轉換爲整數無效的錯誤,但沒有數字或整數類型指定

我創建了一個表格,其中:

  1. 讓我在文本框中
  2. 指定一個搜索指定的文本框中使用的FolderBrowserDialog一個FOLDERPATH
  3. 傳遞的價值觀文本框作爲變量
  4. 當單擊按鈕時,將包含SearchString的FolderPath中的所有文件(包含通配符)返回到ListBox。

後面的按鈕的代碼如下:

Private Sub ListButton_Click(sender As Object, e As EventArgs) Handles ListButton.Click 
    Dim fls 
    Dim FolderPath As String 
    Dim SearchString As String 

    FolderPath = FolderPathBox.Text 
    SearchString = SearchStringBox.Text 

    fls = My.Computer.FileSystem.GetFiles(FolderPath,"*" & SearchString & "*") 
    For Each f As String In fls 
     MatchingFilesBox.Items.Add(f) 
    Next 
End Sub 

然而,分別填充SearchString在和FOLDERPATH文本框具有以下值後:

(1) 
C:\Backup\Files 

,點擊按鈕,將返回以下錯誤:

Additi附加信息:從字符串「*(1)*」到「整數」類型的轉換無效。

即使我沒有指定數字,例如「an」,我沒有專門配置任何文本框或類或變量作爲數據類型整數。上轉換爲數據類型整數

'fls = My.Computer.FileSystem.GetFiles(FolderPath,"*" & SearchString & "*") 
fls = My.Computer.FileSystem.GetFiles("C:\Backup\Files", "abandoning.docx") 

但是,同樣的錯誤顯示:

我已經通過從方程除去變量和通配符和硬編碼的路徑和文件名簡化了代碼

附加信息:從字符串「abandoning.docx」轉換爲類型「整數」無效。

我對爲什麼或如何在文件路徑中傳遞或檢索整數感到沮喪。我已經搜索了錯誤的答案,但是我閱讀的文章與數字值有關,而我的文章沒有;或者清空我認爲已經消除的文本框;或使用替換,我不是。

任何人都可以提供任何關於克服這個問題的指導,所以我可以返回文件名中包含特定字符串的文件夾中的所有文件?

+0

請仔細閱讀[提問]和取[旅遊]。之後,檢查失敗的代碼行; Intellisense會幫助你。 'GetFiles()'沒有一個需要2個字符串的重載。 – Plutonix

+0

我查看了多個示例代碼,其中沒有一個奇怪地指定了SearchType。 我現在已經閱讀了如何問問指南,並參加了巡迴演講,你說得對,Intellisense實際上給了我答案,所以這是非常有用的建議。謝謝你,Plutonix。 – ViewtifulStranger

回答

1

您傳遞的參數數量不正確。第二個參數應該是枚舉值,總是一個數字。最後一個參數是可以是字符串的通配符。試試這個:

fls = My.Computer.FileSystem.GetFiles("C:\Backup\Files", SearchOption.SearchTopLevelOnly "*.docx") 

看看這裏的參考,以你是什麼在傳遞到的GetFiles()函數: https://msdn.microsoft.com/en-us/library/t71ykwhb(v=vs.90).aspx

+0

SearchOption.SearchTopLevelOnly正是我所錯過的。謝謝曼紐爾! – ViewtifulStranger

+0

很高興工作! –

相關問題