Arrêter une boucle Do ...Loop

hacker591 Messages postés 34 Date d'inscription mardi 10 juin 2014 Statut Membre Dernière intervention 26 janvier 2022 - Modifié par ucfoutu le 24/11/2015 à 19:31
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 26 nov. 2015 à 07:18
Bonjour,
voici en image mon fichier hxd :


Voici mon code de lecture :
Private Sub inventaire(ByVal FilePath As String)
        Try
            ToolStripStatusLabel1.Text = "Lecture Du Fichiers..."
            ListView1.Items.Clear()
            Dim stream As New FileStream(Me.FilePath, FileMode.Open, FileAccess.Read)
            Dim reader As New BinaryReader(stream)
            reader.BaseStream.Position = &H1C460
            Do
                Dim valeur As String = Convert.ToInt32(BitConverter.ToString(reader.ReadBytes(4), 0, 4).Replace("-", ""))
                reader.BaseStream.Position += 3
                Dim inventaire As String = Encoding.ASCII.GetString(reader.ReadBytes(6)).Replace("-", "")
                If inventaire = "00000000000000000100000000" Then Exit Do
                reader.BaseStream.Position += 5
                Dim lvi As New ListViewItem(inventaire)
                lvi.SubItems.AddRange(New String() {valeur})
                ListView1.Items.Add(lvi)
            Loop
            reader.Close()
            stream.Close()
        Catch exception1 As Exception
            ProjectData.SetProjectError(exception1)
            Dim exception As Exception = exception1
            Me.ToolStripStatusLabel1.Text = "Erreur Lecture..."
            ProjectData.ClearProjectError()
        End Try
    End Sub


voici en image ce que ça me donne :


Mon problème c'est comment arrêter afficher les valeurs dans le carrer rouge?
Pouvez-vous m'aider a résoudre ce petit problème?
Merci d'avance.

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 nov. 2015 à 19:05
Bonjour,
Ta question serait-elle finalement : comment arrêter une boucle Do ... Loop dans certaines conditions ?
0
Bonsoir,

comment on fait Pour arrêter une boucle do ... loop?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 nov. 2015 à 19:12
Do [WHILE|UNTIL Condition]
Loop [WHILE|UNTIL Condition]
Tu mets une condition sur le DO ou le Loop (pas sur les 2 dans la même boucle) et ça sort quand la condition n'est plus satisfaite.

Mets ton curseur sur le Do ou le Loop et appuie sur F1.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 24/11/2015 à 19:31
https://msdn.microsoft.com/fr-fr/library/eked04a7.aspx
(Et titre de discussion modifié).
0
Bonjour,
j'ai résolu mon problème de lecture.

voici mon code :
Private Function ArrayReverse(buffer As Byte()) As Byte()
        Array.Reverse(buffer)
        Return buffer
    End Function
Private Sub Writinventaire(ByVal FilePath As String)
        Try
            ToolStripStatusLabel1.Text = "Enregistrement en cours..."
            Dim stream As New FileStream(Me.FilePath, FileMode.Open, FileAccess.ReadWrite)
            Dim writer As New BinaryWriter(stream)
            writer.BaseStream.Position = &H1C472
            For I As Integer = 0 To ListView1.Items.Count - 1 'remplacer par For Each Item As ListViewItem In ListView1.Items
                Dim bytes As Byte() = Me.ArrayReverse(BitConverter.GetBytes(CInt(Me.ListView1.Items.Item(I).SubItems(1).Text))) 'remplacer par ListView1.Items(Item.Index).SubItems(1).Text
                writer.Write(bytes, 0, 4)
                writer.BaseStream.Position += 14
            Next
            stream.Close()
            writer.Close()
            ToolStripStatusLabel1.Text = "Enregistrement terminer..."
        Catch exception1 As Exception
            ProjectData.SetProjectError(exception1)
            Dim exception As Exception = exception1
            Me.ToolStripStatusLabel1.Text = "Erreur enregistrement..."
            ProjectData.ClearProjectError()
        End Try
    End Sub


Mon problème : l'enregistrement fonctionne bien mais ,j 'ai toujours ce message "Erreur enregistrement...".
Pourquoi ce message afficher car l'enregistrement fonctionne?
pouvez-me dire pourquoi m'affiche "Erreur enregistrement...."?
Merci de votre compréhension.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 26/11/2015 à 07:20
Quel est le rapport avec l'objet de l'ouverture de cette discussion, qui était l'arrêt d'une boucle ?????
Le fait que le point commun est l'application sur laquelle tu travailles ne justifie pas une telle "mise dans le même sac" et n'est pas le point commun avec l'arrêt d'une boucle.

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Rejoignez-nous