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

اريد كود واحد يقوم بمعرفة عدد الصور بكافة تنسيقاتها ...
لاني استخدم طريقة يدوية وهي:
كود :
Dim gifcounter As Object
    Dim jpgcounter As Object
    Dim pngcounter As Object
    Dim jpegcounter As Object
    Dim allcount As Integer

        gifcounter = Directory.GetFiles(fbd.SelectedPath, "*.gif".ToLower).Count
        jpgcounter = Directory.GetFiles(fbd.SelectedPath, "*.jpg".ToLower).Count
        pngcounter = Directory.GetFiles(fbd.SelectedPath, "*.png".ToLower).Count
        jpegcounter = Directory.GetFiles(fbd.SelectedPath, "*.jpeg".ToLower).Count
        allcount = gifcounter + jpgcounter + pngcounter + jpegcounter

فهل توجد طريقة لمعرفة عدد الملفات التي تعتبر صورة بغض النظر عن الامتداد؟؟
وفقكم الله.
الرد }}}
تم الشكر بواسطة:
#2
كود :
Dim count As Integer = 0
        Dim extensions As String() = {".jpg", ".jpeg", ".png", ".gif"}
        Dim paths As String() = IO.Directory.GetFiles(fbd.SelectedPath)
        Array.ForEach(Of String)(paths, Sub(path As String) Array.ForEach(Of String)(extensions, Sub(ext As String) If path.ToLower().EndsWith(ext) Then count += 1))
        MsgBox(count)
الرد }}}
تم الشكر بواسطة: سعود , kslawy
#3
علي السريع
لا تقوم باكثر من عملية بحث دي يتقل معك الكود
قم بعمليه بحث عن جميع الملفات *.* ثم اعمل تكرار بعد ذلك يلف علي المصفوفة واذا وجد الملف ........

كود :
Dim lst_Ex() As String = {".gpg", ".png", ".gif"}
        Dim lst() As String = IO.Directory.GetFiles("", "*.*", 0)
        Dim allcount As Integer
        For Each fil As String In lst
            If (Array.IndexOf(lst_Ex, (New IO.FileInfo(fil).Exists))) >= 0 Then allcount += 1
        Next

لم اجرب فقط كتبت الفكرة
الرد }}}
تم الشكر بواسطة: سعود , Aly El-Haddad , kslawy
#4
بارك الله فيك
الكود هذا مايجي بالتخمينSmileSmile
تسلم ايدك
الرد }}}
تم الشكر بواسطة: Aly El-Haddad
#5
اسف اخي Aly El-Haddad ما رائيت ردك
الرد }}}
تم الشكر بواسطة: Aly El-Haddad , kslawy
#6
هههههه
مش هعديها الكود ده لازم يتشرح
كود :
Array.ForEach(Of String)(paths, Sub(path As String) Array.ForEach(Of String)(extensions, Sub(ext As String) If path.ToLower().EndsWith(ext) Then count += 1))
الرد }}}
تم الشكر بواسطة: Sajad
#7
السلام عليكم ورحمة الله وبركاته

وزيادة الخير خيرين بالـ Linq :

كود :
Dim imagesFolder As String = My.Computer.FileSystem.SpecialDirectories.MyPictures
        Dim ImagesExtension As String() = New String() {".gif", ".jpg", ".png", ".jpeg"}

        Dim ImgsCount = (From m In New IO.DirectoryInfo(imagesFolder).GetFiles _
                         Where ImagesExtension.Contains(m.Extension) Select m).Count

        MessageBox.Show(ImgsCount)

****
***
**
*
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}
تم الشكر بواسطة: Sajad , Aly El-Haddad , سعود
#8
ههههههههههه، أنت تأمر Big Grin

Array.ForEach تقوم بتنفيذ أمر معين على جميع عناصر مصفوفة ما
Array.ForEach(Of String) لأن المصفوفة من نوع String
يأخذ الـParameter الأول المصفوفة المراد تنفيذ الأمر عليها
يأخذ الـParameter الثاني الأمر الذي سيتم تنفيذه من نوع Action بصيغة Lambda expression أو بالصيغة الموضحة على هذا الرابط

تكتب الأومر بالصيغة Lambda expression بالطريقة الموضحة في المشاركة أعلاة حيث str هي قيمة عنصر المصفوفة الذي يتم تطبيق الأمر عليه و من ثم يُكتب الأمر (في سطر واحد)

مثال توضيحي مثلاً عندنا مصفوفة نصية:
كود :
Dim strArr As String() = {"Item0", "Item1", "Item2"}
استخدام هذا الكود:
كود :
Array.ForEach(Of String)(strArr, Sub(str As String) MsgBox(str.ToUpper()))
هو لا يختلف عن هذا:
كود :
For Each str As String In strArr
            MsgBox(str.ToUpper())
        Next
إلى أن الأول في سطر واحد Smile
الرد }}}
تم الشكر بواسطة: kslawy , سعود
#9
و بأعتذر عن التأخير في الرد بسبب إنقطاع الكهرباء Blush
الرد }}}
تم الشكر بواسطة: kslawy , سعود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] معرفة الخطا MOHAMMED ALZWI 0 41 15-04-24, 01:56 PM
آخر رد: MOHAMMED ALZWI
  [VB.NET] معرفة الخطا MOHAMMED ALZWI 2 40 15-04-24, 01:54 PM
آخر رد: MOHAMMED ALZWI
  مرفق سورس كود ارسال ملفات الى الواتس بدون API new_programer 0 51 14-04-24, 02:16 PM
آخر رد: new_programer
  معرفة رصيدي للهاتف النقال المتصل بالكمبيوتر وارسال رسائل نصية منه AHMED213 1 151 03-04-24, 08:08 AM
آخر رد: sdz
  [VB.NET] معرفة بيانات الجهاز محمد بوقزاحة 1 326 21-02-24, 11:44 PM
آخر رد: AHMED213
  معرفة عدد مرات تكرار الاسم في الداتاقريدفيو صالح عبدالله 8 437 05-02-24, 04:39 PM
آخر رد: صالح عبدالله
  [VB.NET] معرفة بيانات الجهاز محمد بوقزاحة 7 678 12-01-24, 07:31 PM
آخر رد: Kamil
  [VB.NET] كود حفظ الصور والبيانات مره وحده مبرمج صغير 1 2 254 12-01-24, 03:04 PM
آخر رد: مبرمج صغير 1
  معرفة عدد الاشهر خلال فترة زمنيةمعينة boofa2022 0 185 01-01-24, 01:18 PM
آخر رد: boofa2022
Information [VB.NET] أنواع ملفات التحديث أبو خالد الشكري 2 223 15-11-23, 12:00 PM
آخر رد: أبو خالد الشكري

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم