Est-il possible en VB de creer des fichiers binaires ? et d'y acceder en
aleatoire avec une fonction qui permette de se placer a l'octet pret dans le
fichier ?
a priori ni filesystemobject ni open # ne le permette sauf erreur ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ng
Salut,
filesystemobject
haaaaaaaa
ni open #
sisi
Pour les créer : Put ou même Print #k,sCh;...
Pour lire :
Dim k As Integer, bOctet As Byte, tblMoultOctet() As Byte k = FreeFile Open "c:windowsnotepad.exe" For Binary As #k 'recup un octet Get #k, 78, bOctet Debug.Print Hex$(78) & "=" & bOctet 'en recup plusieurs ReDim tblMoultOctet(20) Get #k, 79, tblMoultOctet Close #k For k = 0 To UBound(tblMoultOctet) Debug.Print Hex$(79 + k) & "=" & tblMoultOctet(k) Next
Pour un accès aléatoire, regarde du coté de Open ... For Random As ...
Nicolas. "moi" a écrit dans le message de news: bpitbu$gdc$
Salut,
Est-il possible en VB de creer des fichiers binaires ? et d'y acceder en aleatoire avec une fonction qui permette de se placer a l'octet pret dans
le
fichier ?
a priori ni filesystemobject ni open # ne le permette sauf erreur ?
Merci de vos infos !!!!!
Salut,
filesystemobject
haaaaaaaa
ni open #
sisi
Pour les créer : Put ou même Print #k,sCh;...
Pour lire :
Dim k As Integer, bOctet As Byte, tblMoultOctet() As Byte
k = FreeFile
Open "c:windowsnotepad.exe" For Binary As #k
'recup un octet
Get #k, 78, bOctet
Debug.Print Hex$(78) & "=" & bOctet
'en recup plusieurs
ReDim tblMoultOctet(20)
Get #k, 79, tblMoultOctet
Close #k
For k = 0 To UBound(tblMoultOctet)
Debug.Print Hex$(79 + k) & "=" & tblMoultOctet(k)
Next
Pour un accès aléatoire, regarde du coté de Open ... For Random As ...
Nicolas.
"moi" <t@t.com> a écrit dans le message de news:
bpitbu$gdc$1@news-reader4.wanadoo.fr...
Salut,
Est-il possible en VB de creer des fichiers binaires ? et d'y acceder en
aleatoire avec une fonction qui permette de se placer a l'octet pret dans
le
fichier ?
a priori ni filesystemobject ni open # ne le permette sauf erreur ?
Dim k As Integer, bOctet As Byte, tblMoultOctet() As Byte k = FreeFile Open "c:windowsnotepad.exe" For Binary As #k 'recup un octet Get #k, 78, bOctet Debug.Print Hex$(78) & "=" & bOctet 'en recup plusieurs ReDim tblMoultOctet(20) Get #k, 79, tblMoultOctet Close #k For k = 0 To UBound(tblMoultOctet) Debug.Print Hex$(79 + k) & "=" & tblMoultOctet(k) Next
Pour un accès aléatoire, regarde du coté de Open ... For Random As ...
Nicolas. "moi" a écrit dans le message de news: bpitbu$gdc$
Salut,
Est-il possible en VB de creer des fichiers binaires ? et d'y acceder en aleatoire avec une fonction qui permette de se placer a l'octet pret dans
le
fichier ?
a priori ni filesystemobject ni open # ne le permette sauf erreur ?
Merci de vos infos !!!!!
Zoury
Salut toi! :O)
Est-il possible en VB de creer des fichiers binaires ? et d'y acceder en aleatoire avec une fonction qui permette de se placer a l'octet pret dans
le
fichier ?
oui.
a priori ni filesystemobject ni open # ne le permette sauf erreur ?
Le FileSystemObject ne le permet pas. (tu ne devrais pas te servir de cet "outil" dans un environnement autre que le script, consulte le lien suivant pour plus de détail : http://faq.vb.free.fr/index.php?question6)
La syntaxe Open quant à elle permet la gestion des fichiers binaires.
Voici un exemple qui créer un fichier et qui le relit à partir du 2 ième octet sur une longueur de 3. '*** ' Module1 Option Explicit
Private Sub Main()
' on créer le fichier Call EcrireFichier("c:test.txt", "1234567890")
' on relit les octets 2, 3 et 4 du fichier Debug.Print LireFichier("c:test.txt", 2, 3)
End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sContenu As String)
Dim hFile As Long
hFile = FreeFile Open sFichier For Binary As #hFile Put #hFile, , sContenu Close #hFile
End Sub
Private Function LireFichier _ ( _ ByRef sFichier As String, _ Optional ByRef lDebut As Long = 1, _ Optional ByRef lLongueur As Long = -1 _ ) As String
Dim hFile As Long Dim s As String
hFile = FreeFile Open sFichier For Binary As #hFile
If (lLongueur = -1) Then lLongueur = LOF(hFile) If (lDebut >= 0 And _ lLongueur >= 0 And _ Not lDebut + lLongueur - 1 > LOF(hFile)) Then s = String$(lLongueur, Chr$(0)) Get #hFile, lDebut, s End If
Close #hFile
LireFichier = s
End Function '***
Note que tu peux utiliser le même fonctionnement avec un tableau d'octet au lieu d'une chaine.
Merci de poster les réponses au groupe afin d'en faire profiter à tous
Salut toi! :O)
Est-il possible en VB de creer des fichiers binaires ? et d'y acceder en
aleatoire avec une fonction qui permette de se placer a l'octet pret dans
le
fichier ?
oui.
a priori ni filesystemobject ni open # ne le permette sauf erreur ?
Le FileSystemObject ne le permet pas. (tu ne devrais pas te servir de cet
"outil" dans un environnement autre que le script, consulte le lien suivant
pour plus de détail : http://faq.vb.free.fr/index.php?question6)
La syntaxe Open quant à elle permet la gestion des fichiers binaires.
Voici un exemple qui créer un fichier et qui le relit à partir du 2 ième
octet sur une longueur de 3.
'***
' Module1
Option Explicit
Private Sub Main()
' on créer le fichier
Call EcrireFichier("c:test.txt", "1234567890")
' on relit les octets 2, 3 et 4 du fichier
Debug.Print LireFichier("c:test.txt", 2, 3)
End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sContenu As
String)
Dim hFile As Long
hFile = FreeFile
Open sFichier For Binary As #hFile
Put #hFile, , sContenu
Close #hFile
End Sub
Private Function LireFichier _
( _
ByRef sFichier As String, _
Optional ByRef lDebut As Long = 1, _
Optional ByRef lLongueur As Long = -1 _
) As String
Dim hFile As Long
Dim s As String
hFile = FreeFile
Open sFichier For Binary As #hFile
If (lLongueur = -1) Then lLongueur = LOF(hFile)
If (lDebut >= 0 And _
lLongueur >= 0 And _
Not lDebut + lLongueur - 1 > LOF(hFile)) Then
s = String$(lLongueur, Chr$(0))
Get #hFile, lDebut, s
End If
Close #hFile
LireFichier = s
End Function
'***
Note que tu peux utiliser le même fonctionnement avec un tableau d'octet au
lieu d'une chaine.
Est-il possible en VB de creer des fichiers binaires ? et d'y acceder en aleatoire avec une fonction qui permette de se placer a l'octet pret dans
le
fichier ?
oui.
a priori ni filesystemobject ni open # ne le permette sauf erreur ?
Le FileSystemObject ne le permet pas. (tu ne devrais pas te servir de cet "outil" dans un environnement autre que le script, consulte le lien suivant pour plus de détail : http://faq.vb.free.fr/index.php?question6)
La syntaxe Open quant à elle permet la gestion des fichiers binaires.
Voici un exemple qui créer un fichier et qui le relit à partir du 2 ième octet sur une longueur de 3. '*** ' Module1 Option Explicit
Private Sub Main()
' on créer le fichier Call EcrireFichier("c:test.txt", "1234567890")
' on relit les octets 2, 3 et 4 du fichier Debug.Print LireFichier("c:test.txt", 2, 3)
End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sContenu As String)
Dim hFile As Long
hFile = FreeFile Open sFichier For Binary As #hFile Put #hFile, , sContenu Close #hFile
End Sub
Private Function LireFichier _ ( _ ByRef sFichier As String, _ Optional ByRef lDebut As Long = 1, _ Optional ByRef lLongueur As Long = -1 _ ) As String
Dim hFile As Long Dim s As String
hFile = FreeFile Open sFichier For Binary As #hFile
If (lLongueur = -1) Then lLongueur = LOF(hFile) If (lDebut >= 0 And _ lLongueur >= 0 And _ Not lDebut + lLongueur - 1 > LOF(hFile)) Then s = String$(lLongueur, Chr$(0)) Get #hFile, lDebut, s End If
Close #hFile
LireFichier = s
End Function '***
Note que tu peux utiliser le même fonctionnement avec un tableau d'octet au lieu d'une chaine.