Api :convertir des octets en ko,mo,go en fonction de la valeur

Soyez le premier à donner votre avis sur cette source.

Snippet vu 48 188 fois - Téléchargée 37 fois

Contenu du snippet

A l'aide de l'api win32 StrFormatByteSize, il est possible de convertir des valeur exprimer en octés en kilo mega et gega octes, en fonction de la valeur.Exemple , 1024 -> 1,00 ko,9565656->9.12Mo.

Source / Exemple :


Private Declare Function StrFormatByteSize Lib "shlwapi" Alias "StrFormatByteSizeA" (ByVal dw As Long, ByVal pszBuf As String, ByVal cchBuf As Long) As Long

Private Sub form_load()
Dim mem As String
Dim lenmem As Long
Const valeur_en_octes As Single = 9565656 'changez la valeur ici
    mem = Space$(32)'creer un buffer
    lenmem = Len(mem)
   
   If StrFormatByteSize(valeur_en_octes, mem, lenmem) <> 0 Then
                     
     MsgBox Trim$(mem)
   
   End If
   

End Sub

A voir également

Ajouter un commentaire

Commentaires

thel0rd
Messages postés
14
Date d'inscription
lundi 16 février 2004
Statut
Membre
Dernière intervention
20 janvier 2012

cool je connaissais pas du tout cette API, thx j'en ai besoin en plus. merci encore a toi
cs_FAS
Messages postés
88
Date d'inscription
vendredi 26 avril 2002
Statut
Membre
Dernière intervention
24 février 2006

MadM@tt >> C'est 1024, parce que ça s'approche du 1000 du système de notation scientifique standard : théoriquement, on devrait pas dire un kilo-octet pour 1024 octet mais un "kibi-octet". Un kilo-octet valant 1000 octets. Dans la pratique, à part pour les fabricants de disque dur qui peuvent comme ça indiquer des valeurs qui semblent supérieures à ce qu'elles sont en vrai, personne n'utilise la notation "kibi", et tout le monde dit "kilo" pour 1024, même si c'est un peu différent.

Mais tout cela était bien expliqué dans la page donnée par Maksime.
MadM@tt
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

lol non c'est toujours pas ce que je voulais dire ^^ tant pis lol
ScSami
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
19
Windows est un OS et a ce titre il ne décide rien! Mais si ta question est de savoir si Crosoft est pour quelque chose dans le fait qu'on passe des unités à leurs kilos puis leur méga ... je dirais non, évidemment!!! Tu sais, en base dix aussi on peut parler en Kilos ... D'ailleurs, certains commerçants parlent en KE (KiloEuros... anciennement KF). La particularité du 024 est juste du au binaire. Je sais pas ce que ça donnerait en trinaire mais ce ne serait pas non plus "juste" (000) !
MadM@tt
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Maksime > Oui désolé j'ai pas été clair, je sais que c'est 2^10, ce que je voulais savoir c'est pourquoi après tout, ça aurait pu marcher avec 2^7 ou autre, ou meme 436, mais je voulais savoir si c'était windows qui avait décidé ça ?
Ps : le lien que tu m'a passé n'a pas l'air de marcher

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.