cs_didine13
Messages postés96Date d'inscriptionmardi 18 août 2009StatutMembreDernière intervention14 août 2013 23 juil. 2010 à 22:16
Bonjour,
Merci pour cette source super rapide
steve077
Messages postés6Date d'inscriptionvendredi 29 décembre 2006StatutMembreDernière intervention29 juin 2008 23 juin 2008 à 18:04
Merci a toi
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 9 avril 2008 à 06:48
comme BruNews le disais:
Private Const LB_FINDSTRINGEXACT As Long = &H1A2
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Sub RemoveDuplicates(ByRef voListbox As VB.ListBox)
Dim i As Long
Dim nFind As Long
Dim sItem As String
If Not Nothing Is voListbox Then
If voListbox.ListCount Then
sItem = voListbox.List(0)
Do While i < voListbox.ListCount
nFind = SendMessage(voListbox.hwnd, LB_FINDSTRINGEXACT, i, ByVal sItem)
If nFind > i Then
voListbox.RemoveItem nFind
Else
i = i + 1
sItem = voListbox.List(i)
End If
Loop
End If
End If
End Sub
kelm_by
Messages postés296Date d'inscriptionmardi 9 janvier 2007StatutMembreDernière intervention21 novembre 2008 8 avril 2008 à 23:28
Private Function supdoubl(x As ListBox)
For y = 0 To x.ListCount - 1
For z = y + 1 To x.ListCount - 1
If x.List(y) = x.List(z) Then x.RemoveItem (z)
Next z
Next y
end function
DiJiTooL
Messages postés78Date d'inscriptionsamedi 4 août 2001StatutMembreDernière intervention29 mars 2007 30 sept. 2007 à 19:16
lol j'était trop jeune alors =) hihi
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 30 sept. 2007 à 10:41
2003 ? .Net était sortit, en 2003 :p (me semble)
DiJiTooL
Messages postés78Date d'inscriptionsamedi 4 août 2001StatutMembreDernière intervention29 mars 2007 29 sept. 2007 à 10:11
Si tu regarde la date tu comprendra peut être pourquoi c'est pas du .Net ....
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 sept. 2007 à 08:51
j'ai allumé mon VS2005, j'ai code un truc, je m'apercois que tu ne fais pas du .NET, c'est pas possible !!
Private Sub AddUniqueItem(ByRef vsItem As String, ByRef voDest As ListBox)
If Not voDest.Items.Contains(vsItem) Then
voDest.Items.Add(vsItem)
End If
End Sub
y'a deja tout ce qu'il faut pour tester la présence d'un Item ...
ZLASSI
Messages postés5Date d'inscriptionmercredi 16 mai 2007StatutMembreDernière intervention 9 octobre 2008 28 sept. 2007 à 07:46
Bonjour à tous,
Je veux contrôler les éléments qui je vais passer dans ma listbox: ce contrôle va éviter les doublons
> voila ce que j'ai écrit mais j'ai pas réussit :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim LV As New ListViewItem
Dim I As Integer
For I = 0 To ListBox1.Items.Count - 1
If Label1.Text = ListBox1.Items.Item(I) Then
MsgBox("Existe", MsgBoxStyle.Critical, "test")
Else
ListBox1.Items.Add(TextBox1.Text)
End If
Next
End Sub
cs_pico57
Messages postés4Date d'inscriptionjeudi 17 mars 2005StatutMembreDernière intervention27 août 20091 19 mai 2007 à 17:01
j'ai pas mal utilisé cette fonction, mais si il y a beaucoup d'enregistrement, je vous conseille de stocker les lignes dans un tableau, de trier ce tableau afin que les doublonc se suivent, et ensuite, on prend une ligne après l'autre et si elle est différente de la ligne précédente, alors on ajoute la ligne en question.
exemple :
Array.Sort(tabel)
cb1.Items.Add(tabel(0))
For compteur = 1 To tabel.Length - 1
If tabel(compteur) <> tabel(compteur - 1) Then
cb1.Items.Add(tabel(compteur))
End If
Next
vala
cs_pico57
Messages postés4Date d'inscriptionjeudi 17 mars 2005StatutMembreDernière intervention27 août 20091 14 avril 2007 à 10:53
Cool ce code, merci
Ricky65
Messages postés1Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention 1 mars 2007 1 mars 2007 à 14:28
Merci pour ce code qui correspond tout a fait à ce que je recherchais !
cs_salazar
Messages postés241Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention19 février 20062 3 févr. 2005 à 15:10
Comment gères tu les éventuelles fautes d'orthographe ?
Si le mot que tu cherches existe avec une syntaxe différente, que fais tu ?
exemple :
mot existant = l'été indien
mot recherché = été indien
mot recherché = L'été indien
mot recherché = étés indiens...
Comment réagit ton programme ? En dehors du fait que si ta liste contient 10.000 items la recherche n'est pas finie...
Connais tu les API ? Comme le dit BruNews, l'API est sendMessage() et la constante pourrait etre LB_FINDSTRINGEXACT ou LB_FINDSTRING...
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 13 nov. 2003 à 13:09
Salut
Cette source est interessante, elle va m'etre utile :-) Merci !
Sinon BruNews, ton API, tu es sur que sa n'est pas du CPP ? j'ai fait une recherche et je suis tombé sur plein de sites de CCP mais pas de VB (g pas fait tte la liste aussi)
DiJiTooL
Messages postés78Date d'inscriptionsamedi 4 août 2001StatutMembreDernière intervention29 mars 2007 24 juil. 2003 à 03:38
brunews exprime toi lol
cs_max12
Messages postés1491Date d'inscriptiondimanche 19 novembre 2000StatutModérateurDernière intervention 7 juillet 2014 24 juil. 2003 à 01:40
Faudrais que tu donne la valeur
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 24 juil. 2003 à 00:14
API SendMessage avec LB_FINDSTRINGEXACT sera au moins 10 fois + rapide.
23 juil. 2010 à 22:16
Merci pour cette source super rapide
23 juin 2008 à 18:04
9 avril 2008 à 06:48
Private Const LB_FINDSTRINGEXACT As Long = &H1A2
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Sub RemoveDuplicates(ByRef voListbox As VB.ListBox)
Dim i As Long
Dim nFind As Long
Dim sItem As String
If Not Nothing Is voListbox Then
If voListbox.ListCount Then
sItem = voListbox.List(0)
Do While i < voListbox.ListCount
nFind = SendMessage(voListbox.hwnd, LB_FINDSTRINGEXACT, i, ByVal sItem)
If nFind > i Then
voListbox.RemoveItem nFind
Else
i = i + 1
sItem = voListbox.List(i)
End If
Loop
End If
End If
End Sub
8 avril 2008 à 23:28
For y = 0 To x.ListCount - 1
For z = y + 1 To x.ListCount - 1
If x.List(y) = x.List(z) Then x.RemoveItem (z)
Next z
Next y
end function
30 sept. 2007 à 19:16
30 sept. 2007 à 10:41
29 sept. 2007 à 10:11
28 sept. 2007 à 08:51
Private Sub AddUniqueItem(ByRef vsItem As String, ByRef voDest As ListBox)
If Not voDest.Items.Contains(vsItem) Then
voDest.Items.Add(vsItem)
End If
End Sub
y'a deja tout ce qu'il faut pour tester la présence d'un Item ...
28 sept. 2007 à 07:46
Je veux contrôler les éléments qui je vais passer dans ma listbox: ce contrôle va éviter les doublons
> voila ce que j'ai écrit mais j'ai pas réussit :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim LV As New ListViewItem
Dim I As Integer
For I = 0 To ListBox1.Items.Count - 1
If Label1.Text = ListBox1.Items.Item(I) Then
MsgBox("Existe", MsgBoxStyle.Critical, "test")
Else
ListBox1.Items.Add(TextBox1.Text)
End If
Next
End Sub
19 mai 2007 à 17:01
exemple :
Array.Sort(tabel)
cb1.Items.Add(tabel(0))
For compteur = 1 To tabel.Length - 1
If tabel(compteur) <> tabel(compteur - 1) Then
cb1.Items.Add(tabel(compteur))
End If
Next
vala
14 avril 2007 à 10:53
1 mars 2007 à 14:28
3 févr. 2005 à 15:10
Si le mot que tu cherches existe avec une syntaxe différente, que fais tu ?
exemple :
mot existant = l'été indien
mot recherché = été indien
mot recherché = L'été indien
mot recherché = étés indiens...
Comment réagit ton programme ? En dehors du fait que si ta liste contient 10.000 items la recherche n'est pas finie...
Connais tu les API ? Comme le dit BruNews, l'API est sendMessage() et la constante pourrait etre LB_FINDSTRINGEXACT ou LB_FINDSTRING...
13 nov. 2003 à 13:09
Cette source est interessante, elle va m'etre utile :-) Merci !
Sinon BruNews, ton API, tu es sur que sa n'est pas du CPP ? j'ai fait une recherche et je suis tombé sur plein de sites de CCP mais pas de VB (g pas fait tte la liste aussi)
24 juil. 2003 à 03:38
24 juil. 2003 à 01:40
24 juil. 2003 à 00:14