hacker591
Messages postés34Date d'inscriptionmardi 10 juin 2014StatutMembreDernière intervention26 janvier 2022
-
Modifié par hacker591 le 9/09/2014 à 18:04
hacker591
Messages postés34Date d'inscriptionmardi 10 juin 2014StatutMembreDernière intervention26 janvier 2022
-
10 sept. 2014 à 17:52
Bonjour,
voici le code de lecture :
Private Sub ReadFile(FilePath As String)
ListView1.Items.Clear()
Dim input As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.Read)
Dim reader As New BinaryReader(input)
reader.BaseStream.Position = &H10
For i = 0 To 16 <= arrêter de lire quand il y a 16 zéro à la place 16 position du fichier
Dim position As Long = reader.BaseStream.Position
Dim code As String = BitConverter.ToString(reader.ReadBytes(8)).Replace("-", "")
Dim couleur As String = BitConverter.ToString(reader.ReadBytes(2)).Replace("-", "")
reader.BaseStream.Position += 14
Dim lvi As New ListViewItem("&H" & position.ToString("X4"))
lvi.SubItems.AddRange(New String() {code, couleur})
ListView1.Items.Add(lvi)
Next
reader.Close()
input.Close()
End Sub
voici en image mon fichier DATA :
Je voudrais savoir si c'est possible arrêter de lire mon fichier a la fin quand il y a 16 zéro du fichier data?
vb95
Messages postés3467Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention24 mars 2024168 9 sept. 2014 à 18:13
Salut !
Est-ce que cela doit s'arrêter lorsque la valeur du code de la voiture est = à "0000000000000000" ?
Attention code est une chaine de caractères !
un simple
If code = "0000000000000000" then exit for
devrait suffire je pense ! et tu sors de la boucle
vb95
Messages postés3467Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention24 mars 2024168 9 sept. 2014 à 18:20
Il faudrait aussi nous en dire un peu plus sur la structure de ton fichier : quelles sont les données qu'il contient et leurs types de données ainsi que le nombre d'octets de chacun des paramètres
Vous n’avez pas trouvé la réponse que vous recherchez ?
hacker591
Messages postés34Date d'inscriptionmardi 10 juin 2014StatutMembreDernière intervention26 janvier 2022 9 sept. 2014 à 18:41
salut,
quand je lie mon fichier de départ de la position &H10 . il arrêt de lire a la fin quand il y a 16 zéros("0000000000000000") <= comme tu vois la position 1A0 en photo à la place 16 position.
For i = 0 To arrêter de lire quand il y a 16 zéro
Pouvez-vous me comment on écrire avec le code lecture?
vb95
Messages postés3467Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention24 mars 2024168 9 sept. 2014 à 19:03
Salut
les 16 zéros du code de la voiture sont en 1A8 et non 1A0 ! chaque bloc de données fait 24 octets : 8 pour le code de la voiture, 2 pour la couleur et 14 autres qui servent à quoi on ne sait pas !
On a fait une boucle de 0 à 16 pour lire 17 codes voitures et 17 couleurs . et si le fichier contient 20 codes voiture et 20 couleurs !
et si on modifie le code de lecture il faut aussi modifier le code d'écriture !
hacker591
Messages postés34Date d'inscriptionmardi 10 juin 2014StatutMembreDernière intervention26 janvier 2022 10 sept. 2014 à 17:13
Merci ça fonctionne correctement ce que je chercher. une dernière question : je voudrais si c'est possible ne pas afficher dans listview1 les zéros a la fin.