Galactus13
Messages postés335Date d'inscriptionlundi 29 septembre 2008StatutMembreDernière intervention16 août 20231 18 oct. 2009 à 18:51
-1 ou +1 ou rien ?
Que La bataille commence ! :)
ssauvage
Messages postés47Date d'inscriptionvendredi 28 février 2003StatutMembreDernière intervention 9 octobre 2012 29 juil. 2008 à 12:17
Pour répondre à "sourismerdique":
Ubound retourne la borne supérieure du tableau (et non sa taille).
Il ne faut donc pas mettre le "-1" ...
scoubidou944
Messages postés714Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention19 janvier 2017 19 juin 2006 à 14:27
ca compile pas..... il manque des déclarations de variables & cie :(
sourismerdique
Messages postés19Date d'inscriptiondimanche 4 décembre 2005StatutMembreDernière intervention21 janvier 2010 23 mars 2006 à 16:45
Attention petite erreur a la fonction bytetohex()
Public Function bytetohex(buffer() As Byte) As String
bytetohex = vbNullString
For I = 0 To UBound(buffer) - 1 'Il faut ajouter le - 1 sinon la fonct ajoute un
'zero en fin de chaine!
bytetohex = bytetohex & Hex(buffer(I))
Next I
End Function
Merci pour le coup de main, joli resumé de fonctions! a+
cs_zifnig
Messages postés16Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention28 mai 2007 24 déc. 2004 à 14:48
Pour une conversion octet par octet, une méthode permet d'optimiser la conversion (utile pour de gros volumes) :
retaks666
Messages postés286Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention16 juillet 2007 23 déc. 2004 à 12:57
Merci, bon a savoir aussi ;)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 23 déc. 2004 à 03:03
Salut retaks666
Oui, c'est la solution la plus évidente.
Une autre méthode, beaucoup plus rapide lorsque les quantités de données sont importantes, est la siuvante. Elle utilise une API qui permet de faire une copie de l'emplacement mémoire d'une variable vers l'emplacement de la seconde variable.
Il faut donc (et obligatoirement) que les variables soient dimensionnées avant d'être utilisées.
- Dans la partie déclaration de ta form ou ton module :
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
pDst As Any, _
pSrc As Any, _
ByVal ByteLen As Long)
- La fonction de convertion String to Bytes :
Public Function maStringToBytes(ByVal sSource As String, _
ByRef bTablo() As Byte)
Dim r As Long, sDesti() As Byte
r = Len(sSource) ' Longueur des données
CopyMemory ByVal sDesti, ByVal sSource, r ' Transfert
bTablo = sDesti ' Renvoi l'info
End Function
- La fonction de convertion Bytes to String :
Public Function maBytesToString(ByRef bTablo() As Byte) As String
Dim r As Long, sDesti As String
r = UBound(bTablo) - LBound(bTablo) ' Longueur des données
CopyMemory ByVal sDesti, ByVal bTablo, r ' Transfert
maBytesToString = sDesti ' Renvoi l'info
End Function
18 oct. 2009 à 18:51
Que La bataille commence ! :)
29 juil. 2008 à 12:17
Ubound retourne la borne supérieure du tableau (et non sa taille).
Il ne faut donc pas mettre le "-1" ...
19 juin 2006 à 14:27
23 mars 2006 à 16:45
Public Function bytetohex(buffer() As Byte) As String
bytetohex = vbNullString
For I = 0 To UBound(buffer) - 1 'Il faut ajouter le - 1 sinon la fonct ajoute un
'zero en fin de chaine!
bytetohex = bytetohex & Hex(buffer(I))
Next I
End Function
Merci pour le coup de main, joli resumé de fonctions! a+
24 déc. 2004 à 14:48
voir mon code sous :
http://www.vbfrance.com/code.aspx?ID=28389
23 déc. 2004 à 12:57
23 déc. 2004 à 03:03
Oui, c'est la solution la plus évidente.
Une autre méthode, beaucoup plus rapide lorsque les quantités de données sont importantes, est la siuvante. Elle utilise une API qui permet de faire une copie de l'emplacement mémoire d'une variable vers l'emplacement de la seconde variable.
Il faut donc (et obligatoirement) que les variables soient dimensionnées avant d'être utilisées.
- Dans la partie déclaration de ta form ou ton module :
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
pDst As Any, _
pSrc As Any, _
ByVal ByteLen As Long)
- La fonction de convertion String to Bytes :
Public Function maStringToBytes(ByVal sSource As String, _
ByRef bTablo() As Byte)
Dim r As Long, sDesti() As Byte
r = Len(sSource) ' Longueur des données
CopyMemory ByVal sDesti, ByVal sSource, r ' Transfert
bTablo = sDesti ' Renvoi l'info
End Function
- La fonction de convertion Bytes to String :
Public Function maBytesToString(ByRef bTablo() As Byte) As String
Dim r As Long, sDesti As String
r = UBound(bTablo) - LBound(bTablo) ' Longueur des données
CopyMemory ByVal sDesti, ByVal bTablo, r ' Transfert
maBytesToString = sDesti ' Renvoi l'info
End Function
Vala