Получить файлы заказаны - PullRequest
       8

Получить файлы заказаны

0 голосов
/ 26 августа 2018

У меня проблемы с упорядоченной работой с файлами в Visual Basic. В основном я читаю все файлы в папке с именами 1.jpg, 2, jpg, .... 10.jpg, 11.jpg.

Когда я создаю свою логику, мне нужно, чтобы эти файлы работали в порядке возрастания по имени файла (1,2,3 ..., 8,9,10,11). На самом деле, с моими кодами, файлы обрабатываются как строковый способ (1,10,2,20,3,4,5).

Может ли кто-нибудь помочь мне в этом случае, так как я не могу заставить его работать? Пробовал два разных кода, но не смог найти решение.

Я пробовал с:

Dim MyFiles() As String = IO.Directory.GetFiles(folder)
For Each file In myfiles

А также пробовал с:

Dim myfiles As FileInfo()
myfiles = New DirectoryInfo(folder).GetFiles()
For Each file In myfiles

Может кто-нибудь помочь мне, пожалуйста?

1 Ответ

0 голосов
/ 26 августа 2018

Если ваши имена файлов просто цифры, то это просто:

Dim MyFiles() As String = IO.Directory.GetFiles(folder)

For Each file In myfiles.OrderBy(Function(filePath) CInt(IO.Path.GetFileNameWithoutExtension(filePath)))

Если ваши имена файлов содержат текст и цифры, то это немного сложнее, но есть функция Windows API, которую можно использовать для упорядочивания имен файлов так, как это делает Проводник, потому что Проводник использует эту функцию. Если вам это нужно, оставьте комментарий, и я опубликую подробности.

...