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

نسخة كاملة : معرفة حجم ملف
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
انا اعرف الخاصية Length التي تاتي بحجم الملف لاكن اريد دالة او خاصية تعود بحجم الملف بهذا الشكل

http://content.screencast.com/users/ali....-06.07.png
(27-12-13, 08:10 AM)ali.alfoly كتب : [ -> ]السلام عليكم
انا اعرف الخاصية Length التي تاتي بحجم الملف لاكن اريد دالة او خاصية تعود بحجم الملف بهذا الشكل

http://content.screencast.com/users/ali....-06.07.png

هذي بسيطة

بمجرد عمليات حسابية تستطيع تحويل البايت الى الكيلو بايت

وذلك عبر قسمة الحجم (بالبايت) على 1000 ، لتحصل على الناتج ب(كيلو بايت)

PHP كود :
Dim KBLength As Long = New IO.FileInfo("filePath").Length 1000 

واذا تبي الحجم بالميغا بايت تقسم على 1000000 (مليون) Cool

واذا تبي الحجم بالغيغا بايت تقسم على 1000000000 (مليار) Cool

واذا تبي .... انت كمل Big Grin


--

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

PHP كود :
Dim fi As IO.FileInfo = new IO.FileInfo("filePath")

Dim ByteLenght As Long fi.Length
Dim KBLenght 
As Long fi.Length 1000

Label1
.Text String.Format("Size : {0} KB ({1} Bytes)"KBLenghtByteLenght
القسمة علي 1000 Confused
فين راحت الـ 24 Undecided
(27-12-13, 03:18 PM)kslawy كتب : [ -> ]القسمة علي 1000 Confused
فين راحت الـ 24 Undecided

فعلا Big Grin

من جدي لما تسأل اي شخص يقولك ال1 gb

يساوي 1000 mb وينسى ال24 Big Grin
السلام عليكم...

ربما يمكنك استعمال 1000 أو 1024:

من ويكيبيديا:

إقتباس :مضاعفات البايت

لاحظ أن الأسماء كيلوبايت وميجابايت ...الخ، يمكن أن يكون معناها إما علميا (مضاعفات بأساس عشري) أو ثنائيا (مضاعفات بأساس ثنائي).

علميا

1 كيلوبايت KB يساوي 10^3 يساوي 1,000 بايت.
1 ميجابايت MB يساوي 10^6 يساوي 1,000,000 بايت.
1 جيجابايت GB يساوي 10^9 يساوي 1,000,000,000 بايت.
1 تيرابايت TB يساوي 10^12 يساوي 1,000,000,000,000 بايت.
1 بيتابايت PB يساوي 10^15 يساوي 1,000,000,000,000,000 بايت.
1 إكسابايت EB يساوي 10^18 يساوي 1,000,000,000,000,000,000 بايت.
1 زيتابايت ZB يساوي 10^21 يساوي 1,000,000,000,000,000,000,000 بايت.

ثنائيا

1 كيلوبايت KB أو KiB يساوي 2^10 يساوي 1,024 بايت.
1 ميجابايت MB أو MiB يساوي 2^20 يساوي 1,048,576 بايت.
1 جيجابايت GB أو GiB يساوي 2^30 يساوي 1,073,741,824 بايت.
1 تيرابايت TB أو TiB يساوي 2^40 يساوي 1,099,511,627,776 بايت.
1 بيتابايت PB أو PiB يساوي 2^50 يساوي 1,125,899,906,842,624 بايت.
1 إكسابايت EB أو EiB يساوي 2^60 يساوي 1,152,921,504,606,846,976 بايت.

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

1 زيتابايت ZB أو ZiB يساوي 2^70 يساوي 1,180,591,620,717,411,303,424 بايت.
1 يوتابايت YB أو YiB يساوي 2^80 يساوي 1,208,925,819,614,629,174,706,176 بايت.

لاحظ أن الفرق بين الوحدات بقيمها العلمية والثنائية يزيد كلما كانت الوحدة أكبر.

و السلام عليكم.
السلام عليكم ورحمة الله

جزاكم الله خيرا اخواني

وجعله الله تعالي في موازين حسناتكم

ارجو من احد الاخوة اتمام الدالة لاني حاولت وفشلت وهذه الايام عملت تعديلات في محلي ومشغول جدا فارجو من حدراتكم اتمام هذه الدالة

المقصود تمرير الرقم تعود بالنص مثل الصورة



كود :
Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MsgBox(Get_Size(1080))
    End Sub

    Public Function Get_Size(ByVal Length As Long) As String
        Dim Txt_Siz As String = ""
        If Length < 1024 Then
            Txt_Siz = Length & " Bytes"
        ElseIf Length < 1048576 Then
            Txt_Siz = (Length / 1024) & " KB"
        ElseIf Length < 1073741824 Then
            Txt_Siz = (Length / 1024 / 1024) & " MB"
        End If
        Return Txt_Siz
    End Function

End Class
(29-12-13, 03:59 AM)ali.alfoly كتب : [ -> ]السلام عليكم ورحمة الله

جزاكم الله خيرا اخواني

وجعله الله تعالي في موازين حسناتكم

ارجو من احد الاخوة اتمام الدالة لاني حاولت وفشلت وهذه الايام عملت تعديلات في محلي ومشغول جدا فارجو من حدراتكم اتمام هذه الدالة

المقصود تمرير الرقم تعود بالنص مثل الصورة



كود :
Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MsgBox(Get_Size(1080))
    End Sub

    Public Function Get_Size(ByVal Length As Long) As String
        Dim Txt_Siz As String = ""
        If Length < 1024 Then
            Txt_Siz = Length & " Bytes"
        ElseIf Length < 1048576 Then
            Txt_Siz = (Length / 1024) & " KB"
        ElseIf Length < 1073741824 Then
            Txt_Siz = (Length / 1024 / 1024) & " MB"
        End If
        Return Txt_Siz
    End Function

End Class

والكود الي وضعته لك في مشاركتي السابقة ؟
(29-12-13, 03:59 AM)ali.alfoly كتب : [ -> ]السلام عليكم ورحمة الله

جزاكم الله خيرا اخواني

وجعله الله تعالي في موازين حسناتكم

ارجو من احد الاخوة اتمام الدالة لاني حاولت وفشلت وهذه الايام عملت تعديلات في محلي ومشغول جدا فارجو من حدراتكم اتمام هذه الدالة

المقصود تمرير الرقم تعود بالنص مثل الصورة


عليكم السلام اهلا بك استاذي علي ، حاولت انا كذلك ولم اجد نتيجة ولكن لعل الاخوان لديهم افادة بهذا الشيء لأنني اصبحت مثلك اريد المحصلة النهائية ..
حاولت انا بطريقة أخرى وإليك الكود والصورة :
PHP كود :
open.Filter "AllFiles |*.*"

        
If open.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim FilesInfo 
As FileInfo = New FileInfo(open.FileName)

            
TextBox1.Text = (open.FileName)

            
Label2.Text String.Format("Size : " Math.Round(FilesInfo.Length 10241) & "  KB  " & (Math.Round(FilesInfo.Length1) & "   Bytes  "))
        
End If 
[attachment=976]
قد تكون محاولة فاشلة ولكن اعتقد ان النتيجة طيبة .

تحياتي / محمد .
(29-12-13, 01:08 PM)البروف سيمونس كتب : [ -> ]
(29-12-13, 03:59 AM)ali.alfoly كتب : [ -> ]السلام عليكم ورحمة الله

جزاكم الله خيرا اخواني

وجعله الله تعالي في موازين حسناتكم

ارجو من احد الاخوة اتمام الدالة لاني حاولت وفشلت وهذه الايام عملت تعديلات في محلي ومشغول جدا فارجو من حدراتكم اتمام هذه الدالة

المقصود تمرير الرقم تعود بالنص مثل الصورة


عليكم السلام اهلا بك استاذي علي ، حاولت انا كذلك ولم اجد نتيجة ولكن لعل الاخوان لديهم افادة بهذا الشيء لأنني اصبحت مثلك اريد المحصلة النهائية ..
حاولت انا بطريقة أخرى وإليك الكود والصورة :
PHP كود :
open.Filter "AllFiles |*.*"

        
If open.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim FilesInfo 
As FileInfo = New FileInfo(open.FileName)

            
TextBox1.Text = (open.FileName)

            
Label2.Text String.Format("Size : " Math.Round(FilesInfo.Length 10241) & "  KB  " & (Math.Round(FilesInfo.Length1) & "   Bytes  "))
        
End If 

قد تكون محاولة فاشلة ولكن اعتقد ان النتيجة طيبة .

تحياتي / محمد .

طيب انا لاارى مشكلة عندك

وين الخلل ؟
السلام عليكم ورحمة الله وبركاته

واجهتني المشكلة في تقسم حجم الملف الأصلي (غير المقسوم) لا ينقسم أبدا لهذه الطريقة ("00.000") دائما يظهر كامل ولكنني قسمته باستخدام العلامة (",") بدلاً عن (النقطة) وعند الرجوع بالدالة يتم استبدال (,) بالنقطة
PHP كود :
Private Function GetFileLenght(ByVal filePath As String) As String
        Dim FileLen 
As String ""
        
Try
            
Dim fi As IO.FileInfo = New IO.FileInfo(filePath)

            
Dim ByteLenght As Long fi.Length
            Dim KBLenght 
As Long fi.Length 1024

            FileLen 
String.Format("Size : {0:00.0} KB ({1:00,000} Bytes)"KBLenghtByteLenght)
            Return 
FileLen.Replace(",""."' لم يتقسم النص الأخير إلا بوضع العلامة التي ستستبدل هنا
        Catch ex As Exception
            MsgBox(ex.Message, 48, "Get File Lenght")
            Return ""
        End Try
    End Function 


http://msdn.microsoft.com/en-us/library/....110).aspx

****
***
**
*
الصفحات : 1 2