Erreur 458 sur écriture de fichier avec PUT

Résolu
zifnig Messages postés 69 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 4 mars 2013 - 15 déc. 2004 à 16:09
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 - 15 déc. 2004 à 23:00
Bonjour,

Je ne m'en sors pas, voici mon code :

Dim nom_fic As String
Dim taille_fic As Long
Dim bru_var1, bru_var3 As Byte

Private Sub Form_Load()
file1_select.Show 1
nom_fic = file1_select.Dir1 & "" & file1_select.File1

Open nom_fic For Binary As #1
taille_fic = LOF(1)

For i = 1 To taille_fic
Get #1, , bru_var1
var2 = CInt(var1) Xor 85
var3 = CByte(var2)
Put #1, , bru_var3
Next i

Close #1

Unload file1_select
Unload Form1

End Sub

j'obtiens donc l'erreur 458.

Si j'enlève la définition de bru_var3 (Dim bru_var1 As Byte uniquement), pas d'erreur.
De plus le pb est que si la donnée est variable, le PUT écrit 2 octets avant la variable.

Quelqu'un peut m'aider?

Zifnig

2 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
15 déc. 2004 à 19:05
c'est quoi var1, var2, et var3 ?

Dim bru_var1 As Byte

For i = 1 To taille_fic
Get #1,i, bru_var1
Put #1,i, CByte(bru_var1 Xor 85)
Next i

Daniel
3
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
15 déc. 2004 à 23:00
Bonsoir
Quand tu écris :
Dim bru_var1, bru_var3 As Byte

tu déclares
bru_var3 comme octet (byte)
bru_var1 comme variant

Essaie
Dim bru_var1 As Byte, bru_var3 As Byte
'....
bru_var3 = CByte(var2)
'....
0
Rejoignez-nous