Je voudrais récupérer des informations d'un fichier binare disposant de
la structure suivante :
320 caractères: en-tête du fichier
8 caractères : chaine de caractères
8 caractères : binaire (inconnu)
30 caractères: binaire (inconnu)
x caractères: chaine de caractères terminée par zéro
Je voudrais avoir votre avis sur la méthode la plus judicieuse pour
lire les informations de ce fichier avec une commande :
OPEN "..." for BINARY
OPEN "..." for RANDOM
Les 320 caractères n'apparaissent qu'une seul fois (en-tête) alors que
les autres reviennent de manière redondante formant ainsi des
enregistrements séparés.
Si quelqu'un peux me donner un coup de main...
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
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
PEx
> Je voudrais récupérer des informations d'un fichier binare disposant de la structure suivante :
320 caractères: en-tête du fichier 8 caractères : chaine de caractères 8 caractères : binaire (inconnu) 30 caractères: binaire (inconnu) x caractères: chaine de caractères terminée par zéro
Je voudrais avoir votre avis sur la méthode la plus judicieuse pour lire les informations de ce fichier avec une commande :
OPEN "..." for BINARY OPEN "..." for RANDOM
Les 320 caractères n'apparaissent qu'une seul fois (en-tête) alors que les autres reviennent de manière redondante formant ainsi des enregistrements séparés.
Salut,
J'ouvrirais le fichier en mode Binary et ne lirais que des tableaux d'octets ou des octets un par un dans le cas de la chaine de caractère terminée par 0. Dans le genre :
Dim iFichier as Integer Dim sFichier As String
Open sFichier For Binary As iFichier
Dim bBuffer() As Byte Redim bBuffer(319) ' 0 à 319 = 320 octets Get iFichier,1, bBuffer() ' Lecture de l'entête
Dim lPosition As Long ' Position dans le fichier Dim bChaine1(7) As Byte ' Chaine de 8 caractères Dim bCaractere As Byte ' 1 Caractère Dim sChaine2 As String
lPosition = 320 While ' ... petite boucle jusqu'a la fin Get iFichier, lPosition, bChaine1() 'Lecture de la première chaine lPosition = lPosition + 46 Get iFichier , lPosition, bCaractere lPosition = lPosition + 1 While bCaractere <> 0 'Lecture de la dernière chaine jusqu'au sChaine2 = sChaine2 & Asc(bCaractere) ' En supposant que les caractères sont codés en ASCII Get iFichier , lPosition, bCaractere lPosition = lPosition + 1 Wend lPosition = lPosition + 1 Wend
------------- PEx.
> Je voudrais récupérer des informations d'un fichier binare disposant de
la structure suivante :
320 caractères: en-tête du fichier
8 caractères : chaine de caractères
8 caractères : binaire (inconnu)
30 caractères: binaire (inconnu)
x caractères: chaine de caractères terminée par zéro
Je voudrais avoir votre avis sur la méthode la plus judicieuse pour
lire les informations de ce fichier avec une commande :
OPEN "..." for BINARY
OPEN "..." for RANDOM
Les 320 caractères n'apparaissent qu'une seul fois (en-tête) alors que
les autres reviennent de manière redondante formant ainsi des
enregistrements séparés.
Salut,
J'ouvrirais le fichier en mode Binary et ne lirais que des tableaux d'octets
ou des octets un par un dans le cas de la chaine de caractère terminée par
0. Dans le genre :
Dim iFichier as Integer
Dim sFichier As String
Open sFichier For Binary As iFichier
Dim bBuffer() As Byte
Redim bBuffer(319) ' 0 à 319 = 320 octets
Get iFichier,1, bBuffer() ' Lecture de l'entête
Dim lPosition As Long ' Position dans le fichier
Dim bChaine1(7) As Byte ' Chaine de 8 caractères
Dim bCaractere As Byte ' 1 Caractère
Dim sChaine2 As String
lPosition = 320
While ' ... petite boucle jusqu'a la fin
Get iFichier, lPosition, bChaine1() 'Lecture de la première chaine
lPosition = lPosition + 46
Get iFichier , lPosition, bCaractere
lPosition = lPosition + 1
While bCaractere <> 0 'Lecture de la dernière chaine
jusqu'au
sChaine2 = sChaine2 & Asc(bCaractere) ' En supposant que les
caractères sont codés en ASCII
Get iFichier , lPosition, bCaractere
lPosition = lPosition + 1
Wend
lPosition = lPosition + 1
Wend
> Je voudrais récupérer des informations d'un fichier binare disposant de la structure suivante :
320 caractères: en-tête du fichier 8 caractères : chaine de caractères 8 caractères : binaire (inconnu) 30 caractères: binaire (inconnu) x caractères: chaine de caractères terminée par zéro
Je voudrais avoir votre avis sur la méthode la plus judicieuse pour lire les informations de ce fichier avec une commande :
OPEN "..." for BINARY OPEN "..." for RANDOM
Les 320 caractères n'apparaissent qu'une seul fois (en-tête) alors que les autres reviennent de manière redondante formant ainsi des enregistrements séparés.
Salut,
J'ouvrirais le fichier en mode Binary et ne lirais que des tableaux d'octets ou des octets un par un dans le cas de la chaine de caractère terminée par 0. Dans le genre :
Dim iFichier as Integer Dim sFichier As String
Open sFichier For Binary As iFichier
Dim bBuffer() As Byte Redim bBuffer(319) ' 0 à 319 = 320 octets Get iFichier,1, bBuffer() ' Lecture de l'entête
Dim lPosition As Long ' Position dans le fichier Dim bChaine1(7) As Byte ' Chaine de 8 caractères Dim bCaractere As Byte ' 1 Caractère Dim sChaine2 As String
lPosition = 320 While ' ... petite boucle jusqu'a la fin Get iFichier, lPosition, bChaine1() 'Lecture de la première chaine lPosition = lPosition + 46 Get iFichier , lPosition, bCaractere lPosition = lPosition + 1 While bCaractere <> 0 'Lecture de la dernière chaine jusqu'au sChaine2 = sChaine2 & Asc(bCaractere) ' En supposant que les caractères sont codés en ASCII Get iFichier , lPosition, bCaractere lPosition = lPosition + 1 Wend lPosition = lPosition + 1 Wend