Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lire une chaine de caractères dans un fichier binaire ???

3 réponses
Avatar
Raymond
Bonjour à tous,

J'ai besoin de lire une chaîne de caractères dans un fichiers binaire sans
l'ouvrir.
Je connais la position et la longueur de la chaîne dans le fichier.
Quelles sont les commandes que je dois utiliser en Visual Basic pour cela ??
Il y a très longtemps il me semble que l'on utilisais PEEK et POKE pour
faire ce genre de chose !!

Merci à ceux qui auront une petite indication à me fournir,

Bonne journée,
Ray

3 réponses

Avatar
Pascal B.
Bonjour Raymond,

Non, PEEK et POKE ne servaient pas pour les fichiers !
(Mais bien à lire et écrire des données à une adresse mémoire précise.)

Pour les fichiers binaires (non testé):

Dim FileNumber as integer
Dim Buffer as string
Dim FileName as string
Dim TextLength as integer
Dim CharPos as Long

FileNumber = Freefile
FileName = "d:cheminnomdefichier"
Open FileName For Ninary As FileNumber
TextLength = 32
Buffer = String(" ",TextLength)
CharPos = 128
Get #FileNumber, CharPos, Buffer
'... (suite)
Close FileNumber

Cordialement
Pascal

"Raymond" wrote in message news:O2P$
| Bonjour à tous,
|
| J'ai besoin de lire une chaîne de caractères dans un fichiers binaire sans
| l'ouvrir.
| Je connais la position et la longueur de la chaîne dans le fichier.
| Quelles sont les commandes que je dois utiliser en Visual Basic pour cela ??
| Il y a très longtemps il me semble que l'on utilisais PEEK et POKE pour
| faire ce genre de chose !!
|
| Merci à ceux qui auront une petite indication à me fournir,
|
| Bonne journée,
| Ray
|
|
|
Avatar
Pascal B.
Remplacer: Open FileName For Ninary As FileNumber
Par: Open FileName For Binary As FileNumber


"Pascal B." wrote in message news:
| Bonjour Raymond,
|
| Non, PEEK et POKE ne servaient pas pour les fichiers !
| (Mais bien à lire et écrire des données à une adresse mémoire précise.)
|
| Pour les fichiers binaires (non testé):
|
| Dim FileNumber as integer
| Dim Buffer as string
| Dim FileName as string
| Dim TextLength as integer
| Dim CharPos as Long
|
| FileNumber = Freefile
| FileName = "d:cheminnomdefichier"
| Open FileName For Ninary As FileNumber
| TextLength = 32
| Buffer = String(" ",TextLength)
| CharPos = 128
| Get #FileNumber, CharPos, Buffer
| '... (suite)
| Close FileNumber
|
| Cordialement
| Pascal
|
| "Raymond" wrote in message news:O2P$
| | Bonjour à tous,
| |
| | J'ai besoin de lire une chaîne de caractères dans un fichiers binaire sans
| | l'ouvrir.
| | Je connais la position et la longueur de la chaîne dans le fichier.
| | Quelles sont les commandes que je dois utiliser en Visual Basic pour cela ??
| | Il y a très longtemps il me semble que l'on utilisais PEEK et POKE pour
| | faire ce genre de chose !!
| |
| | Merci à ceux qui auront une petite indication à me fournir,
| |
| | Bonne journée,
| | Ray
| |
| |
| |
|
|
Avatar
Raymond
Merci Pascal !!
C'est exactement ce que je cherchais !!

Ta petite procédure fonctionne bien à une exception :
l'instruction :
Buffer = String(" ",TextLength)
doit s'écrire :
Buffer=(TextLength," ")

Voili, Voilou :-)))

En ce qui concerne les Peek et les Poke, c'est vrai que l'on faisait les
modif directement dans la mémoire !!!
Je me souviens de plantages de toute beauté avec ces deux commandes !
Mais s'était il y a si longtemps, si longtemps .........

Ray




"Pascal B." a écrit dans le message de
news:
Bonjour Raymond,

Non, PEEK et POKE ne servaient pas pour les fichiers !
(Mais bien à lire et écrire des données à une adresse mémoire précise.)

Pour les fichiers binaires (non testé):

Dim FileNumber as integer
Dim Buffer as string
Dim FileName as string
Dim TextLength as integer
Dim CharPos as Long

FileNumber = Freefile
FileName = "d:cheminnomdefichier"
Open FileName For Ninary As FileNumber
TextLength = 32
Buffer = String(" ",TextLength)
CharPos = 128
Get #FileNumber, CharPos, Buffer
'... (suite)
Close FileNumber

Cordialement
Pascal

"Raymond" wrote in message


news:O2P$
| Bonjour à tous,
|
| J'ai besoin de lire une chaîne de caractères dans un fichiers binaire


sans
| l'ouvrir.
| Je connais la position et la longueur de la chaîne dans le fichier.
| Quelles sont les commandes que je dois utiliser en Visual Basic pour


cela ??
| Il y a très longtemps il me semble que l'on utilisais PEEK et POKE pour
| faire ce genre de chose !!
|
| Merci à ceux qui auront une petite indication à me fournir,
|
| Bonne journée,
| Ray
|
|
|