تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سلسلة تعليمية] دوال وإجراءات مهمة وضرورية للمبرمج - من تصميمي
#6
6 - دالة تحديد عدد عناصر الليست بوكس ListBox

إسميتها : ListBoxCount


كود ونص الدالة :
 
كود :
Function ListBoxCount(ByVal ListBoxName As ListBox) As Integer

       ListBoxName.Refresh()
       Return ListBoxName.Items.Count

   End Function



سبب إنشاء الدالة :

غالبا ماتحتاج إنعاش صندوق الليست بالأمر Refresh ، وبعدها تحصيل عدد عناصر الليست ..

يعني خطوتين تتكرر كل مرة إذا أردت معرفة عدد العناصر الموجودة في الليست - ياللملل -
فللإختصار نجعلها دالة ونستدعيها بإسم الدالة ونكتب إسم الليست فقط ...


===============================

7 - دالة إقتطاع إسم الملف فقط من نص مساره الكامل

إسميتها : FileNameOfPathFile

كود ونص الدالة :

كود :
Function FileNameOfPathFile(ByVal FilePath As String, Optional ByVal WithExtension As Boolean = True) As String

       Dim C As Integer, K, K2 As String

       Dim Cm As String = "\", P As String = FilePath.Trim

       C = ItemsCount(P, Cm)
       K = ItemSN(C, P, Cm) : K2 = K

       If WithExtension = False Then

           If InStr(1, K, ".") <> 0 Then

               K2 = ItemSN(1, K, ".")

           End If

       End If

       Return K2

   End Function

شرح عمل الإجراء :

في حال أردت إظهار إسم الملف فقط بدون نص مساره كله . كمثال إسم المسار الكامل للملف يكون :
C:\Test Folder\test.txt

أما إسم الملف فقط ، فسيظهر : test.txt
مع إمتداده txt

أما في حال غيرت الإختيار الإفتراضي WithExtension ليصبح False ، فسيظهر إسم الملف فقط بدون إمتداده ..

ستلاحظ أن عمليات هذه الدالة تعتمد كليا على دوال المجموعة ( Item ) التي ذكرتها سابقا ، وهذا هو مفهوم ( التكامل الوظيفي ) بين الدوال.



===============================

8 - إجراء نسخ أسماء جميع الملفات الموجود في مجلد محدد إلى صندوق اللائحة ( الليست بوكس ) ListBox


إسميتها : CopyFilesNameInDirToListBox


كود ونص الإجراء  :

كود :
   Sub CopyFilesNameInDirToListBox(ByVal DirName As String, ByVal ListBoxName As ListBox, _
                                   Optional ByVal WithExtension As Boolean = False, _
                                   Optional ByVal LabelNameForViewCountOfItems As Label = Nothing)

       Dim Nm, FN As String, Lbl As Label = LabelNameForViewCountOfItems

       Dim FLs As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = _
       My.Computer.FileSystem.GetFiles(DirName.Trim)


       ListBoxName.Items.Clear()

       For Each Nm In FLs

           FN = FileNameOfPathFile(Nm, WithExtension)

           ListBoxName.Items.Add(FN)

       Next

       If Lbl IsNot Nothing Then

           Lbl.Text = ListBoxCount(ListBoxName)

       End If

   End Sub


شرح عمل الإجراء :

في أحد برامجك الجدية أردت قائمة أسماء الملفات الموجودة في مجلد ما ، قد يكون ذلك للإستطلاع أو تعديل أسماء منها أو حذف أو نقل أو فتح المحتوى أو أو ...

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

وذلك يكون عبر المدخلات المطلوبة ( الباراميترات ) الآتية مع وجود إختيارات مهمة مرنة :

DirName As String
متغير نصي : يطلب منك مسار المجلد المطلوب ، إلزامي .

ListBoxName As ListBox
إسم الليست المطلوب نسخ أسماء الملفات إليه ، إلزامي .
                                   
Optional  WithExtension As Boolean = False
متغير منطقي إختياري ( ليس إلزاميا ) ، محدد إفتراضيا بالقيمة المنطقية False أي لا .
وهو بمعنى : هل تريد عرض أسماء الملفات مع إسم إمتدادها ؟


Optional  LabelNameForViewCountOfItems As Label = Nothing
متغير إختياري ( ليس إلزاميا ) لتحديد إسم الليبل Label الذي سيطبع عليه عدد عناصر الليست ( عدد أسماء الملفات في المجلد المحدد ) ، محدد إفتراضيا بالقيمة Nothing أي أنه غير موجود في حال لم تكتب إسم الليبل ، أما إذا كتبت إسم ليبيل موجود في البرنامج لهذا الغرض

ستصبح قيمة الباراميتر تلقائيا = IsNot Nothing ، أي عكس ( غير موجود ) ، يعني ( موجود )


ملاحظة :

ستلاحظ وجود دالة سابقة وهي ListBoxCount في هذا الإجراء ..

هذا معناه وجود ( تكامل وظيفي تلقائي ) بين الدوال والإجراءات المختلفة يهدف للفاعلية الإنتاجية في إختصار الوقت والجهد ، ولكن بشرط وجودها في ملف أو ملفات ميديول Module في برنامج واحد ..

 لهذا السبب أوصي بتجميع دوال هذا الموضوع في ملف ميديول واحد ..
الرد }}}
تم الشكر بواسطة: sendbad100 , sendbad100


الردود في هذا الموضوع
RE: دوال وإجراءات مهمة وضرورية للمبرمج - من تصميمي - بواسطة عبدالله خضر - 16-06-17, 01:01 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [كود] دوال التحويل من نص الى رقمى والعكس مع اداة textbox طالب فيجوال بيسك 3 4,123 20-08-14, 01:29 AM
آخر رد: yami

التنقل السريع :


يقوم بقرائة الموضوع: