Làm th? nào đ? đ? quy m?c tin thư thoại tra c?u b?ng cách s? d?ng Visual Basic 2005 ho?c Visual Basic .net

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 306666 - Xem s?n ph?m mà bài này áp d?ng vào.
Microsoft Visual C++ 2005 và Microsoft Visual Phiên b?n C++ .net c?a bài vi?t này, xem 307009.
Microsoft Visual C# 2005 và Microsoft Visual C# .net Phiên b?n c?a bài vi?t này, xem 303974.
Bung t?t c? | Thu g?n t?t c?

? Trang này

Tóm t?t

Bài vi?t này th? hi?n qua m? làm th? nào đ? đ? quy m?c tin thư thoại tra c?u con cho các t?p tin, B?t đ?u v?i m?t m?c tin thư thoại g?c. M?t tra c?u chu?i đư?c quy đ?nh như v?y mà b?n có th? tra c?u cho các t?p tin phù h?p v?i m?t s? tiêu chu?n. M?i m?t ph?n c?a m? gi?i thích khi c?n thi?t. M?t m? làm vi?c m?u này c?ng cung c?p vào cu?i c?a bài báo.

m?c tin thư thoại đ? quy là m?t nhi?m v? IO ph? bi?n cho các nhà phát tri?n. Làm FileSystemObject cho nhi?m v? này d? dàng cho mô h?nh đ?i tư?ng thành ph?n (COM) các ?ng d?ng. Bây gi? công vi?c này đ? tr? nên d? dàng hơn trong Microsoft .net Khuôn kh?. Tương t? như FileSystemObject, các l?p h?c trong không gian tên System.IO cung c?p m?t hư?ng đ?i tư?ng cách đ? truy c?p t?p tin và m?c tin thư thoại.

Yêu c?u

Các danh sách sau đây phác th?o đư?c đ? ngh? ph?n c?ng, ph?n m?m, m?ng cơ s? h? t?ng, và gói b?n ghi d?ch v? mà b?n c?n:
  • Microsoft Visual Studio 2005 ho?c Microsoft Visual Studio .NET
Microsoft cung c?p l?p tr?nh ví d? đ? minh ho? ch?, không có b?o hành ho?c th? hi?n hay ng? ?. Đi?u này bao g?m, nhưng không gi?i h?n, các ng? ? b?o hành v? kh? năng bán hàng ho?c cho m?t m?c đích c? th?. Bài vi?t này gi? đ?nh r?ng b?n đ? quen thu?c v?i ngôn ng? l?p tr?nh đang ch?ng t? và v?i nh?ng công c? đư?c s? d?ng đ? t?o ra và đ? g? l?i th? t?c. Microsoft h? tr? các k? sư có th? giúp gi?i thích các ch?c năng c?a m?t th? t?c c? th?, nhưng h? s? không thay đ?i nh?ng ví d? đ? cung c?p thêm ch?c năng ho?c xây d?ng quy tr?nh đ? đáp ?ng yêu c?u c? th? c?a b?n.

m?c tin thư thoại đ? quy

Các l?p h?c thao tác t?p tin và m?c tin thư thoại n?m trong không gian tên System.IO . Trư?c khi b?n làm vi?c v?i các l?p h?c, b?n nên nh?p kh?u không gian tên sau đây vào d? án c?a b?n.
using System.IO;
				
Các l?p h?c không gian tên System.IO cung c?p nhi?u tùy ch?n đ? làm vi?c v?i t?p và m?c tin thư thoại. Không gian tên System.IO không ch? cung c?p các l?p h?c mà b?n có th? nhanh chóng, nó c?ng cung c?p các l?p h?c h?u ích t?p tin và m?c tin thư thoại. Các l?p h?c có đư?c chia s? phương pháp mà b?n có th? g?i mà không c?n ph?i khai báo m?t bi?n lo?i. Ví d?, b?n có th? s? d?ng các đ?i tư?ng m?c tin thư thoại đ? có đư?c các m?c tin thư thoại con c?a m?t nh?t đ?nh m?c tin thư thoại.

M? sau đây s? d?ng phương pháp GetDirectories đư?c chia s? c?a đ?i tư?ng m?c tin thư thoại đ? tr? l?i m?t m?ng c?a chu?i. M?ng này ch?a m?c tin thư thoại con đư?ng tên cho m?c tin thư thoại con trong m?c tin thư thoại c: \, n?u có.
Dim directories() As String = Directory.GetDirectories("C:\")
				
Các đ?i tư?ng m?c tin thư thoại c?ng ch?a các phương pháp GetFiles . Phương pháp GetFiles cho phép b?n l?y m?t chu?i m?ng c?a t?p tin phù h?p v?i m?t tiêu chí nh?t đ?nh. M?u m? sau đây s? d?ng các đ?i tư?ng t?p tin đ? l?y t?t c? các t?p tin trong m?c tin thư thoại c: \ k?t thúc v?i m?t ph?n m? r?ng thư vi?n .dll r?.
Dim files() As String = Directory.GetFiles("C:\", "*.dll")
				
Các phương pháp GetDirectories và các phương pháp GetFiles c?a đ?i tư?ng m?c tin thư thoại là t?t c? nh?ng g? b?n c?n đ? đ? quy tra c?u cho các t?p tin mà phù h?p v?i chu?i tra c?u. Các phương pháp sau đây đư?c s? d?ng đ? th?c hi?n đ? quy.
    Sub DirSearch(ByVal sDir As String)
        Dim d As String
        Dim f As String

        Try
            For Each d In Directory.GetDirectories(sDir)
                For Each f In Directory.GetFiles(d, txtFile.Text)
                    lstFilesFound.Items.Add(f)
                Next
                DirSearch(d)
            Next
        Catch excpt As System.Exception
            Debug.WriteLine(excpt.Message)
        End Try
    End Sub
				
M? trư?c đi m?t chu?i, có ch?a các m?c tin thư thoại đó b?n mu?n tra c?u, đ? DirSearch. Giá tr? chu?i này là tên đ?y đ? đư?ng d?n c?a m?c tin thư thoại. B?n có th? s? d?ng các phương pháp GetDirectories đ? l?y các m?c tin thư thoại con trong m?c tin thư thoại đó là thông qua thành th? t?c c?a b?n. B?i v? phương pháp GetDirectories tr? l?i m?t m?ng, b?n có th? s? d?ng m?t cho/m?i tuyên b? iterate qua m?i m?c tin thư thoại con. Đ?i v?i m?i m?c tin thư thoại con, s? d?ng các phương pháp GetFiles đ? iterate qua các t?p tin trong m?c tin thư thoại đó. Giá tr? c?a h?p văn b?n vào h?nh th?c c?a b?n là thông qua v?i phương pháp GetFiles . H?p văn b?n ch?a chu?i tra c?u các b? l?c các k?t qu? tr? v? các phương pháp GetFiles . N?u b?t k? t?p nào kh?p v?i tiêu chí tra c?u, h? là thêm vào h?p danh sách c?a b?n. Đ?i v?i m?i m?c tin thư thoại con đó là v? trí, g?i DirSearch m?t l?n n?a, và vư?t qua nó m?t m?c tin thư thoại con. B?ng cách s? d?ng này g?i đ? quy, b?n có th? tra c?u t?t c? các m?c tin thư thoại con c?a m?t m?c tin thư thoại cho trư?c g?c.

M? hoàn ch?nh m?u

  1. B?t đ?u m?t Microsoft Visual Basic 2005 m?i ho?c Microsoft Visual Cơ b?n ?ng d?ng Windows .net d? án. theo m?c đ?nh, m?t h?nh th?c đư?c đ?t tên theo Form1 đư?c t?o ra.
  2. Trên menu xem , nh?p vào đ? hi?n th? gi?i pháp Explorer.
  3. Trong gi?i pháp Explorer, b?m chu?t ph?i vào Form1, và sau đó b?m Xem m?.
  4. Trong c?a s? m? Form1, làm n?i b?t và sau đó xóa t?t c? các m? hi?n.
  5. Dán đo?n m? sau trong c?a s? m? c?a Form1 h?nh th?c.
    Imports System.IO
    
    Public Class Form1
        Inherits System.Windows.Forms.Form
    
    #Region " Windows Form Designer generated code "
    
        Public Sub New()
            MyBase.New()
    
            'This call is required by the Windows Form Designer.
            InitializeComponent()
    
            'Add any initialization after the InitializeComponent() call.
    
        End Sub
    
        'Form overrides dispose to clean up the component list.
        Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
            If disposing Then
                If Not (components Is Nothing) Then
                    components.Dispose()
                End If
            End If
            MyBase.Dispose(disposing)
        End Sub
            Friend WithEvents cboDirectory As System.Windows.Forms.ComboBox
        Friend WithEvents txtFile As System.Windows.Forms.TextBox
        Friend WithEvents lstFilesFound As System.Windows.Forms.ListBox
        Friend WithEvents lblDirectory As System.Windows.Forms.Label
        Friend WithEvents lblFile As System.Windows.Forms.Label
        Friend WithEvents btnSearch As System.Windows.Forms.Button
            Private components As System.ComponentModel.IContainer
    
        'NOTE: The following procedure is required by the Windows Form Designer.
        'You can use the Windows Form Designer to modify it; however, do not
        'use the code editor to modify it.
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
            Me.btnSearch = New System.Windows.Forms.Button()
            Me.lblFile = New System.Windows.Forms.Label()
            Me.cboDirectory = New System.Windows.Forms.ComboBox()
            Me.txtFile = New System.Windows.Forms.TextBox()
            Me.lstFilesFound = New System.Windows.Forms.ListBox()
            Me.lblDirectory = New System.Windows.Forms.Label()
            Me.SuspendLayout()
            '
            'btnSearch
            '
            Me.btnSearch.Location = New System.Drawing.Point(608, 248)
            Me.btnSearch.Name = "btnSearch"
            Me.btnSearch.TabIndex = 0
            Me.btnSearch.Text = "Search"
            '
            'lblFile
            '
            Me.lblFile.Location = New System.Drawing.Point(8, 16)
            Me.lblFile.Name = "lblFile"
            Me.lblFile.Size = New System.Drawing.Size(144, 16)
            Me.lblFile.TabIndex = 5
            Me.lblFile.Text = "Search for files containing:"
            '
            'cboDirectory
            '
            Me.cboDirectory.DropDownWidth = 112
            Me.cboDirectory.Location = New System.Drawing.Point(8, 128)
            Me.cboDirectory.Name = "cboDirectory"
            Me.cboDirectory.Size = New System.Drawing.Size(120, 21)
            Me.cboDirectory.TabIndex = 2
            Me.cboDirectory.Text = "ComboBox1"
            '
            'txtFile
            '
            Me.txtFile.Location = New System.Drawing.Point(8, 40)
            Me.txtFile.Name = "txtFile"
            Me.txtFile.Size = New System.Drawing.Size(120, 20)
            Me.txtFile.TabIndex = 4
            Me.txtFile.Text = "*.dll"
            '
            'lstFilesFound
            '
            Me.lstFilesFound.Location = New System.Drawing.Point(152, 8)
            Me.lstFilesFound.Name = "lstFilesFound"
            Me.lstFilesFound.Size = New System.Drawing.Size(528, 225)
            Me.lstFilesFound.TabIndex = 1
            '
            'lblDirectory
            '
            Me.lblDirectory.Location = New System.Drawing.Point(8, 96)
            Me.lblDirectory.Name = "lblDirectory"
            Me.lblDirectory.Size = New System.Drawing.Size(120, 23)
            Me.lblDirectory.TabIndex = 3
            Me.lblDirectory.Text = "Look In:"
            '
            'Form1
            '
            Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
            Me.ClientSize = New System.Drawing.Size(688, 273)
            Me.Controls.AddRange(New System.Windows.Forms.Control() _
                {Me.lblFile, Me.txtFile, Me.lblDirectory, Me.cboDirectory, _
                Me.lstFilesFound, Me.btnSearch})
            Me.Name = "Form1"
            Me.Text = "Form1"
            Me.ResumeLayout(False)
    
        End Sub
    
    #End Region
    
        Private Sub btnSearch_Click(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles btnSearch.Click
            lstFilesFound.Items.Clear()
            txtFile.Enabled = False
            cboDirectory.Enabled = False
            btnSearch.Text = "Searching..."
            Me.Cursor = Cursors.WaitCursor
            Application.DoEvents()
            DirSearch(cboDirectory.Text)
            btnSearch.Text = "Search"
            Me.Cursor = Cursors.Default
            txtFile.Enabled = True
            cboDirectory.Enabled = True
        End Sub
    
        Sub DirSearch(ByVal sDir As String)
            Dim d As String
            Dim f As String
    
            Try
                For Each d In Directory.GetDirectories(sDir)
                    For Each f In Directory.GetFiles(d, txtFile.Text)
                        lstFilesFound.Items.Add(f)
                    Next
                    DirSearch(d)
                Next
            Catch excpt As System.Exception
                Debug.WriteLine(excpt.Message)
            End Try
        End Sub
    
        Private Sub Form1_Load(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles MyBase.Load
            Dim s As String
            cboDirectory.Items.Clear()
            For Each s In Directory.GetLogicalDrives()
                cboDirectory.Items.Add(s)
            Next
            cboDirectory.Text = "C:\"
        End Sub
    End Class
    					
    Lưu ? B?n ph?i thay đ?i m? trong Visual Basic 2005. theo m?c đ?nh, tr?c quan Cơ b?n t?o ra hai t?p tin cho d? án khi b?n t?o m?t h?nh th?c Windows d? án. N?u m?u này đư?c đ?t tên là Form1, hai t?p tin mà đ?i di?n cho các h?nh th?c đang đ?t tên là Form1.vb và Form1.Designer.vb. B?n vi?t m? trong t?p tin Form1.vb. Các nhà thi?t k? h?nh th?c Windows vi?t m? trong t?p tin Form1.Designer.vb. Các C?a s? h?nh th?c thi?t k? s? d?ng các t? khóa m?t ph?n phân chia th?c hi?n Form1 thành hai t?p tin riêng bi?t. Hành vi này ngăn c?n các nhà thi?t k? t?o ra M? t? đang đư?c xen k? v?i m? c?a b?n.

    Đ? bi?t thêm thông tin v? c?i ti?n Visual Basic 2005 ngôn ng? m?i, truy c?p vào sau đây web site m?ng nhà phát tri?n c?a Microsoft (MSDN):
    http://MSDN.Microsoft.com/en-US/Library/ms379584 (VS.80) .aspx
    Cho bi?t thêm thông tin v? các l?p h?c ph?n và các h?nh th?c Windows Nhà thi?t k?, truy c?p vào MSDN Web site sau:
    http://msdn2.Microsoft.com/en-US/Library/ms171843.aspx
  6. Nh?n F5 đ? xây d?ng b?t lên và ch?y các m?u.

Tham kh?o

Đ? bi?t thêm thông tin, b?m s? bài vi?t sau đây đ? xem các bài vi?t trong các Cơ s? ki?n th?c Microsoft:
302309Làm th? nào đ? đ?c m?t t?p tin văn b?n b?ng cách s? d?ng System.IO Visual Basic 2005 ho?c trong Visual Basic .net
Thông tin t?ng quát hơn v? Visual Basic .Net, xem nhóm tin Usenet sau đây:
Visual Basic

Thu?c tính

ID c?a bài: 306666 - L?n xem xét sau cùng: 24 Tháng Bảy 2012 - Xem xét l?i: 3.0
Áp d?ng
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
T? khóa: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB306666 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này: 306666

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com