أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية الدلائل البحث بشكل متكرر باستخدام 2005 Visual Basic أو Visual Basic.net

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية306666
Microsoft Visual c + + 2005 ومايكروسوفت البصرية .NET c + + نسخة من هذه المقالة، راجع 307009.
Microsoft Visual C# 2005 ومايكروسوفت البصرية إصدار C#.net من هذه المقالة، انظر 303974.
الموجز
توضح هذه المقالة خلال التعليمات البرمجية كيفية بشكل متكرر الدلائل البحث للملفات، التي تبدأ بدليل جذر. بحث يتم تحديد سلسلة حيث يمكنك البحث عن الملفات التي تطابق معينة معايير. ويفسر كل جزء من التعليمات البرمجية حسب الضرورة. تعليمة برمجية للعمل يتم أيضا توفير نموذج في نهاية هذه المقالة.

الدليل العودية مهمة IO شائعة للمطورين. FileSystemObject تسهيل هذه المهمة لطراز كائن المكون (COM) التطبيقات. الآن أصبح أسهل في Microsoft.net هذه المهمة إطار. الفئات في مساحة الاسم System.IO مشابه ل FileSystemObject، توفر طريقة للكائنات للوصول إلى الملفات و الدلائل.

متطلبات

علامة توضح القائمة التالية الأجهزة الموصى بها والبرامج والشبكة البنية الأساسية، وحزم الخدمات التي تحتاجها:
  • Microsoft Visual Studio 2005 أو Microsoft Visual Studio .NET
Microsoft تقدم أمثلة برمجية للتوضيح فقط، دون أي ضمان سواء صريح أو ضمني. وهذا يتضمن، ولكن لا يقتصر على، الضمنية ضمانات القابلية للتسويق أو الملاءمة لغرض معين. تحتوي هذه المقالة يفترض أنك معتاد على لغة البرمجة التي يتم ثبت والأدوات التي يتم استخدامها لإنشاء وتصحيحها إجراءات. يمكن أن تساعد مهندسو الدعم لدى Microsoft شرح الوظيفة إجراء معين، ولكنها لن بتعديل هذه الأمثلة لتوفير إضافة وظائف أو بناء إجراءات لتلبية متطلبات محددة.

العودية الدليل

فئات معالجة الملف والدليل الموجودة في مساحة الاسم System.IO . قبل العمل مع هذه الفئات، يجب استيراد مساحة الاسم التالية في المشروع.
using System.IO;				
فئات مساحة الاسم System.IO توفر العديد من الخيارات للعمل مع الملفات و الدلائل. يوفر مساحة الاسم System.IO الفئات التي يمكنك إنشاء مثيل، ليس فقط من كما يوفر فئات الأداة المساعدة الملف والدليل. تتضمن هذه الفئات المشتركة الأساليب التي يمكنك استدعاؤها دون الحاجة إلى تعريف متغير من هذا النوع. على سبيل المثال، يمكنك استخدام كائن الدليل للحصول على الدلائل الفرعية لمعين دليل.

يستخدم التعليمة البرمجية التالية أسلوب GetDirectories المشتركة لكائن الدليل لإرجاع صفيف سلاسل. يحتوي هذا الصفيف على أسماء مسار الدليل إلى الدلائل الفرعية للدليل C:\، أن وجدت.
Dim directories() As String = Directory.GetDirectories("C:\")				
يحتوي كائن الدليل أيضا على أسلوب GetFiles . تسمح لك استرداد لصفيف سلسلة من الملفات التي تطابق الطريقة GetFiles معايير معينة. يستخدم نموذج التعليمات البرمجية التالية كائن الملف لاسترداد كافة الملفات التي تنتهي في الدليل C:\ بالملحق dll.
Dim files() As String = Directory.GetFiles("C:\", "*.dll")				
الأسلوب GetDirectories وأسلوب GetFiles كائن الدليل هي كل ما تحتاج إلى البحث بشكل متكرر عن الملفات التي تطابق سلسلة البحث. يتم استخدام الأسلوب التالي لتنفيذ العودية.
    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				
التعليمات البرمجية السابقة بتمرير سلسلة أحرف يحتوي على الدليل الذي تحتاج للبحث إلى DirSearch. قيمة سلسلة هذا هو اسم المسار الكامل للدليل. يمكنك يمكنك استخدام الأسلوب GetDirectories لاسترداد الدلائل الفرعية لدليل موجود التي تم تمريرها إلى الإجراء الخاص بك. لأن الأسلوب GetDirectories بإرجاع صفيف، يمكنك استخدام ل/كل البيان قم بالتكرار عبر كل دليل فرعي. لكل دليل فرعي، استخدم الأسلوب GetFiles لتكرار الملفات في هذا الدليل. قيمة يتم تمرير مربع النص على النموذج الخاص بك إلى الأسلوب GetFiles . مربع النص يحتوي على سلسلة البحث الذي يقوم بتصفية النتائج التي إرجاع الأسلوب GetFiles . إذا كانت أية ملفات تطابق معايير البحث، إضافة إلى مربع القائمة. لكل دليل فرعي موجود، استدعاء DirSearch مرة أخرى، وتمرير دليل فرعي. باستخدام هذه المكالمة العودية يمكنك البحث في كافة الدلائل الفرعية للدليل الجذر المعطى.

نموذج التعليمات البرمجية كاملة

  1. بدء تشغيل Microsoft Visual Basic 2005 أو Microsoft Visual جديد مشروع تطبيق Windows.net الأساسي. بشكل افتراضي، نموذج الذي يدعى Form1 يتم إنشاء.
  2. من القائمة عرض ، انقر لعرض "مستكشف الحلول".
  3. في "مستكشف الحلول"، انقر بالزر الأيمن Form1، ومن ثم انقر فوق عرض التعليمات البرمجية.
  4. في إطار التعليمات البرمجية Form1 ثم تمييز وحذف كافة التعليمات البرمجية الموجودة.
  5. قم بلصق التعليمة البرمجية التالية في إطار التعليمات البرمجية ل Form1 النموذج.
    Imports System.IOPublic 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 SubEnd Class					
    ملاحظة يجب تغيير التعليمات البرمجية في Visual Basic 2005. بشكل افتراضي، Visual Basic إنشاء ملفين للمشروع عند إنشاء نماذج Windows المشروع. إذا تم تسمية النموذج Form1، الملفين التي تمثل النموذج Form1.vb المسماة و Form1.Designer.vb. تكتب التعليمات البرمجية في ملف Form1.vb. مصمم نماذج Windows يكتب التعليمة البرمجية في الملف Form1.Designer.vb. علامة مصمم نماذج Windows يستخدم الكلمة الأساسية الجزئية لتقسيم تنفيذ Form1 إلى ملفين منفصلة. يمنع هذا السلوك في مصمم المنشأة رمز يتم interspersed مع التعليمات البرمجية الخاصة بك.

    لمزيد من المعلومات حول التحسينات لغة Visual Basic 2005 الجديدة بزيارة موقع ويب شبكة مطوري Microsoft (MSDN): لمزيد من المعلومات حول فئات جزئية و Windows Forms مصمم، قم بزيارة موقع MSDN على ويب التالية:
  6. اضغط F5 لإنشاء وتشغيل العينة.
مراجع
لمزيد من المعلومات معلومات، انقر فوق رقم المقالة التالي لعرضها في قاعدة معارف Microsoft:
302309كيفية قراءة ملف نصي باستخدام System.IO في 2005 Visual Basic أو Visual Basic.net
لمزيد من المعلومات العامة حول Visual Basic .NET، راجع أخبار Usenet التالية:

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 306666 - آخر مراجعة: 07/24/2012 06:19:00 - المراجعة: 1.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB306666 KbMtar
تعليقات
/html>ody>