تقييم الموضوع :
  • 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 , سعود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] يوجد مثال|كيف نعيد صياغة نص ليكون تاريخ مقبول justforit 7 324 01-11-25, 10:54 PM
آخر رد: justforit
  طريقة جلب نوع ملفات معينة heem1986 3 488 31-12-24, 11:32 PM
آخر رد: aljzazy
Sad [سؤال] مشكلة التي لم اجد لها حل mervandzz 3 352 23-12-24, 04:27 PM
آخر رد: mervandzz
  برنامج الفيجول استوديو 2010 لا يتجاوب مع التحديثات التي اجريها عليه في برمجة البرامج PeterGhattas082460 1 428 14-12-24, 01:16 AM
آخر رد: Taha Okla
  كيفية معرفة الجهاز رئيسي ام فرعي المتألق9 1 404 13-11-24, 06:41 PM
آخر رد: justforit
  معرفة عدد صفوف الجريد فيو بشرط معين modymody300894 4 667 12-11-24, 02:22 PM
آخر رد: salamandal
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 673 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  كيفية معرفة تاريخ انشاء ملف وحدفه المتألق9 2 515 07-11-24, 08:54 AM
آخر رد: F.H.M
  أريد كود عند الضغط على الصورة في PictureBox تفتح في برنامج الصور في الويندوز F.H.M 6 641 25-10-24, 01:57 PM
آخر رد: F.H.M
  هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول F.H.M 19 921 15-09-24, 06:14 AM
آخر رد: F.H.M

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


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