Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 4 nov. 2004 à 13:56
pour Ecrire, on l'écrit tel quel sur 2 octets, elle sera codée de la même façon, signée ou pas signée.
exemple:
si varInt est égal à -1(signé) ou 65535(non signé), on aura dans le fichier binaire --> FFFF
Dim varInt As Integer
varInt = -1
Open monFichier For Binary As #1
Put #1, , varInt
Close #1
pour Lire, on lit en Integer (héhé!), le seul problème c'est d'interpréter le contenu
Dim varLong As Long
Open monFichier For Binary As #1
Get #1, , varInt
Close #1
If varInt < 0 Then varLong varInt + 65536 Else varLong varInt
MsgBox varLong
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 4 nov. 2004 à 21:13
salut
sinon tu lis comme indiqué par Gobillot :
Dim varInt As Integer
Dim varLong As Long
Open monFichier For Binary As #1
Get #1, , varInt
Close #1
'puis une autre méthode de mise en forme non signée
varLong= 0 'au cas où elle serait déjà utilisée ailleurs
copymemory varLong,varInt,2&
et dans la zone déclaration tu mets :
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)