المشاركات : 1,561
المواضيع 264
الإنتساب : Sep 2013
السمعة :
29
الشكر: 653
تم شكره 1044 مرات في 408 مشاركات
27-12-13, 08:10 AM
السلام عليكم
انا اعرف الخاصية Length التي تاتي بحجم الملف لاكن اريد دالة او خاصية تعود بحجم الملف بهذا الشكل
http://content.screencast.com/users/ali....-06.07.png
المشاركات : 1,733
المواضيع 147
الإنتساب : Sep 2012
السمعة :
215
الشكر: 8484
تم شكره 12163 مرات في 1145 مشاركات
(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 (مليون)
واذا تبي الحجم بالغيغا بايت تقسم على 1000000000 (مليار)
واذا تبي .... انت كمل
--
يعني تقدر تقول ان الكود بيصير بهذه الطريقة
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)", KBLenght, ByteLenght)
المشاركات : 607
المواضيع 17
الإنتساب : Sep 2013
السمعة :
39
الشكر: 788
تم شكره 579 مرات في 160 مشاركات
القسمة علي 1000
فين راحت الـ 24
(وَقُل رَّبِّ زِدْنِي عِلْمًا)
المشاركات : 1,733
المواضيع 147
الإنتساب : Sep 2012
السمعة :
215
الشكر: 8484
تم شكره 12163 مرات في 1145 مشاركات
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
ربما يمكنك استعمال 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 بايت.
لاحظ أن الفرق بين الوحدات بقيمها العلمية والثنائية يزيد كلما كانت الوحدة أكبر.
و السلام عليكم.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 1,561
المواضيع 264
الإنتساب : Sep 2013
السمعة :
29
الشكر: 653
تم شكره 1044 مرات في 408 مشاركات
السلام عليكم ورحمة الله
جزاكم الله خيرا اخواني
وجعله الله تعالي في موازين حسناتكم
ارجو من احد الاخوة اتمام الدالة لاني حاولت وفشلت وهذه الايام عملت تعديلات في محلي ومشغول جدا فارجو من حدراتكم اتمام هذه الدالة
المقصود تمرير الرقم تعود بالنص مثل الصورة
كود :
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
المشاركات : 1,733
المواضيع 147
الإنتساب : Sep 2012
السمعة :
215
الشكر: 8484
تم شكره 12163 مرات في 1145 مشاركات
(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
والكود الي وضعته لك في مشاركتي السابقة ؟
المشاركات : 31
المواضيع 9
الإنتساب : Sep 2013
السمعة :
1
الشكر: 35
تم شكره 19 مرات في 11 مشاركات
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 / 1024, 1) & " KB " & (Math.Round(FilesInfo.Length, 1) & " Bytes ")) End If
قد تكون محاولة فاشلة ولكن اعتقد ان النتيجة طيبة .
تحياتي / محمد .
المشاركات : 1,733
المواضيع 147
الإنتساب : Sep 2012
السمعة :
215
الشكر: 8484
تم شكره 12163 مرات في 1145 مشاركات
(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 / 1024, 1) & " KB " & (Math.Round(FilesInfo.Length, 1) & " Bytes ")) End If
قد تكون محاولة فاشلة ولكن اعتقد ان النتيجة طيبة .
تحياتي / محمد .
طيب انا لاارى مشكلة عندك
وين الخلل ؟
المشاركات : 607
المواضيع 17
الإنتساب : Sep 2013
السمعة :
39
الشكر: 788
تم شكره 579 مرات في 160 مشاركات
السلام عليكم ورحمة الله وبركاته
واجهتني المشكلة في تقسم حجم الملف الأصلي (غير المقسوم) لا ينقسم أبدا لهذه الطريقة ("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)", KBLenght, ByteLenght) 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
****
***
**
*
(وَقُل رَّبِّ زِدْنِي عِلْمًا)
|