CONVERTIR DES OCTETS EN KO,MO, GO ET TO

SATANdemon Messages postés 44 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 30 novembre 2005 - 26 janv. 2003 à 11:41
OverDarck Messages postés 116 Date d'inscription jeudi 12 juillet 2001 Statut Membre Dernière intervention 23 juin 2005 - 26 févr. 2003 à 13:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5786-convertir-des-octets-en-ko-mo-go-et-to

OverDarck Messages postés 116 Date d'inscription jeudi 12 juillet 2001 Statut Membre Dernière intervention 23 juin 2005
26 févr. 2003 à 13:50
ba tu fait
OctetsToKoMoGo(Mataile*1024)
en multipliant par 1024 sa te donne la taille en octect (a partir de celle en ko) et en l'envoyant dans le module sa la convertie a l'unitée superieur si necesaire, donc si ta taile est superieure a 1024ko.
keeper6 Messages postés 7 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 6 septembre 2006
26 févr. 2003 à 00:57
Vraiment pas mal Je Prefere Celui Avec CASE deja parcequ'il Fonctionne sous .NET
Mais Une Question Comment On Fait Quand Le System Revoit deja En KB
merçi
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
31 janv. 2003 à 22:30
pour debutant...
cs_piwee Messages postés 34 Date d'inscription lundi 10 juin 2002 Statut Membre Dernière intervention 20 octobre 2009
28 janv. 2003 à 09:42
il y a plus simple en utilisant une API :

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

Private Function FormatKB(ByVal Amount As Long) As String
'formatte un nombre en KB, MB, ...
Dim buffer As String
Dim result As String

buffer = Space$(255)
result = StrFormatByteSize(Amount, buffer, Len(buffer))
If InStr(result, vbNullChar) > 1 Then
FormatKB = Left$(result, InStr(result, vbNullChar) - 1)
End If
End Function


exemple :
FormatKB 150000
donne "146 KB"
OverDarck Messages postés 116 Date d'inscription jeudi 12 juillet 2001 Statut Membre Dernière intervention 23 juin 2005
26 janv. 2003 à 22:26
ouai bof on sen fo c le resultat qui compte de plus je pence pas qu'une des deux methode soit plus rapide que l'autre et perso je prefere les puissance (ya juste qu'a incrémenter) plutot que les chiffre.
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
26 janv. 2003 à 14:11
en fait le melange de vos deux sources serait la meilleur solution :
Les cases sont mieux , mais les puissance sont preferable aux chiffres .....
SATANdemon Messages postés 44 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 30 novembre 2005
26 janv. 2003 à 11:41
j'en avais fait un aussi, voila ce que donne le mien (perso je prefere les CASE, beaucoup plus lisible) :

Public Function ByteConversion(NumberOfBytes As Double) As String

Select Case NumberOfBytes
Case 0 To 1023
ByteConversion = NumberOfBytes & " Oct"
Case 1024 To 1048575
ByteConversion = Format(NumberOfBytes / 1024, "0.00") & " Ko"
Case 1048576 To 1073741823
ByteConversion = Format(NumberOfBytes / 1048576, "##0.00") & " Mo"
Case 1073741824 To 1099511627775#
ByteConversion = Format(NumberOfBytes / 1073741824, "###,##0.00") & " Go"
Case Is > 1099511627776#
ByteConversion = Format(NumberOfBytes / 1099511627776#, "###,##0.00") & " To"
End Select

End Function
Rejoignez-nous