Программирование
Веб программирование

Узнанем имена всех файлов в папке в vb.net

 
 

Чтобы узнать имнена всех файлов надо воспользоваться методом GetFiles, классом Directory входящий в пространство имен System.IO.
На форме размести метку(сделай ее по шире, и по выше) и кнопку. Вот код:

Imports System
Imports System.IO

Public Class Form1
Inherits System.Windows.Forms.Form

Windows Form Designer generated code

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
Dim Folder As Directory' Объявляем переменную Folder для работы с папками
Dim Files() As String' Объявляем массив Files для хранения строк. Если ты заметил, то в скобках количество индексов не указано, это потому что мы не знаем сколько файлов будет хранится, а если в скобках ни чего не указывать, то количество индексов не ограниченно
Dim i As Integer

Label1.Text = ""' Очищаем текст в метке

Files = Folder.GetFiles("c:")' В массив Files записываются все файлы содержащиеся в диске C:

For i = 0 To Files.Length - 1' Массив длится столько, сколько файлов в диске C:
Label1.Text = Label1.Text & Files(i) & vbCrLf' Извлекаем из массива Files имена всех файлов, и записываем их в метку. Функция vbCrLf нужна для перевода строки
Next i

End Sub 
End Class 

Исходник


Есть вопросы? Спроси на нашем форуме!!
антон [30.07.2011 12:38]

ну тоесть не mass, а files

Goodvin [26.12.2012 18:00]

ListBox3.Items.AddRange(IO.Directory.GetFileSystemEntries("C:DirPut"))
так лучшее ))

griwin [01.12.2013 19:19]

Помогите!
Public Class Form1
Inherits System.Windows.Forms.Form

Windows Form Designer generated code - Не воспринимает эту строчку подчеркивает windows и пишет требуется объявление. И вообще что это такое???

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Folder As Directory- не позволяет объявить здесь, пишет неиспользуемая локальная переменная?
Dim Files() As String- тоже самое
Почему так может у меня версия не та? У меня visual studio 2010

Stertor370 [01.12.2013 20:24]

вот это место "For i = 0 To Files.Length - 1'
Label1.Text = Label1.Text & Files(i) & vbCrLf'
Next" - будет сильно тормозить. Лучше сначала составить текст, затем вывести его - не в лабельку, а в textbox или в memo, не знаю, какие там текстовые контролы в .net

66demon66610 [07.09.2014 18:36]

griwin,че прям совсем новичок?

Novichok [11.01.2016 18:33]

griwin не переживай есть класс DirectoryInfo & Fileinfo на vb2010 работает нормально, a Windows Form Designer generated code сотри.
Private Sub Button1Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim fil As String()
Label1.Text = "" ' Очищаем текст в метке
fil = Directory.GetFiles("C:\AAA")
For i As Integer = 1 To fil.Length - 1
Label1.Text = Label1.Text & fil(i) & vbCrLf
Next
End Sub
Private Sub Button2
Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Dim Dir As New DirectoryInfo("C:\AAA")
Label1.Text = "Указывает путь " & Dir.FullName & vbCrLf
Label1.Text = Label1.Text & "Время создание папки " & Dir.CreationTime
End Sub



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.