هل بالامكانمعرفه او كود لطريقه التي يمكن من خلالها معرفه الحجم للمجلدات داخل للقرص C حتى اعرف تلك الملفات التى تخزن بيانات كثيره ، اتمنى الافاده وامكانيه ظهور المساحه للملفات كمافي الصوره التوضيحيه او كنسبه او اي شي اخر يميز حجم تلك الملفات .
اللهمّ بعلمك الغيب وقدرتك على الخلق، أحييني ما علمت الحياة خيراً لي، وتوفّني ما علمت الوفاة خيراً لي.
ولكن في مثل هذه البرامج
من الأفضل أن تكون مصممة بلغة السي + +
لما تمتاز به من سرعة في تنفيذ المطلوب مقارنة بغيرها من اللغات
مثلاً لو تم تصميم برنامجين لنفس هذا الغرض والاخر منهما بـ لغة بايثون سيكون البرنامج المصمم بـ السي ++ ع الأقل أسرع 20 مرة مقارنة به
فليس محموداً صناعة برنامج يقرأ كل بيانات الجهاز بأي لغة برمجية غير لغة السي أو السي++
وعدا عن لغة سي ++ ذلك سيكون البرنامج بطيئ لدرجة لا توصف..
الان شركة جوجل تطور لغة Carbon وتروج لها على أنها لغة مختصرة ومطورة عن سي++
فإن صح ذلك ستكون هي المستقبل بين كل اللغات الحالية
وإلا فهي كغيرها من اللغات التي خرجت وانقرضت..
Imports System.IO Public Class Form1 Function GetDirectorySize(ByVal DirPath As String) As Long Dim DirSize As Long Dim Dir As DirectoryInfo = New DirectoryInfo(DirPath) Dim ChildFile As FileInfo For Each ChildFile In Dir.GetFiles() DirSize += ChildFile.Length Next Dim SubDir As DirectoryInfo For Each SubDir In Dir.GetDirectories() DirSize += GetDirectorySize(SubDir.FullName) Next Return DirSize End Function Private Sub gmy(dpath As String) Dim s As Long = GetDirectorySize(dpath) ListBox1.Invoke(Sub() ListBox1.Items.Add(dpath & " " & s & " byte")) End Sub Private Sub btnGetFolderssize_Click(sender As Object, e As EventArgs) Handles btnGetFolderssize.Click Dim fbd As New FolderBrowserDialog If fbd.ShowDialog = DialogResult.OK Then ListBox1.Items.Clear() Dim th As New Threading.Thread(AddressOf gmy) If th.IsAlive = False Then th.Start(fbd.SelectedPath) End If End If End Sub End Class
عدل على الكود ليناسب المطلوب.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
Imports System.IO Public Class Form1 Function GetDirectorySize(ByVal DirPath As String) As Long Dim DirSize As Long Dim Dir As DirectoryInfo = New DirectoryInfo(DirPath) Dim ChildFile As FileInfo For Each ChildFile In Dir.GetFiles() DirSize += ChildFile.Length Next Dim SubDir As DirectoryInfo For Each SubDir In Dir.GetDirectories() DirSize += GetDirectorySize(SubDir.FullName) Next Return DirSize End Function Private Sub gmy(dpath As String) Dim s As Long = GetDirectorySize(dpath) ListBox1.Invoke(Sub() ListBox1.Items.Add(dpath & " " & s & " byte")) End Sub Private Sub btnGetFolderssize_Click(sender As Object, e As EventArgs) Handles btnGetFolderssize.Click Dim fbd As New FolderBrowserDialog If fbd.ShowDialog = DialogResult.OK Then ListBox1.Items.Clear() Dim th As New Threading.Thread(AddressOf gmy) If th.IsAlive = False Then th.Start(fbd.SelectedPath) End If End If End Sub End Class
عدل على الكود ليناسب المطلوب.
(09-09-23, 11:48 PM)أبو خالد الشكري كتب : رائع
ولكن أظن أنه يكون أفضل لو تظهر النتيجة بالجيجا بايت أو بالميجابايت بدلا من البايت !
هذا موضوع رائع تناول مسألة عرض الحجم بالجيجا بايت أو بالميجابايت بدلا من البايت [سؤال] معرفة حجم ملف
أرجو منك أخي أبو خالد الشكري أن تخبرني رأيك فيه بعد أن تتمكن من دمجه مع هذا الكود