Ouvrir un fichier en mode binaire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 106 fois - Téléchargée 35 fois

Contenu du snippet

Ce programme ouvre un fichier en mode binaire , pratique

Source / Exemple :


Sub Commande1_Click ()
ChDrive "c:"
ChDir ("\")
aze = "autoexec.bat"
If Not oui_ou_non(aze) Then
MsgBox "Fichier autoxec.bat introuvable sur c:"
Else
ecriture
End If
End Sub

Sub Commande2_Click ()
End
End Sub

Sub ecriture ()
On Error GoTo erreur00
ChDrive "c:\"
ChDir "\"
Open "c:\autoexec.bat" For Binary As #1
Dim x As String * 1, z As String * 1
Dim w As String, mot As String, chaine1 As String, chaine2 As String
For I% = 1 To LOF(1)
Seek 1, I%
Get #1, , x
w = w + x
Next I%
texte1.Text = w
For I% = 1 To Len(w)
chaine1 = Mid$(w, I%, 7)
Select Case chaine1
Case "keyb fr":
mot = "keyb us"
I% = I% + 6
Case "keyb us":
mot = "keyb fr"
I% = I% + 6
Case Else:
mot = Left$(chaine1, 1)
End Select
chaine2 = chaine2 & mot
Next I%
texte2.Text = chaine2
For I% = 1 To LOF(1)
Seek 1, I%
z = Mid$(chaine2, I%, 1)
Put #1, , z
Next I%
Close #1
Exit Sub
erreur00:
Close #1
Exit Sub
End Sub

Function oui_ou_non (ByVal aze As String) As Integer
Dim h As Integer
On Error Resume Next
h = Len(Dir$(aze))
If Err Or h = 0 Then
oui_ou_non = False
Else
oui_ou_non = True
End If
End Function

Conclusion :


Mon but n'est pas de mettre plein de source mais j'en ai tellement que je les place ici !

A voir également

Ajouter un commentaire

Commentaires

Messages postés
123
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
5 juin 2007

comment recuperer une decimal à virgule ?
admettons qu'on cherche 17,67 ?
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

Je vais être assez méchant, mais c'est des bons conseils
1 - Commente ta source, une source non commentée est inutile
2 - Déclare tes variables explicitement (Dim truc as Type), evite les I% qui correspondent aux vieux basic et méritent d'être oubliés.
3 - Donne des noms explicites à tes variables (pour qu'on sache à quoi elle servent)
4 - Fait des procédures génériques qui prennent des arguments
5 - choisi mieux tes types de retour (boolean <> integer)

Pour lire un fichier en une fois il faut faire :
Dim ReadFile(filename as string) as string
Dim Buffer as String
Dim File as Integer : File = FreeFile 'cas où d'autres fichiers seraient ouvert
Buffer = Space$(Filelen(filename)) 'on dimensionne le buffer à la taille du fichier à lire
Open filename For Binary as #File
Get #File,, Buffer 'on récupère tout
Close #File
ReadFile = Buffer
End sub

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.