Conversion octet => ko, mo, go ...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 34 615 fois - Téléchargée 47 fois

Contenu du snippet

Code très simple à priori mais comme je l'ai utilisé dans plusieurs de mes programme, simplement en recopiant la fonction, j'ai pensé qu'il pouvait servir à quelqu'un...

Source / Exemple :


Public Function ConvertOctets(Prm_L_Num As Long) As String
    
    On Error GoTo ConvertOctets_Err

    Dim L_Size As Long
    
    L_Size = Prm_L_Num ' Mise en cache
    
    If (L_Size / 1024 > 1) Then
        L_Size = L_Size / 1024
        If (L_Size / 1024 > 1) Then
            L_Size = L_Size / 1024
            If (L_Size / 1024 > 1) Then
                L_Size = L_Size / 1024
                If (L_Size / 1024 > 1) Then
                    L_Size = L_Size / 1024
                Else
                    ConvertOctets = CStr(L_Size) & " Go"
                End If
            Else
                ConvertOctets = CStr(L_Size) & " Mo"
            End If
        Else
            ConvertOctets = CStr(L_Size) & " Ko"
        End If
    Else
        ConvertOctets = CStr(L_Size) & " Oct"
    End If

    Exit Function
    
ConvertOctets_Err:
    
    Call MsgBox("Erreur n° : " & Err.Number & vbCrLf & "Description : " & Err.Description, vbOkOnly + VbExclamation, App.Title)
    
End Function

Conclusion :


Appel de la fonction : S_Buffer = ConvertOctets(5000)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
31
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
16 mars 2009

Salut, je propose cette fonction c'est la même chose en plus court:
Imports System.Math

Public Function func_RoundTaille(ByVal LaTaille As Long) as String
Select Case LaTaille
Case Is < 1024
Return Round(LaTaille) & " Octets"
Case Is < 1048576
Return Round(LaTaille / 2^10, 3) & " Ko"
Case Is < 1073741824
Return Round(LaTaille / 2^20, 3) & " Mo"
Case else
Return Round(LaTaille / 2^30, 3) & " Go"
End Select
End Function
Messages postés
86
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2016
2
Salut,
Il vaut mieux utiliser "Prm_L_Num As Currency" cela évite les dépacement de capcité.
Cette fonction est bien pratique, Bravo.
oai !!!!!!!!!!!!!!!!!!!!
ca c'est du bon code !!!!
J'vais prendre sa pour winsock
Réponse à ceyquem => Ouhais, c'est clair, mais bon, ca fonctionne bien quand même, nan ? ;)
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.