IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Arreter et reprendre un FOR [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 29
    Points : 16
    Points
    16
    Par défaut Arreter et reprendre un FOR
    Bonjour,

    Je suis en train de faire une recherche dans une liste de nom (csv) avec des homonymes.
    Je souhaiterais, soit qu'il me propose une liste de tout ce qu'il trouve en fonction de ma demande, soit que je puisse faire "suivant" si ce n'est pas le bon.

    Ex : je tape "TOTO", il me propose "TOTO Eric", "TOTO Jacques", "TOTO Pierre" etc

    Actuellement, il ne me propose que le dernier de la liste.


    Voici mon code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\liste.csv")
                    MyReader.TextFieldType = FileIO.FieldType.Delimited
                    MyReader.SetDelimiters(";")
     
                    Dim currentRow As String()
                    While Not MyReader.EndOfData
                        Try
                            currentRow = MyReader.ReadFields()
                            Dim currentField As String
                            'affiche le resultat
                            For Each currentField In currentRow
     
                                If currentRow(0).Contains(TextBox1.Text) Then
                                    Label8.Text = currentRow(1)
                                    Label9.Text = currentRow(2)
                                    Label10.Text = currentRow(3)
                                    Label11.Text = currentRow(7)
                                    Label12.Text = currentRow(4)
     
                                End If
                            Next
     
                    End While
                End Using
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                                    Label8.Text = currentRow(1)
                                    Label9.Text = currentRow(2)
                                    Label10.Text = currentRow(3)
                                    Label11.Text = currentRow(7)
                                    Label12.Text = currentRow(4)

    A chaque fois que tu trouves une personne, tu écrases tes anciennes données.
    Tu t'en sortirais plus facilement en utilisant par exemple un combobox.

  3. #3
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    Un bout de code à adapter :
    Une classe ToolNext :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Public Class ToolNext(Of T)
     
    	Private _datas As IEnumerable(Of T)
    	Private _index As Integer
     
    	Public Sub New(datas As IEnumerable(Of T))
    		_datas = datas
    		_index = 0
    	End Sub
     
    	Public Function [Next]() As T
    		If _index < _datas.Count() Then
    			_index += 1
    			Return _datas.ElementAt(_index - 1)
    		Else
    			Return Nothing
    		End If
    	End Function
    End Class
    Et dans le formulaire windows :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Public Partial Class Form1
    	Inherits Form
     
    	Private _tool As ToolNext(Of String)
     
    	Public Sub New()
    		InitializeComponent()
    		_tool = New ToolNext(Of String)(New String() {"val 1", "val 2", "val 3"})
    	End Sub
     
    	Private Sub ButtonNext_Click(sender As Object, e As EventArgs)
    		Dim suivant As String = _tool.[Next]()
    		If Not String.IsNullOrEmpty(suivant) Then
    			TextBox1.Text = suivant
    		End If
    	End Sub
    End Class

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    Merci, du coups,
    j'ai tout mis dans un listbox avec un ListBox1.Items.Add(xxxx) a chaque boucle.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Arreter et reprendre une suite d'animations
    Par s4mk1ng dans le forum jQuery
    Réponses: 1
    Dernier message: 07/05/2011, 11h42
  2. VB6 Arret boucle FOR NEXT par appui sur un bouton
    Par obel38 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 04/01/2011, 16h35
  3. [XL-2003] boucle For avec multiple conditions d'arret
    Par yvespi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/05/2010, 09h30
  4. Boucle FOR qui arrete le script
    Par yves_fuji dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 16/04/2008, 14h06
  5. Boucle : arreter et reprendre
    Par K.othmane dans le forum Langage
    Réponses: 5
    Dernier message: 30/12/2005, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo