منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيفية الحصول علي مساحة مجلد بالبايت في فجول بيسك
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 
السال واضح وهوا 
اريد ان يقوم الجهاز بقراة مساحة مجلد داخل اي قرص
تم وضع مساحته في textbox 

وشكرا لكم
هذه طريقة بسيطة ولكنها ليست الأسرع

كود :
       Dim _fileSize As Long
       For Each _file As String In My.Computer.FileSystem.GetFiles("D:\YourFolder")
           Dim _fileInfo As New System.IO.FileInfo(_file)
           _fileSize += _fileInfo.Length
       Next
       TextBox1.Text = _fileSize.ToString() + " bytes"
Calculate the size of a directory and its subdirectories and displays the total size in bytes. : Directory « File Directory « VB.Net
الصراحة كود رائع جربته ويعمل بكفاءة.

يتبقى كيفية التعديل على الدالة لمعرفة عدد الملفات والمجلدات.


PHP كود :
Imports System.IO
Public Class Form1
    Public Shared 
Function DirSize(ByVal d As DirectoryInfo) As Long
        Dim Size 
As Long 0
        Dim fis 
As FileInfo() = d.GetFiles()
 
       Dim fi As FileInfo
        For Each fi In fis
            Size 
+= fi.Length
        Next fi
        Dim dis 
As DirectoryInfo() = d.GetDirectories()
 
       Dim di As DirectoryInfo
        For Each di In dis
            Size 
+= DirSize(di)
 
       Next di
        Return Size
    End 
Function 'DirSize
    Private Function gfc(ByVal d As DirectoryInfo) As Long
        Dim count As Long = 0
        Dim fis As FileInfo() = d.GetFiles()
        count += fis.Count
        Dim dis As DirectoryInfo() = d.GetDirectories()
        Dim di As DirectoryInfo
        For Each di In dis
            count += gfc(di)
        Next di
        Return count
    End Function
    Private Function gdc(ByVal d As DirectoryInfo) As Long
        Dim count As Long = 0
        Dim dis As DirectoryInfo() = d.GetDirectories()
        count += dis.Count
        Dim di As DirectoryInfo
        For Each di In dis
            count += gdc(di)
        Next di
        Return count
    End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim o As New FolderBrowserDialog
        If o.ShowDialog = DialogResult.OK Then
            Dim d As New DirectoryInfo(o.SelectedPath)
            fs.Text = DirSize(d)
            fc.Text = gfc(d)
            folderscount.Text = gdc(d)
        End If
    End Sub
End Class 

هذا التعديل اللازم بعد ان قارنت المعلومات كما ترون بالصورة.
شكرا علي مساعدتكم شباب 
الحين ب اجرب انشاء الله يعملو الاكواد ^_^
(21-04-18, 05:23 AM)سعود كتب : [ -> ]Calculate the size of a directory and its subdirectories and displays the total size in bytes. : Directory « File Directory « VB.Net
الصراحة كود رائع جربته ويعمل بكفاءة.

يتبقى كيفية التعديل على الدالة لمعرفة عدد الملفات والمجلدات.


PHP كود :
Imports System.IO
Public Class Form1
    Public Shared 
Function DirSize(ByVal d As DirectoryInfo) As Long
        Dim Size 
As Long 0
        Dim fis 
As FileInfo() = d.GetFiles()
 
       Dim fi As FileInfo
        For Each fi In fis
            Size 
+= fi.Length
        Next fi
        Dim dis 
As DirectoryInfo() = d.GetDirectories()
 
       Dim di As DirectoryInfo
        For Each di In dis
            Size 
+= DirSize(di)
 
       Next di
        Return Size
    End 
Function 'DirSize
    Private Function gfc(ByVal d As DirectoryInfo) As Long
        Dim count As Long = 0
        Dim fis As FileInfo() = d.GetFiles()
        count += fis.Count
        Dim dis As DirectoryInfo() = d.GetDirectories()
        Dim di As DirectoryInfo
        For Each di In dis
            count += gfc(di)
        Next di
        Return count
    End Function
    Private Function gdc(ByVal d As DirectoryInfo) As Long
        Dim count As Long = 0
        Dim dis As DirectoryInfo() = d.GetDirectories()
        count += dis.Count
        Dim di As DirectoryInfo
        For Each di In dis
            count += gdc(di)
        Next di
        Return count
    End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim o As New FolderBrowserDialog
        If o.ShowDialog = DialogResult.OK Then
            Dim d As New DirectoryInfo(o.SelectedPath)
            fs.Text = DirSize(d)
            fc.Text = gfc(d)
            folderscount.Text = gdc(d)
        End If
    End Sub
End Class 

هذا التعديل اللازم بعد ان قارنت المعلومات كما ترون بالصورة.

اوك حبي الحل -_- ان اريد ملف واحد وانا اختاره يعني اكتب مكانه انا وليس اختاره ب البرنامج شو اعمل كنت بافصص في الاكواد لكن لخبطت كثير لهاذا ياريت تعدله مشان يكون اختيار لملف واحد وانا اختاره ( مسار الملف انا اكتبه يعني حطلي مكان المسار ("path") ) 
وشكرا ^_^ علي شرح