OverDarck
Messages postés116Date d'inscriptionjeudi 12 juillet 2001StatutMembreDernière intervention23 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és7Date d'inscriptionmercredi 11 octobre 2000StatutMembreDerniè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és2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 31 janv. 2003 à 22:30
pour debutant...
cs_piwee
Messages postés34Date d'inscriptionlundi 10 juin 2002StatutMembreDernière intervention20 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és116Date d'inscriptionjeudi 12 juillet 2001StatutMembreDernière intervention23 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és2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 200723 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és44Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention30 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
26 févr. 2003 à 13:50
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.
26 févr. 2003 à 00:57
Mais Une Question Comment On Fait Quand Le System Revoit deja En KB
merçi
31 janv. 2003 à 22:30
28 janv. 2003 à 09:42
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"
26 janv. 2003 à 22:26
26 janv. 2003 à 14:11
Les cases sont mieux , mais les puissance sont preferable aux chiffres .....
26 janv. 2003 à 11:41
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