تقييم الموضوع :
  • 3 أصوات - بمعدل 3.67
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] معرفة حجم ملف
#18
اشوف الموضوع طول مع انه بسيط !

شكلي بدخل الكومندوز ليكمBig Grin

اخوي علي هذي الكلاس بنفكك من ازمتك :-

+ انا استبقت الاحداث وكتبت شرح الكود لأن ادري بتسألني بعدين Big GrinBig Grin

PHP كود :
Public Class FileSize
    
Const Length_Pattern As Integer 1024
    Shared ReadOnly Byte_Length 
As Integer 0
    Shared ReadOnly KB_Length 
As Double Length_Pattern
    Shared ReadOnly MB_Length 
As Double Math.Pow(Length_Pattern2)     'عمل Power للرقم 1024'
    
Shared ReadOnly GB_Length As Double Math.Pow(Length_Pattern3)
    
Shared ReadOnly TB_Length As Double Math.Pow(Length_Pattern4)

    Private 
Enum Unit
        
[Byte]
        
KB
        MB
        GB
        TB
    End Enum

    
''' <summary>
    ''' 
جلب حجم الملف كما في الوندوز
    
''' </summary>
    ''' 
<param name="filePath">مسار الملف</param>
    
''' <returns></returns>'''
    
Public Shared Function GetFileSize(filePath As String) As String
        Dim fileLength 
As Long = New System.IO.FileInfo(filePath).Length   'طول الملف الاصلي'
        
Dim computeLength As Double 0
        Dim bestUnit 
As Unit GetBestUnit(fileLength)
        
'جلب افضل وحدة للعرض'
        
Select Case bestUnit
            
Case Unit.[Byte]
                Return 
fileLength.ToString("#,#") & " bytes"
            
Case Unit.KB
                computeLength 
fileLength KB_Length
                
Exit Select
            
Case Unit.MB
                computeLength 
fileLength MB_Length
                
Exit Select
            
Case Unit.GB
                computeLength 
fileLength GB_Length
                
Exit Select
            
Case Unit.TB
                computeLength 
fileLength TB_Length
                
Exit Select
        End Select

                
'بتر الارقام لتصبح خانتين بعد الفاصلة' 
        
Dim outLength As Double Math.Truncate(100 computeLength) / 100
        Dim outText 
As String String.Format("{0} {1} ({2} bytes)"
                              New 
Object() {outLengthbestUnit.ToString(), fileLength.ToString ("#,#")})
        
         Return 
outText
    End 
Function

    Private 
Shared Function GetBestUnit(fileLength As Long) As Unit
        
'اختيار الوحدة الافضل للعرض'
        
If fileLength >= Byte_Length AndAlso fileLength KB_Length Then
            
Return Unit.[Byte]
        ElseIf 
fileLength >= KB_Length AndAlso fileLength MB_Length Then
            
Return Unit.KB
        
ElseIf fileLength >= MB_Length AndAlso fileLength GB_Length Then
            
Return Unit.MB
        
ElseIf fileLength >= GB_Length AndAlso fileLength TB_Length Then
            
Return Unit.GB
        
ElseIf fileLength >= TB_Length Then
            
Return Unit.TB
        
Else
            Return 
Unit.MB        'default '
        
End If
    
End Function
End Class 
الرد }}}
تم الشكر بواسطة: mamas1 , kslawy , البروف سيمونس , ali.alfoly


الردود في هذا الموضوع
معرفة حجم ملف - بواسطة ali.alfoly - 27-12-13, 08:10 AM
RE: معرفة حجم ملف - بواسطة الشاكي لله - 27-12-13, 08:30 AM
RE: معرفة حجم ملف - بواسطة kslawy - 27-12-13, 03:18 PM
RE: معرفة حجم ملف - بواسطة الشاكي لله - 27-12-13, 03:57 PM
RE: معرفة حجم ملف - بواسطة ناجي إبراهيم - 27-12-13, 05:22 PM
RE: معرفة حجم ملف - بواسطة ali.alfoly - 29-12-13, 03:59 AM
RE: معرفة حجم ملف - بواسطة الشاكي لله - 29-12-13, 01:00 PM
RE: معرفة حجم ملف - بواسطة البروف سيمونس - 29-12-13, 01:08 PM
RE: معرفة حجم ملف - بواسطة الشاكي لله - 29-12-13, 01:14 PM
RE: معرفة حجم ملف - بواسطة kslawy - 29-12-13, 01:26 PM
RE: معرفة حجم ملف - بواسطة الشاكي لله - 29-12-13, 01:38 PM
RE: معرفة حجم ملف - بواسطة kslawy - 29-12-13, 01:40 PM
RE: معرفة حجم ملف - بواسطة ali.alfoly - 30-12-13, 02:54 AM
RE: معرفة حجم ملف - بواسطة الشاكي لله - 30-12-13, 09:40 AM
RE: معرفة حجم ملف - بواسطة ali.alfoly - 31-12-13, 06:09 AM
RE: معرفة حجم ملف - بواسطة البروف سيمونس - 31-12-13, 06:39 AM
RE: معرفة حجم ملف - بواسطة ali.alfoly - 31-12-13, 07:09 AM
RE: معرفة حجم ملف - بواسطة الشاكي لله - 31-12-13, 11:22 AM
RE: معرفة حجم ملف - بواسطة ali.alfoly - 01-01-14, 03:53 AM
RE: معرفة حجم ملف - بواسطة البروف سيمونس - 01-01-14, 06:30 AM


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم